//+------------------------------------------------------------------+ //| DT-Elwave.mq4 | //+------------------------------------------------------------------+ int exitBuy,entryBuy,exitSell,entrySell; double exBuy,enBuy,target_b,stop_b,exSell,enSell,target_s,stop_s; //------------------------------------------------------------------------------ //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- ObjectsDeleteAll(); //------------------------- //------------------------- ObjectCreate("ENTRY_Sell1",OBJ_HLINE,0,0,0); ObjectSet("ENTRY_Sell1",OBJPROP_COLOR,Maroon); ObjectSet("ENTRY_Sell1",OBJPROP_WIDTH,2); ObjectCreate("EXIT_Sell1",OBJ_HLINE,0,0,0); ObjectSet("EXIT_Sell1",OBJPROP_COLOR,Maroon); ObjectSet("EXIT_Sell1",OBJPROP_STYLE,STYLE_DASHDOT); ObjectCreate("STOP_Sell1",OBJ_HLINE,0,0,0); ObjectSet("STOP_Sell1",OBJPROP_STYLE,STYLE_DASH); ObjectSet("STOP_Sell1",OBJPROP_COLOR,Maroon); ObjectCreate("TARGET_Sell1",OBJ_HLINE,0,0,0); ObjectSet("TARGET_Sell1",OBJPROP_COLOR,Maroon); ObjectSet("TARGET_Sell1",OBJPROP_STYLE,STYLE_DOT); //---------------- ObjectCreate("ENTRY_Buy1",OBJ_HLINE,0,0,0); ObjectSet("ENTRY_Buy1",OBJPROP_COLOR,BlueViolet); ObjectSet("ENTRY_Buy1",OBJPROP_WIDTH,2); ObjectCreate("EXIT_Buy1",OBJ_HLINE,0,0,0); ObjectSet("EXIT_Buy1",OBJPROP_STYLE,STYLE_DASHDOT); ObjectSet("EXIT_Buy1",OBJPROP_COLOR,BlueViolet); ObjectCreate("STOP_Buy1",OBJ_HLINE,0,0,0); ObjectSet("STOP_Buy1",OBJPROP_STYLE,STYLE_DASH); ObjectSet("STOP_Buy1",OBJPROP_COLOR,BlueViolet); ObjectCreate("TARGET_Buy1",OBJ_HLINE,0,0,0); ObjectSet("TARGET_Buy1",OBJPROP_STYLE,STYLE_DOT); ObjectSet("TARGET_Buy1",OBJPROP_COLOR,BlueViolet); //------------------- //------------------- ObjectCreate("ENTRY_Sell2",OBJ_HLINE,0,0,0); ObjectSet("ENTRY_Sell2",OBJPROP_COLOR,Red); ObjectSet("ENTRY_Sell2",OBJPROP_WIDTH,2); ObjectCreate("EXIT_Sell2",OBJ_HLINE,0,0,0); ObjectSet("EXIT_Sell2",OBJPROP_COLOR,Red); ObjectSet("EXIT_Sell2",OBJPROP_STYLE,STYLE_DASHDOT); ObjectCreate("STOP_Sell2",OBJ_HLINE,0,0,0); ObjectSet("STOP_Sell2",OBJPROP_STYLE,STYLE_DASH); ObjectSet("STOP_Sell2",OBJPROP_COLOR,Red); ObjectCreate("TARGET_Sell2",OBJ_HLINE,0,0,0); ObjectSet("TARGET_Sell2",OBJPROP_COLOR,Red); ObjectSet("TARGET_Sell2",OBJPROP_STYLE,STYLE_DOT); //---------------- ObjectCreate("ENTRY_Buy2",OBJ_HLINE,0,0,0); ObjectSet("ENTRY_Buy2",OBJPROP_COLOR,Blue); ObjectSet("ENTRY_Buy2",OBJPROP_WIDTH,2); ObjectCreate("EXIT_Buy2",OBJ_HLINE,0,0,0); ObjectSet("EXIT_Buy2",OBJPROP_STYLE,STYLE_DASHDOT); ObjectSet("EXIT_Buy2",OBJPROP_COLOR,Blue); ObjectCreate("STOP_Buy2",OBJ_HLINE,0,0,0); ObjectSet("STOP_Buy2",OBJPROP_STYLE,STYLE_DASH); ObjectSet("STOP_Buy2",OBJPROP_COLOR,Blue); ObjectCreate("TARGET_Buy2",OBJ_HLINE,0,0,0); ObjectSet("TARGET_Buy2",OBJPROP_STYLE,STYLE_DOT); ObjectSet("TARGET_Buy2",OBJPROP_COLOR,Blue); //------------------- //------------------- ObjectCreate("ENTRY_Sell3",OBJ_HLINE,0,0,0); ObjectSet("ENTRY_Sell3",OBJPROP_COLOR,Magenta); ObjectCreate("EXIT_Sell3",OBJ_HLINE,0,0,0); ObjectSet("EXIT_Sell3",OBJPROP_COLOR,Magenta); ObjectSet("EXIT_Sell3",OBJPROP_STYLE,STYLE_DASHDOT); ObjectCreate("STOP_Sell3",OBJ_HLINE,0,0,0); ObjectSet("STOP_Sell3",OBJPROP_STYLE,STYLE_DASH); ObjectSet("STOP_Sell3",OBJPROP_COLOR,Magenta); ObjectCreate("TARGET_Sell3",OBJ_HLINE,0,0,0); ObjectSet("TARGET_Sell3",OBJPROP_COLOR,Magenta); ObjectSet("TARGET_Sell3",OBJPROP_STYLE,STYLE_DOT); //--------------------- ObjectCreate("ENTRY_Buy3",OBJ_HLINE,0,0,0); ObjectSet("ENTRY_Buy3",OBJPROP_COLOR,Aqua); ObjectCreate("EXIT_Buy3",OBJ_HLINE,0,0,0); ObjectSet("EXIT_Buy3",OBJPROP_STYLE,STYLE_DASHDOT); ObjectSet("EXIT_Buy3",OBJPROP_COLOR,Aqua); ObjectCreate("STOP_Buy3",OBJ_HLINE,0,0,0); ObjectSet("STOP_Buy3",OBJPROP_STYLE,STYLE_DASH); ObjectSet("STOP_Buy3",OBJPROP_COLOR,Aqua); ObjectCreate("TARGET_Buy3",OBJ_HLINE,0,0,0); ObjectSet("TARGET_Buy3",OBJPROP_STYLE,STYLE_DOT); ObjectSet("TARGET_Buy3",OBJPROP_COLOR,Aqua); //------------------------- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- ObjectsDeleteAll(); //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- int handle; string str; int pos; int exitBuy1, exitSell1, entryBuy1, entrySell1; int exitBuy2, exitSell2, entryBuy2, entrySell2; int exitBuy3, exitSell3, entryBuy3, entrySell3; double exBuy1,enBuy1,exSell1,enSell1,target1_s,stop1_s,target1_b,stop1_b; double exBuy2,enBuy2,exSell2,enSell2,target2_s,stop2_s,stop2_b,target2_b; double exBuy3,enBuy3,exSell3,enSell3,target3_s,stop3_s,target3_b,stop3_b; //---- Контроль открытых позиций ----- int ticket,cnt; bool sell=false, buy=false, sellstop=false, buystop=false, selllimit=false, buylimit=false; string comment; //-------------------------------------------------------------------- //-------------------------------------------------------------------- handle=FileOpen("123.txt",FILE_CSV|FILE_READ); if(handle<1) { Print("Файл не обнаружен, последняя ошибка ", GetLastError()); return(false); } if(handle>0) { enSell1=10000; target1_s=10000; stop1_b=10000; enSell2=10000; target2_s=10000; stop2_b=10000; enSell3=10000; target3_s=10000; stop3_b=10000; for (int i=0; i<10000; i++) { if(FileIsEnding(handle)) break; FileSeek(handle, pos, SEEK_SET); str=FileReadString(handle); //------------------------------------------------ if (StringFind(str, "Cycle", 0)>0) { shreach(str); exitBuy1=exitBuy1+exitBuy; exitSell1=exitSell1+exitSell; entryBuy1=entryBuy1+entryBuy; entrySell1=entrySell1+entrySell; exBuy1=exBuy1+exBuy; exSell1=exSell1+exSell; if (enBuy!=0) enBuy1=MathMax(enBuy1,enBuy); if (target_b!=0) target1_b=MathMax(target1_b,target_b); if (stop_b!=0) stop1_b=MathMin(stop1_b,stop_b); if (enSell!=0) enSell1=MathMin(enSell1,enSell); if (target_s!=0) target1_s=MathMin(target1_s,target_s); if (stop_s!=0) stop1_s=MathMax(stop1_s,stop_s); } //------------------------------------------------ if (StringFind(str, "Primary", 0)>0) //Primary { shreach(str); exitBuy2=exitBuy2+exitBuy; exitSell2=exitSell2+exitSell; entryBuy2=entryBuy2+entryBuy; entrySell2=entrySell2+entrySell; exBuy2=exBuy2+exBuy; exSell2=exSell2+exSell; if (enBuy!=0) enBuy2=MathMax(enBuy2,enBuy); if (target_b!=0) target2_b=MathMax(target2_b,target_b); if (stop_b!=0) stop2_b=MathMin(stop2_b,stop_b); if (enSell!=0) enSell2=MathMin(enSell2,enSell); if (target_s!=0) target2_s=MathMin(target2_s,target_s); if (stop_s!=0) stop2_s=MathMax(stop2_s,stop_s); } //------------------------------------------------ if (StringFind(str, "Intermediate", 0)>0) { shreach(str); exitBuy3=exitBuy3+exitBuy; exitSell3=exitSell3+exitSell; entryBuy3=entryBuy3+entryBuy; entrySell3=entrySell3+entrySell; exBuy3=exBuy3+exBuy; exSell3=exSell3+exSell; if (enBuy!=0) enBuy3=MathMax(enBuy3,enBuy); if (target_b!=0) target3_b=MathMax(target3_b,target_b); if (stop_b!=0) stop3_b=MathMin(stop3_b,stop_b); if (enSell!=0) enSell3=MathMin(enSell3,enSell); if (target_s!=0) target3_s=MathMin(target3_s,target_s); if (stop_s!=0) stop3_s=MathMax(stop3_s,stop_s); } //-------------------------------------------------------------------- pos=FileTell(handle); } } //---------------------------------------------------------------------------------------------- //-------------------------------------------------------- //-------------------------------------------------------- if (entrySell1!=0 /*&& entrySell1>entryBuy1*/) { target1_s=NormalizeDouble(target1_s,4); stop1_s=NormalizeDouble(stop1_s,4); enSell1=NormalizeDouble(enSell1,4); //----------------------------------------------- if (OrdersTotal()>0) { for(cnt=0;cnt5*Point && (stop1_s-enSell1)>14*Point && (enSell1-target1_s)>14*Point ) { OrderModify(OrderTicket(),enSell1,stop1_s,target1_s,CurTime()+14200,Magenta); } } if (OrderType()==OP_SELL && OrderComment()=="Cycle") { if ( MathAbs(OrderStopLoss()-stop1_s)>5*Point && (stop1_s-Ask)>12*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),stop1_s,OrderTakeProfit(),0,Magenta); } if ( MathAbs(OrderTakeProfit()-target1_s)>5*Point && (Bid-target1_s)>12*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),target1_s,0,Magenta); } } } } if (sellstop==false && (Bid-enSell1)>12*Point && (stop1_s-enSell1)>14*Point && (enSell1-target1_s)>14*Point ) { ticket=OrderSend(Symbol(),OP_SELLSTOP,0.1,enSell1,3,stop1_s,target1_s,"Cycle",16384,CurTime()+39200,Magenta); } //----------------------------------------------- } if (exitSell1!=0) exSell1=NormalizeDouble(exSell1/exitSell1,4); //-------------------------------------------------------- if (entryBuy1!=0 /*&& entryBuy1>entrySell1*/) { enBuy1=NormalizeDouble(enBuy1,4); target1_b=NormalizeDouble(target1_b,4); stop1_b=NormalizeDouble(stop1_b,4); //----------------------------------------------- if (OrdersTotal()>0) { for(cnt=0;cnt5*Point && (enBuy1-stop1_b)>14*Point && (target1_b-enBuy1)>14*Point ) { OrderModify(OrderTicket(),enBuy1,stop1_b,target1_b,CurTime()+14200,Aqua); } } if (OrderType()==OP_BUY && OrderComment()=="Cycle") { if ( MathAbs(stop1_b-OrderStopLoss())>5*Point && (Bid-stop1_b)>12*Point ) { OrderModify(OrderTicket(),OrderOpenPrice(),stop1_b,OrderTakeProfit(),0,Aqua); } if ( MathAbs(target1_b-OrderTakeProfit())>5*Point && (target1_b-Ask)>12*Point ) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),target1_b,0,Aqua); } } } } if (buystop==false && (enBuy1-Ask)>12*Point && (enBuy1-stop1_b)>14*Point && (target1_b-enBuy1)>14*Point ) { ticket=OrderSend(Symbol(),OP_BUYSTOP,0.1,enBuy1,3,stop1_b,target1_b,"Cycle",16384,CurTime()+39200,Aqua); } //----------------------------------------------- } if (exitBuy1!=0) exBuy1=NormalizeDouble(exBuy1/exitBuy1,4); sellstop=false; //-------------------------------------------------------- //-------------------------------------------------------- if (entrySell2!=0 /*&& entrySell2>entryBuy2*/) { target2_s=NormalizeDouble(target2_s,4); stop2_s=NormalizeDouble(stop2_s,4); enSell2=NormalizeDouble(enSell2,4); //----------------------------------------------- if (OrdersTotal()>0) { for(cnt=0;cnt5*Point && (stop2_s-enSell2)>14*Point && (enSell2-target2_s)>14*Point ) { OrderModify(OrderTicket(),enSell2,stop2_s,target2_s,CurTime()+14200,Magenta); } } if (OrderType()==OP_SELL && OrderComment()=="Primary") { if ( MathAbs(OrderStopLoss()-stop2_s)>5*Point && (stop2_s-Ask)>12*Point ) { OrderModify(OrderTicket(),OrderOpenPrice(),stop2_s,OrderTakeProfit(),0,Magenta); } if ( MathAbs(OrderTakeProfit()-target2_s)>5*Point && (Bid-target2_s)>12*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),target2_s,0,Magenta); } } } } if (sellstop==false && (Bid-enSell2)>12*Point && (stop2_s-enSell2)>14*Point && (enSell2-target2_s)>14*Point ) { ticket=OrderSend(Symbol(),OP_SELLSTOP,0.1,enSell2,3,stop2_s,target2_s,"Primary",16384,CurTime()+39200,Magenta); } //----------------------------------------------- } if (exitSell2!=0) exSell2=NormalizeDouble(exSell2/exitSell2,4); buystop=false; //-------------------------------------------------------- if (entryBuy2!=0 /*&& entryBuy2>entrySell2*/) { enBuy2=NormalizeDouble(enBuy2,4); target2_b=NormalizeDouble(target2_b,4); stop2_b=NormalizeDouble(stop2_b,4); //----------------------------------------------- if (OrdersTotal()>0) { for(cnt=0;cnt5*Point && (enBuy2-stop2_b)>14*Point && (target2_b-enBuy2)>14*Point ) { OrderModify(OrderTicket(),enBuy2,stop2_b,target2_b,CurTime()+14200,Aqua); } } if (OrderType()==OP_BUY && OrderComment()=="Primary") { if ( MathAbs(stop2_b-OrderStopLoss())>5*Point && (Bid-stop2_b)>12*Point ) { OrderModify(OrderTicket(),OrderOpenPrice(),stop2_b,OrderTakeProfit(),0,Aqua); } if ( MathAbs(target2_b-OrderTakeProfit())>5*Point && (target2_b-Ask)>12*Point ) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),target2_b,0,Aqua); } } } } if (buystop==false && (enBuy2-Ask)>12*Point && (enBuy2-stop2_b)>14*Point && (target2_b-enBuy2)>14*Point ) { ticket=OrderSend(Symbol(),OP_BUYSTOP,0.1,enBuy2,3,stop2_b,target2_b,"Primary",16384,CurTime()+39200,Aqua); } //----------------------------------------------- } if (exitBuy2!=0) exBuy2=NormalizeDouble(exBuy2/exitBuy2,4); sellstop=false; //-------------------------------------------------------- //-------------------------------------------------------- if (entrySell3!=0 /*&& entrySell3>entryBuy3*/) { target3_s=NormalizeDouble(target3_s,4); enSell3=NormalizeDouble(enSell3,4); stop3_s=NormalizeDouble(stop3_s,4); //----------------------------------------------- if (OrdersTotal()>0) { for(cnt=0;cnt5*Point && (stop3_s-enSell3)>14*Point && (enSell3-target3_s)>14*Point ) { OrderModify(OrderTicket(),enSell3,stop3_s,target3_s,CurTime()+14200,Magenta); } } if (OrderType()==OP_SELL && OrderComment()=="Intermediate") { if ( MathAbs(OrderStopLoss()-stop3_s)>5*Point && (stop3_s-Ask)>12*Point ) { OrderModify(OrderTicket(),OrderOpenPrice(),stop3_s,OrderTakeProfit(),0,Magenta); } if ( MathAbs(OrderTakeProfit()-target3_s)>5*Point && (Bid-target3_s)>12*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),target3_s,0,Magenta); } } } } if (sellstop==false && (Bid-enSell3)>12*Point && (stop3_s-enSell3)>14*Point && (enSell3-target3_s)>14*Point ) { ticket=OrderSend(Symbol(),OP_SELLSTOP,0.1,enSell3,3,stop3_s,target3_s,"Intermediate",16384,CurTime()+39200,Magenta); } //----------------------------------------------- } if (exitSell3!=0) exSell3=NormalizeDouble(exSell3/exitSell3,4); buystop=false; //-------------------------------------------------------- if (entryBuy3!=0 /*&& entryBuy3>entrySell3*/) { enBuy3=NormalizeDouble(enBuy3,4); target3_b=NormalizeDouble(target3_b,4); stop3_b=NormalizeDouble(stop3_b,4); //----------------------------------------------- if (OrdersTotal()>0) { for(cnt=0;cnt5*Point && (enBuy3-stop3_b)>14*Point && (target3_b-enBuy3)>14*Point ) { OrderModify(OrderTicket(),enBuy3,stop3_b,target3_b,CurTime()+14200,Aqua); } } if (OrderType()==OP_BUY && OrderComment()=="Intermediate") { if ( MathAbs(stop3_b-OrderStopLoss())>5*Point && (Bid-stop3_b)>12*Point ) { OrderModify(OrderTicket(),OrderOpenPrice(),stop3_b,OrderTakeProfit(),0,Aqua); } if ( MathAbs(target3_b-OrderTakeProfit())>5*Point && (target3_b-Ask)>12*Point ) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),target3_b,0,Aqua); } } } } if (buystop==false && (enBuy3-Ask)>12*Point && (enBuy3-stop3_b)>14*Point && (target3_b-enBuy3)>14*Point ) { ticket=OrderSend(Symbol(),OP_BUYSTOP,0.1,enBuy3,3,stop3_b,target3_b,"Intermediate",16384,CurTime()+39200,Aqua); } //----------------------------------------------- } if (exitBuy3!=0) exBuy3=NormalizeDouble(exBuy3/exitBuy3,4); //-------------------------------------------------------- //-------------------------------------------------------- FileClose(handle); ObjectSet("ENTRY_Sell1",OBJPROP_PRICE1,enSell1); ObjectSet("EXIT_Sell1",OBJPROP_PRICE1,exSell1); ObjectSet("STOP_Sell1",OBJPROP_PRICE1,stop1_s); ObjectSet("TARGET_Sell1",OBJPROP_PRICE1,target1_s); ObjectSet("ENTRY_Buy1",OBJPROP_PRICE1,enBuy1); ObjectSet("EXIT_Buy1",OBJPROP_PRICE1,exBuy1); ObjectSet("STOP_Buy1",OBJPROP_PRICE1,stop1_b); ObjectSet("TARGET_Buy1",OBJPROP_PRICE1,target1_b); //-------------------------------------------------- //-------------------------------------------------- ObjectSet("ENTRY_Sell2",OBJPROP_PRICE1,enSell2); ObjectSet("EXIT_Sell2",OBJPROP_PRICE1,exSell2); ObjectSet("STOP_Sell2",OBJPROP_PRICE1,stop2_s); ObjectSet("TARGET_Sell2",OBJPROP_PRICE1,target2_s); ObjectSet("ENTRY_Buy2",OBJPROP_PRICE1,enBuy2); ObjectSet("EXIT_Buy2",OBJPROP_PRICE1,exBuy2); ObjectSet("STOP_Buy2",OBJPROP_PRICE1,stop2_b); ObjectSet("TARGET_Buy2",OBJPROP_PRICE1,target2_b); //-------------------------------------------------- //-------------------------------------------------- ObjectSet("ENTRY_Sell3",OBJPROP_PRICE1,enSell3); ObjectSet("EXIT_Sell3",OBJPROP_PRICE1,exSell3); ObjectSet("STOP_Sell3",OBJPROP_PRICE1,stop3_s); ObjectSet("TARGET_Sell3",OBJPROP_PRICE1,target3_s); ObjectSet("ENTRY_Buy3",OBJPROP_PRICE1,enBuy3); ObjectSet("EXIT_Buy3",OBJPROP_PRICE1,exBuy3); ObjectSet("STOP_Buy3",OBJPROP_PRICE1,stop3_b); ObjectSet("TARGET_Buy3",OBJPROP_PRICE1,target3_b); ObjectsRedraw(); Comment("Cycle "," entrySell1 = ",entrySell1," exitSell1 = ",exitSell1,"\n", " "," entryBuy1 = ",entryBuy1," exitBuy1 = ",exitBuy1,"\n", "Primary "," entrySell2 = ",entrySell2," exitSell2 = ",exitSell2,"\n", " "," entryBuy2 = ",entryBuy2," exitBuy2 = ",exitBuy2,"\n", "Intermed "," entrySell3 = ",entrySell3," exitSell3 = ",exitSell3,"\n", " "," entryBuy3 = ",entryBuy3," exitBuy3 = ",exitBuy3); /* Comment("Cycle "," entrySell1 = ",entrySell1," exitSell1 = ",exitSell1," exSell1 = ",exSell1,"\n", " "," enSell1 = ",enSell1," target1_s = ",target1_s," stop1_s = ",stop1_s,"\n", " "," entryBuy1 = ",entryBuy1," exitBuy1 = ",exitBuy1," exBuy1 = ",exBuy1,"\n", " "," enBuy1 = ",enBuy1," target1_b = ",target1_b," stop1_b = ",stop1_b,"\n", "Primary "," entrySell2 = ",entrySell2," exitSell2 = ",exitSell2," exSell2 = ",exSell2,"\n", " "," enSell2 = ",enSell2," target2_s = ",target2_s," stop2_s = ",stop2_s,"\n", " "," entryBuy2 = ",entryBuy2," exitBuy2 = ",exitBuy2," exBuy2 = ",exBuy2,"\n", " "," enBuy2 = ",enBuy2," target2_b = ",target2_b," stop2_b = ",stop2_b,"\n", "Intermed "," entrySell3 = ",entrySell3," exitSell3 = ",exitSell3," exSell3 = ",exSell3,"\n", " "," enSell3 = ",enSell3," target3_s = ",target3_s," stop3_s = ",stop3_s,"\n", " "," entryBuy3 = ",entryBuy3," exitBuy3 = ",exitBuy3," exBuy3 = ",exBuy3,"\n", " "," enBuy3 = ",enBuy3," target3_b = ",target3_b," stop3_b = ",stop3_b ); */ return(0); } //+------------------------------------------------------------------+ //------------------------------------------------------------------------- int shreach(string str) { int p; string value; entrySell=0; exitSell=0; entryBuy=0; exitBuy=0; enSell=0; enBuy=0; target_b=0; stop_b=0; exSell=0; exBuy=0; target_s=0; stop_s=0; p=StringFind(str, "exit: BUY!", 0); if (p>0) { exitBuy=1; value=StringSubstr(str, p+10, 7); exBuy=exBuy+StrToDouble(value); } p=StringFind(str, "entry: BUY!", 0); if (p>0) { entryBuy=1; value=StringSubstr(str, p+11, 7); enBuy=enBuy+StrToDouble(value); p=StringFind(str, ".", p+29); value=StringSubstr(str, p-1, 7); target_b=target_b+StrToDouble(value); p=StringFind(str, ".", p+3); value=StringSubstr(str, p-1, 7); stop_b=stop_b+StrToDouble(value); } p=StringFind(str, "exit: SELL!", 0); if (p>0) { exitSell=1; value=StringSubstr(str, p+11, 7); exSell=exSell+StrToDouble(value); } p=StringFind(str, "entry: SELL!", 0); if (p>0) { entrySell=1; value=StringSubstr(str, p+12, 7); enSell=enSell+StrToDouble(value); p=StringFind(str, ".", p+29); value=StringSubstr(str, p-1, 7); target_s=target_s+StrToDouble(value); p=StringFind(str, ".", p+3); value=StringSubstr(str, p-1, 7); stop_s=stop_s+StrToDouble(value); } return(0); } //------------------------------------------------------------------------------------