Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 477

 
#include <Trade/Trade.mqh>

void DeletePendingOrders(const string sSymbol, const ulong nMagic)
{
   CTrade oTrade;

   for(int i = OrdersTotal() - 1; i >= 0; i--)
   {
      ulong nOrderTicket = OrderGetTicket(i);
      
      if(nOrderTicket > 0)
      {
         if(OrderGetString(ORDER_SYMBOL) == sSymbol && OrderGetInteger(ORDER_MAGIC) == nMagic)
         {
            // удаляем только отложенники
            ENUM_ORDER_TYPE eType = (ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE);
            
            if(eType == ORDER_TYPE_BUY_STOP  || eType == ORDER_TYPE_SELL_STOP ||
               eType == ORDER_TYPE_BUY_LIMIT || eType == ORDER_TYPE_SELL_LIMIT ||
               eType == ORDER_TYPE_BUY_STOP_LIMIT || eType == ORDER_TYPE_SELL_STOP_LIMIT)
            {
               oTrade.OrderDelete(nOrderTicket);
            }
         }
      }
   }
}

Das Skript für MT4 wird auf Five nicht funktionieren, da es sehr unterschiedliche Handelsfunktionen hat.

 
Sergei Vladimirov:

Das Skript für MT4 wird auf Five nicht funktionieren, da es sehr unterschiedliche Handelsfunktionen hat.

Danke, ich war gerade dabei, mich mit trade.mqh zu beschäftigen.
 
Können Sie mir bitte etwas sagen? Wie kann ich programmatisch, nicht logisch, herausfinden, wie eine Marktorder geschlossen wurde - durch TP, SL oder durch den Markt?
 
-Aleks-:
Können Sie mir bitte etwas sagen? Wie kann ich programmatisch, nicht logisch, wissen, wie eine Marktorder geschlossen wurde - durch TP, SL oder durch den Markt?
Vergleichen Sie den Schlusskurs mit dem TP, SL. Wenn sie fast übereinstimmen, liegt die Antwort auf der Hand. Wenn sie nicht übereinstimmen, ist die Antwort auch dort
 
Victor Nikolaev:
Vergleichen Sie den Schlusskurs mit TP, SL. Wenn sie fast übereinstimmen, ist die Antwort da. Wenn sie nicht übereinstimmen, dann liegt die Antwort auch dort.

Das ist es, was ich gefragt habe, warum nicht im Vergleich? Im Terminal sind die Aufträge eingefärbt, d.h. sie haben eine Kennzeichnung, wie sie abgeschlossen wurden.

Es ist mir nicht ganz klar, wie ich "fast" einordnen soll - die Abweichung kann zu groß sein, um sie zu vergleichen.

 
-Aleks-:

Das ist es, was ich gefragt habe, warum nicht im Vergleich? Im Terminal sind die Aufträge eingefärbt, so dass sie einen Hinweis darauf haben, wie sie abgeschlossen wurden.

Es ist mir nicht ganz klar, wie ich "fast" organisieren soll - die Abweichung kann zu groß sein, um sie zu vergleichen.

Bei "fast" wird individuell von Fall zu Fall entschieden. In einem langsamen Markt ist das eine Sache, in einem schnellen Markt eine andere
 
-Aleks-:
Können Sie mir bitte etwas sagen? Wie kann ich programmatisch, nicht logisch, wissen, wie eine Marktorder geschlossen wurde - durch TP, SL oder durch den Markt?
Der Kommentar des durch Stoploss geschlossenen Auftrags wird mit [sl], der durch Takeprofit geschlossene Auftrag mit [tp] gekennzeichnet.
 
Artyom Trishkin:
Im Kommentar eines closed on stoploss, der [sl] zugeschrieben wird, closed on takeprofit, der [tp] zugeschrieben wird.
Sind Sie wach?
 
Victor Nikolaev:
Sind Sie wach?
Ich habe auf meinem Mobiltelefon geschrieben... im Schlaf... Schnarchen... Schnüffeln... Schnurren...
 
Victor Nikolaev:
Mit "fast" wird in jedem Fall individuell auf seine Weise umgegangen. Das ist eine Sache auf einem langsamen Markt und eine andere Sache auf einem schnellen Markt.

Ja, deshalb suche ich nach einer universellen Lösung - wenn die Informationen für den nächsten Balken benötigt werden, nachdem der Auftrag geschlossen wurde, dann ist es nicht so schwierig, die Volatilität zu bewerten, aber wenn es nach einem Tag ist, dann muss ich die Anzahl der Balken zählen, die vergangen sind, und die Volatilität, die dort war.

Artyom Trishkin:
Im Kommentar eines durch Stoploss geschlossenen Titels geben wir [sl] an, eines durch Takeprofit geschlossenen Titels geben wir [tp] an.

Danke - ich werde versuchen, es jetzt zu lesen!

Und es gibt keinen solchen Kommentar im Tester, richtig?