Verständnis Werkzeugleiste (Handel, Historie, Operationen)

 

Hallo Community

Kennt Ihr diese Situationen auch wenn ihr etwas einfach nicht versteht? So fühle ich mich seit längerem im Lernprozess mit Order, Deals, und generell der Werkzeugsleiste im Debugging Modus.

Ich sende eine Order über die Methode Trade.Buy. Dies ergibt folgende Situation in der Werkzeugsleiste beim debugging:

Snapshopts:
Code:

   if (PositionsTotal() < 1 )
      trade.Buy(0.01,_Symbol);

Nun aktualisiere ich den SL auf der Postition. Dies ergibt folgende Snapshots:

Snapshopts:

Fragen:

  • Ist ein Trade.Buy ohne SL eine offene Position? Bei Aktien halte ich ein Wertpapiert. Ist beim Devisenhandel der Deal nicht abgeschlossen ich halte ja nichts oder? 
  • Ist die Anpassung des SL quasi eine neue Order oder moodifiziere ich wirklich die durchgeführt Buy Position? Wenn ja wieso sehe ich den S/L nicht im Register Handel
  • Gerne auch Input wenn Ihr versteht wo ich hänge, danke
Code:

   for (int i = PositionsTotal() - 1; i >= 0; i--) {
      ulong ticket = PositionGetTicket(i);
      if (ticket > 0) {
      
      string orderSymbol = PositionGetString(POSITION_SYMBOL);
         if (Symbol() == orderSymbol) {
         
            double orderOpenPrice = PositionGetDouble(POSITION_PRICE_OPEN);
            double orderStopLoss = PositionGetDouble(POSITION_SL);
            double orderTakeProfit = PositionGetDouble(POSITION_TP);
            ENUM_POSITION_TYPE orderType = ENUM_POSITION_TYPE(PositionGetInteger(POSITION_TYPE));
            if (orderType == POSITION_TYPE_BUY) {     
                 
              // Update stop loss 
               double newStopLoss = orderOpenPrice * 0.90;
               trade.PositionModify(ticket, newStopLoss, orderTakeProfit);
            }     
         }
      }
   }

Bin um jede Hilfe froh, danke


      Dokumentation zu MQL5: Zustandspruefung / Symbol
      Dokumentation zu MQL5: Zustandspruefung / Symbol
      • www.mql5.com
      Symbol - Zustandspruefung - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
       
      1. Für Anfänger des MQl5-Programmierens hier die Liste der Funktionen mit Erklärung, sodass man nach Stichwörtern suchen kann: https://www.mql5.com/de/docs/function_indices.
      2. Aus dem Englischen kommend gibt Begriffsungenauigkeit: Auftrag (=order) wird an den Server gesendet, dann gibt es die Positionen und die schwebenden Aufträge (=pending orders) für die jeweils eigene Manipulationsfunktionen gibt und es gibt die Deals, das sind die Buchungen und die sind in der Historie, auch mit eigenen Abfragefunktionen: https://www.mql5.com/de/docs/trading
      3. Bei Positionen wird/wurde Geld bewegt,
      4. bei schwebenden Aufträgen (pending orders) (noch) nicht.
      5. Hier ist ein Code-Beispiel das alles abfragt: https://www.mql5.com/de/code/27635
      6. Alles, was nach Positions... kommt, bearbeitet offene Positionen,
      7. Alles, was nach Orders... kommt, bearbeitet schwebende Aufträge,
      8. Alles, was nach History.-.. kommt, betrifft die Deals.
      9. Ob und wie die gesendeten Aufträge durchgeführt werden wird
        a) im Journal-Log ausgedruckt und
        b) die Funktionen haben meist einen boolschen Rückgabewerte, sodass man
        c) beim Fehler gleich _LastError aufrufen kann.
      10. Denk dran, kaufen beim Ask und verkaufen beim Bid!
      11. Hier noch etwas Literatur und Hinweise für den Schnelleinstieg:
            Wenn Du den Cursor auf eine MQL-Funktion setzt und F1 drückst, siehst Du direkt die Referenz, viele mit Beispielen zum Kopieren und Einfügen der schnellsten Form des Programmierens.
            https://www.mql5.com/de/articles/496
            https://www.mql5.com/de/articles/100
            https://www.mql5.com/de/articles/599
            und zur Fehlersuche, wenn das Programm  nicht tut, was es soll: https://www.metatrader5.com/de/metaeditor/help/development/debug
            Es gibt fast nichts, das nicht schon für MT4/5 programmiert wurde!
            => Suchen in den Artikeln: https://www.mql5.com/de/articles
            => Suchen in der Codebase: https://www.mql5.com/de/code
            => Suchen allgemein: https://www.mql5.com/de/search oder über Google mit: "site:mql5.com .." (verzeiht Schreibfehler)
            https://www.mql5.com/de/search#!keyword=kochbuch
            Indikatoren: siehe diese Artikelserie:
            https://www.mql5.com/de/users/m.aboud/publications
            Jeder Artikel erklärt einen (im MT5 integrierten) Indikator und, was er einem sagt, und wie man ihn in einem EA verwenden könnte.

      MQL5 Reference - How to use algorithmic/automated trading language for MetaTrader 5
      MQL5 Reference - How to use algorithmic/automated trading language for MetaTrader 5
      • www.mql5.com
      MQL5 Reference - How to use algorithmic/automated trading language for MetaTrader 5
       

      Für alle die auch hier vorbeikommen. Dieser Artikel hat mir weiter geholfen.

      https://mql5.com/de/articles/232

      Handelsereignisse in MetaTrader 5
      Handelsereignisse in MetaTrader 5
      • www.mql5.com
      Eine Überwachung des aktuellen Status eines Handels-Account bedeutet offene Positions und Order kontrollieren zu können. Bevor ein Handelssignal zu einem Abschluss wird, sollte es vom Client-Terminal als Anfrage zum Handels-Server geschickt werden, wo es in eine Order-Warteschlange gestellt wird und auf seine Bearbeitung wartet. Eine Anfrage vom Handels-Server annehmen, sie löschen, wenn sie abläuft oder auf ihrer Grundlage einen Abschluss ausführen - alle diese Handlungen haben Handelsereignisse zur Folge, und der Handels-Server informiert das Terminal entsprechend darüber.