Fixed, bad eyes issue, sl1 not sll which on the MT4 font looks identical, well 2 pixels extra on the 1.
SL's stopped getting too close

moved closer as nothing crazy going on.
Code Backup or incase any one wants MT4 Auto SL for scalping.
-----------------------------------------------------------------------------
extern
string Product="Overwatch V10.01 - 4LWMA 0.03% Long 0.04% short";
extern double MinStopLoss=4;
extern double MaxStopLoss=10;
extern double MaxLimit=20;
int start()
{
if(OrdersTotal()>0){
for(int i=1; i<=OrdersTotal(); i++)
{
if (OrderSelect(i-1,SELECT_BY_POS)==true)
{
if((OrderType()==OP_BUY)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())) {
RefreshRates();
double slb=NormalizeDouble(iMA(NULL,0,4,0,MODE_LWMA,PRICE_LOW,1)*0.9997,Digits);
double sla=Bid-slb;
if (sla<MinStopLoss){
slb=NormalizeDouble(Bid-MinStopLoss,Digits);
}
if (sla>MaxStopLoss){
slb=NormalizeDouble(Bid-MaxStopLoss,Digits);
}
double sll=NormalizeDouble(Ask+MaxLimit,Digits);
OrderModify(OrderTicket(),0,slb,sll,0,CLR_NONE);
}
if((OrderType()==OP_SELL)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())) {
RefreshRates();
double sls=NormalizeDouble(iMA(NULL,0,4,0,MODE_LWMA,PRICE_HIGH,1)*1.0004,Digits);
double slc=sls-Ask;
if (slc<MinStopLoss){
sls=NormalizeDouble(Ask+MinStopLoss,Digits);
}
if (slc>MaxStopLoss){
sls=NormalizeDouble(Ask+MaxStopLoss,Digits);
}
double slll=NormalizeDouble(Bid-MaxLimit,Digits);
OrderModify(OrderTicket(),0,sls,slll,0,CLR_NONE);
}
if((OrderType()==OP_BUY)&&(OrderStopLoss()!=0)&&(OrderSymbol()==Symbol())) {
RefreshRates();
double slb2=NormalizeDouble(iMA(NULL,0,4,0,MODE_LWMA,PRICE_LOW,1)*0.9997,Digits);
double sla2=Bid-slb2;
if (sla2<MinStopLoss){
slb2=NormalizeDouble(Bid-MinStopLoss,Digits);
}
sla2=slb2-OrderStopLoss();
if(sla2>1){
OrderModify(OrderTicket(),0,slb2,0,0,CLR_NONE);
}
}
if((OrderType()==OP_SELL)&&(OrderStopLoss()!=0)&&(OrderSymbol()==Symbol())) {
RefreshRates();
double sls2=NormalizeDouble(iMA(NULL,0,4,0,MODE_LWMA,PRICE_HIGH,1)*1.0004,Digits);
double slc2=sls2-Ask;
if (slc2<MinStopLoss){
sls2=NormalizeDouble(Ask+MinStopLoss,Digits);
}
slc2=OrderStopLoss()-sls2;
if(slc2>1){
OrderModify(OrderTicket(),0,sls2,0,0,CLR_NONE);
}
}
}
}
}
int Error=GetLastError();
if(Error==130){Alert("Wrong stops. Retrying."); RefreshRates();}
if(Error==133){Alert("Trading prohibited.");}
if(Error==2){Alert("Common error.");}
if(Error==146){Alert("Trading subsystem is busy. Retrying."); Sleep(500); RefreshRates();}
return(0);
}