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)
-   -   Problem mit SL-Setzung bei JPY-Paaren (http://www.expert-advisor.com/forum/showthread.php?t=6529)

traderdoc 05.11.19 16:17

Zitat:

Zitat von MA-EA (Beitrag 43005)
Das Problem ist wohl, dass ich das ganze Problem nicht verstehe. :rolleyes: Warum schickst Du nicht gleich nen SL beim Öffnen mit raus? :confused:

Korrekt, @MA-EA, das ist Dein Problem, obwohl es eigentlich gar keins ist.
Er will ganz einfach von einem!!! EA auf einem Chart eines WP bzgl. der Änderung von SL (und TP) auf die Orders der anderen WP zufreifen. Nicht mehr, aber auch nicht weniger.

traderdoc

Bayreuther 05.11.19 22:10

Ein Beispiel für Modify_SL_TP_ALL_Symbol.mq4 ist hier zu finden:
https://www.mql5.com/de/code/18011

Bucardo 06.11.19 21:59

Hallo zusammen,

war die letzten Tage sehr beschäftigt, deshalb die verspätete Antwort.

Vielen Dank an TraderDoc für den zur Lösung führenden Hinweis!

Ziel des EA ist es, eine vom Handy aus abgesetzte Order mit einer Art Sicherheits-STop zu versehen, falls nicht innerhalb von 5 Minuten ein manueller Stop eingegeben wird. Das Netz hier ist eine Katastrophe, so dass es sein kann, dass ein Trade noch raus geht, ich den SL aber nicht mehr setzen kann. Deswegen läuft der EA auf einem EUR/USD-Chart (M5) auf meinem virtuellen Server mit und setzet notfalls einen STop bei 60 Pips.

Hier meine Lösung die auch funktioniert:

Code:

  void AutoSL()
  {
    for(int j=0;j<OrdersTotal();j++)
    {
    x=OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
    if(OrderType() == OP_BUY && OrderStopLoss() == 0)
    {
      x=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() - 600 * MarketInfo(OrderSymbol(),MODE_POINT),OrderTakeProfit(),0,0);
    }
   
    if(OrderType() == OP_SELL && OrderStopLoss() == 0)
    {
      x=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() + 600 * MarketInfo(OrderSymbol(),MODE_POINT),OrderTakeProfit(),0,0);
    }
    }
  }

Für Vorschläge hinsichtlich Failsafe-Programmierung oder eleganter Lösungen bin ich immer offen. Das ist meine Lösung als MQL-Autodidakt ;)

Gruß

traderdoc 06.11.19 22:57

Jepp, so einfach kann die Lösung sein.

traderdoc

MA-EA 07.11.19 03:15

Ich würde eben auch OrderSymbol()==Symbol() checken und nen Trailing- oder wenigstens nen Break-Even Stop einbaun. Wenn man eh schon nen VPS benutzt.


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:56 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