Ik zit vast en weet niet zeker wat ik verkeerd doe.
Mijn EA rapporteert een OrderModify-fout 1 op bijna elk vinkje.
Ik probeer de EA ertoe te brengen een order te wijzigen wanneer de invoervariabele verandert van de OrderOpenPrice (), die oorspronkelijk is geopend met vermelding.
De EA werkt correct en zal de volgorde aanpassen naar het juiste punt, maar hij probeert deze te wijzigen, zelfs als de invoer variabele == is voor zichzelf, of OrderOpenPrice ().
In het verleden om waarden te controleren heb ik een afdruk (invoer) geplaatst; and Print (OrderOpenPrice ()); direct na if (entry! = OrderOpenPrice ()) {en het probeert nog steeds mijn ordermodify-statement uit te voeren, zelfs als beide == zijn voor elkaar.
Wat doe ik verkeerd?
Dank je
Hier is de code die ik over dit probleem heb.
Ingevoegde code int totalorders = OrdersTotal (); for (int i = totalorders-1; igt; = 0; i--) {OrderSelect (i, SELECT_BY_POS); if (OrderSymbol () == Symbol () OrderType () == OP_SELLSTOP RiskManagement == true) {if (entry! = OrderOpenPrice ()) {OrderModify (OrderTicket (), entry, stoploss, takeprofit, 0,0); }} if (OrderSymbol () == Symbol () OrderType () == OP_SELLSTOP RiskManagement == false) {if (entry! = OrderOpenPrice ()) {OrderModify (OrderTicket (), entry, entry (StopLossPips * Point), vermelding - (TakeProfitPips * Point), 0,0); }
Ik vond het antwoord op mijn fout, bij het vergelijken van doubles is het het beste om lt; gt; in plaats van! =.
De jongens op MQL4-forums hielpen me met dit probleem.
Bedankt