Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   OrderModify error 130 - BreakEven (http://www.expert-advisor.com/forum/showthread.php?t=6761)

MarkusWilhelm89 30.08.20 21:28

OrderModify error 130 - BreakEven
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich möchte einen BreakEven in meinen EA einbauen, bekomme aber den "OrderModify error 130" bis der BreakEven gesetzt wurde, danach hört es auf.

Im Anhang die Codes, es geht um Zeile 96 + 97

Der StopLoss & TakeProfit Abstand ist groß genug gesetzt, das kann es also nicht sein.
Kann mir jemand helfen? Danke vorab

AVT 30.08.20 21:50

Zitat:

Zitat von MarkusWilhelm89 (Beitrag 44338)
Hi,
ich möchte einen BreakEven in meinen EA einbauen, bekomme aber den "OrderModify error 130" bis der BreakEven gesetzt wurde, danach hört es auf.

Dann lies Dir mal durch was in der Referenz bei OrderSend und bei OrderModify steht.
AVT

traderdoc 30.08.20 21:58

Ich würde hier an den entsprechenden Stellen mal Klammern setzen.

Code:

for (int i=0; i<=OrdersTotal()-1; i++)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==_Symbol)


  if(OrderType()==OP_BUY  && useCloseSignalChange==true && signal=="verkaufen")                                                          {bool CLOSE_OP_BUY      =OrderClose(OrderTicket(),OrderLots(),Bid,10,clrNONE);}
  if(OrderType()==OP_SELL && useCloseSignalChange==true && signal=="kaufen")                                                            {bool CLOSE_OP_SELL    =OrderClose(OrderTicket(),OrderLots(),Ask,10,clrNONE);}
 
  if(OrderType()==OP_BUY  && useBreakEvenStop==true  && OrderStopLoss()<OrderOpenPrice() && Ask>OrderOpenPrice()+BreakEvenSignal*_Point) {bool TRAIL_OP_BUY      =OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BreakEvenStop*_Point,OrderTakeProfit(),0,clrNONE);return;}
  if(OrderType()==OP_SELL && useBreakEvenStop==true  && OrderStopLoss()>OrderOpenPrice() && Bid<OrderOpenPrice()+BreakEvenSignal*_Point) {bool TRAIL_OP_SELL    =OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BreakEvenStop*_Point,OrderTakeProfit(),0,clrNONE);return;}

Da ist u.a. schlechter Programmierstil.

traderdoc

MarkusWilhelm89 30.08.20 22:11

Ich bin blutiger Anfänger und für jeden Tipp dankbar.
Wieso schlechter Stil? Was sollte/könnte man besser machen?

MarkusWilhelm89 31.08.20 10:16

Hab meinen (dummen) Fehler gefunden

Bid<OrderOpenPrice()+BreakEvenSignal*_Point

Bei der Sell-Order muss es aber Bid<OrderOpenPrice()-BreakEvenSignal*_Point heißen:rolleyes:


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:48 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum