Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 974

 
Ich freue mich wirklich auf Ihre Hilfe. Ich denke, die Lösung meiner Frage wird für viele Menschen von Interesse sein. Wenn der Markt sehr aktiv ist, setzt der Expert Advisor oft falsche Stopp- und Take-Levels. Ist es möglich, einen Code zu schreiben, der den EA dazu zwingt, zu prüfen, ob die Schlusslevel einer Position korrekt gesetzt sind, nachdem sie eröffnet wurde, und wenn sie sich von den ursprünglich gesetzten unterscheiden, dann setzt der EA die Stop- und Take-Levels korrekt. Ich möchte zum Beispiel, dass ein Handel mit gleichen Stopp- und Take-Levels von 50 Einheiten eröffnet wird, die im EA festgelegt wurden. Aber wegen der starken Oszillationen wird ein Handel mit Stop Loss bei 47 und Take Profit bei 53 eröffnet, was mir nicht passt. Bitte helfen Sie mir, einen Code zu schreiben, der die Abschlusslevels gleich 50 macht, nachdem das Geschäft eröffnet wurde. Ich wäre Ihnen sehr dankbar, und ich bin sicher, dass ich nicht der Einzige bin.
 
Hali:
Guten Tag an alle, ich hoffe sehr auf Ihre Hilfe. Ich denke, die Antwort auf meine Frage wird für viele Händler interessant sein. Wenn der Markt aktiv ist, setzt der Expert Advisor die Stop- und Take-Levels oft falsch. Ist es möglich, einen Code zu schreiben, der den EA dazu zwingt, zu prüfen, ob die Schlusslevels korrekt gesetzt sind, nachdem der Auftrag geöffnet wurde, und wenn sie sich von den ursprünglich gesetzten unterscheiden, dann setzt der EA die Stop- und Takelevels korrekt. Ich möchte zum Beispiel, dass ein Handel mit gleichen Stopp- und Take-Levels von 50 Einheiten eröffnet wird, die im EA festgelegt wurden. Aber wegen der starken Oszillationen eröffnet ein Handel mit Stop Loss bei 47 und Take Profit bei 53, was mir nicht passt. Bitte helfen Sie mir, einen Code zu schreiben, der die Abschlusslevels gleich 50 macht, nachdem das Geschäft eröffnet wurde. Ich wäre Ihnen sehr dankbar, und ich bin sicher, dass ich nicht der Einzige bin.

Ich bin sicher, es gibt eine.

Zusätzlich zu OrderSend() gibt es OrderModify() in derselben Funktionsgruppe"Handelsfunktionen". Außerdem gibt es Kontotypen, bei denen es nicht möglich ist, Aufträge mit einem Stop ungleich Null zu eröffnen und gleichzeitig Positionen einzugehen. Das bedeutet, dass wir zuerst eine Order eröffnen und dann eine Stop- und eine Take-Order mit der Funktion OrderModify() platzieren, wobei die Take- und Stop-Levels aus dem Preis OrderOpenPrice() berechnet werden sollten.

Ich hoffe, diese Antwort ist klar genug.

 
Die Antwort liegt auf der Hand, aber leider weiß ich nicht, wie das geht(. Können Sie mir ein Codebeispiel zeigen, in dem dies implementiert ist? Ich wäre Ihnen sehr dankbar.
 
Hali:
Die Antwort liegt auf der Hand, aber leider weiß ich nicht, wie das geht(. Können Sie mir ein Codebeispiel zeigen, in dem dies implementiert ist? Ich wäre Ihnen sehr dankbar.

Nun, in der Dokumentation finden sich Beispiele

void OnStart()
  {
   int TrailingStop=50;
//--- модифицирует цену Stop Loss ордера на покупку №12345
   if(TrailingStop>0)
     {
      OrderSelect(12345,SELECT_BY_TICKET);
      if(Bid-OrderOpenPrice()>_Point*TrailingStop)
        {
         if(OrderStopLoss()<Bid-_Point*TrailingStop)
           {
            bool res=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-_Point*TrailingStop,_Digits),OrderTakeProfit(),0,Blue);
            if(!res)
               Print("Ошибка модификации ордера. Код ошибки=",GetLastError());
            else
               Print("Цена Stop Loss ордера успешно модифицирована.");
           }
        }
     }
  }
 

Frage entfernt.

 
Alligator:

Frage entfernt.

Vielen Dank für die Antworten. Leider bin ich noch ziemlich neu auf diesem Gebiet. Ich habe einen EA (geschrieben nicht ohne die Hilfe von Mitgliedern dieses Forums) Ich möchte es mit einer Änderung der nehmen und stoppen, wie in den Beiträgen oben beschrieben zu ergänzen, aber ich habe keine Möglichkeit, es zu tun. Wenn es nicht zu viel Mühe macht, könnte mir bitte jemand bei dieser Aufgabe helfen.
 

Ich kann die Schaltfläche "Nach Website suchen" auf mql4.com nicht mehr sehen.

Auf mql5.com ist diese Schaltfläche immer noch vorhanden.

Ist das ein Zufall oder sollten wir komplett auf mql5 umsteigen?

 
Hali:
Vielen Dank für die Antworten. Leider bin ich auf diesem Gebiet ein völliger Neuling. Ich habe einen EA (geschrieben mit Hilfe der Mitglieder dieses Forums), den ich gerne modifizieren würde, indem ich den Take und den Stop modifiziere, wie in den obigen Beiträgen beschrieben, aber ich kann es nicht tun. Wenn es nicht zu viel Mühe macht, könnte mir bitte jemand bei dieser Aufgabe helfen.

Schreiben Sie es selbst! Wenn du auf dem Martin verlierst, bist du selbst schuld! Niemand will beschuldigt werden! Oder gehen Sie zu Freelance, die machen alles professionell und preiswert!

 
BAS581:

Ich kann die Schaltfläche "Nach Website suchen" auf mql4.com nicht mehr sehen.

Auf mql5.com ist diese Schaltfläche immer noch vorhanden.

Ist das ein Zufall oder sollten wir komplett auf mql5 umsteigen?

Es gibt eine Suche! Bewegen Sie den Mauszeiger über das Vergrößerungsglas und schreiben Sie, was Sie brauchen!
 
borilunad:
Es gibt eine Suche! Bewegen Sie den Mauszeiger über die Lupe und schreiben Sie, was Sie brauchen!

Ich danke Ihnen für Ihre Hilfe. Wenn man weiß, dass es eine Lösung gibt, ist es einfacher, sie zu finden. )))

In diesem Fall war die Lösung folgende: Verkleinern Sie in FireFox die Seite, und dann erscheint die Lupe.

Es ist nur nicht in normalem Umfang verfügbar.