Posted By: Sniv
Need help, the script is not working - 05/14/20 07:30
Hello everyone. I made a script, but for some reason it does not work. Can someone look at what is happening and fix it. The script itself:
Code
int TrailingStop(int val){ if(TradeProfit > 0 && val==1){ TradeStopLimit = max(TradeStopLimit,LL(10)); plot("Stop",TradeStopLimit,MINV,GREEN); } if(TradeProfit > 0 && val==2){ TradeStopLimit = max(TradeStopLimit,HH(10)); plot("Stop",TradeStopLimit,MINV,RED); } return 0; } function M5(int sig){ TimeFrame = 5; vars H = series(priceHigh()); vars L = series(priceLow()); vars C = series(priceClose()); vars O = series(priceOpen()); MACD(C,21,34,1); vars hist_green = series(rMACDHist); vars ema21 = series(EMA(C,21)); vars ema34 = series(EMA(C,34)); vars ema144 = series(EMA(C,144)); if(ema21>ema34 && ema34>ema144 && C>ema144 && hist_green[0]>0 && sig==1)enterLong(TrailingStop(1)); else if(ema21<ema34 && ema34<ema144 && C<ema144 && hist_green[0]<0 && sig==2)enterShort(TrailingStop(2)); else return 0; } function M1(){ TimeFrame = 1; vars H = series(priceHigh()); vars L = series(priceLow()); vars C = series(priceClose()); vars O = series(priceOpen()); MACD(C,13,21,1); vars hist_red = series(rMACDHist); MACD(C,21,34,1); vars hist_orenge = series(rMACDHist); MACD(C,34,144,1); vars hist_green = series(rMACDHist); vars ema21 = series(EMA(C,21)); vars ema34 = series(EMA(C,34)); vars ema144 = series(EMA(C,144)); vars ema600 = series(EMA(C,600)); if(ema21>ema34 && ema34>ema144 && ema144>ema600 && C>ema600 && hist_orenge[0]>0 && hist_green[0]>0 && crossOver(hist_red,0))M5(1); else if(ema21<ema34 && ema34<ema144 && ema144<ema600 && C<ema600 && hist_orenge[0]<0 && hist_green[0]<0 && crossUnder(hist_red,0))M5(2); else return 0; } void run() { BarPeriod = 1; LookBack = 1200; TradesPerBar = 1; Lots = slider(1,1,1,100,"Lots","Lots per Trade"); Capital = slider(2,100,100,10000,"Capital","Capital for trade"); DataSplit = slider(3,65,5,95,"Procent","Procent for train"); MaxLong = MaxShort = 2; Core = -2; brokerCommand(SET_MAGIC,11111); brokerCommand(SET_ORDERTEXT,"EA order."); StartDate = 20150101; EndDate = 20191220; if(Train) set(TESTNOW+LOGFILE); if(Train)Hedge = 2; if(Train)Spread = random(10)*PIP; if(Train)NumWFOCycles = -5; vars EquityCurve = series(EquityLong+EquityShort); vars EquityLP = series(LowPass(EquityCurve,10)); if(EquityLP[0] < LowPass(EquityLP,100) && falling(EquityLP)) setf(TradeMode,TR_PHANTOM); else resf(TradeMode,TR_PHANTOM); while(asset(loop("EUR/USD","USD/JPY"))) { M1(); } }