Diskussion zum Artikel "Handelsoperationen in MQL5 - Nichts leichter als das" - Seite 2

 
Valmars:
Sie sollten den Code dennoch vor der Veröffentlichung überprüfen.

Dieses Problem wurde bereits vor langer Zeit, am Tag der Veröffentlichung, behoben.
 
Valmars:

Ich stimme zu, dass sich die Handelsklassen inzwischen genug stabilisiert haben. Warum also werden in den Beispielen Funktionen zum Abrufen von Instrumenteneigenschaften empfohlen, anstatt Methoden der CSymbolInfo-Klasse zu verwenden? Das erscheint inkonsequent.

Stellen Sie klar, was Sie meinen. Wenn Sie dazu aufrufen, überall Klassen zu schreiben, könnte das für einige Neulinge kompliziert und unverständlich sein.
 
Rosh:
Dies wurde schon vor langer Zeit, am Tag der Veröffentlichung, behoben.
Ich entschuldige mich, ich habe den Artikel sofort geöffnet, aber erst jetzt gelesen.
 
Rosh:
Klären Sie, was gemeint ist. Wenn Sie dazu aufrufen, überall Klassen zu schreiben, könnte das für einige Neulinge kompliziert und unverständlich sein.

Eigentlich bin nicht ich es, der in dem obigen Zitat dazu auffordert, Klassen derStandardbibliothek zu verwenden, ich stimme nur zu. Natürlich ist das Geschmackssache.

In einem etwas komplexeren EA gibt es viele Verweise auf Symboleigenschaften, und indem wir einmal eine Instanz der Klasse CSymbolInfo erstellen, vereinfachen wir die Verweise auf sie und die Wahrnehmung des Programms. Meine Meinung.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

Ich entschuldige mich, ich wusste nicht, wo ich diese Frage stellen sollte und habe beschlossen, sie hier zu stellen, da ich denke, dass das Thema geeignet ist.

Wie kann ich alle Aufträge, die entweder nur zum Verkauf oder nur zum Kauf geöffnet sind, auf einmal schließen?

 
nskforward:

Ich entschuldige mich, ich wusste nicht, wo ich diese Frage stellen sollte und habe beschlossen, sie hier zu stellen, da ich denke, dass das Thema geeignet ist.

Wie kann ich alle offenen Kauf- und Verkaufsaufträge auf einmal schließen?

In MetaTrader 5 kann es für jedes Instrument nur eine offene Position geben. Vielleicht meinen Sie, dass Sie alle Positionen für alle Instrumente schließen können?
 

Hallo,
Wenn ich die Funktion BuyStop im Code für den Handel mit RTS-3.13 (RIH3) Futures verwende, tritt immer wieder ein Fehler auf:
10022 TRADE_RETCODE_INVALID_EXPIRATION - Ungültiges Verfallsdatum der Order

In der Spezifikation von Futures RTS-3.13 ist festgelegt, dass die Art der Aufträge - Gültig bis auf Widerruf. in der Warteschlange bis zur Stornierung.
Ich habe versucht, andere Typen ORDER_TIME_DAY, ORDER_TIME_SPECIFIED, ORDER_TIME_SPECIFIED_DAY zu verwenden - der Fehler verschwindet nicht.


Teil des Codes:

   int    digits = (int)SymbolInfoInteger(Ticket,SYMBOL_DIGITS);// Anzahl der Dezimalstellen
   double point  = SymbolInfoDouble(Ticket,SYMBOL_POINT);       // para.
   double ask    = SymbolInfoDouble(Ticket,SYMBOL_ASK);         // Aktueller Einkaufspreis
   double price= 1000 * point;                                  // nicht normalisierter Eröffnungspreis
   price  = NormalizeDouble(price, digits);                     // Normalisierung des Eröffnungskurses
   //Preis = NormalizeDouble(Anfrage + 1000, Ziffern); // ????
   Print("digits=", IntegerToString(digits), " point=", DoubleToString (point, 0), " ask=", DoubleToString (ask, 0),
         " price=", DoubleToString (price, 0));    
//--- alles ist bereit, senden Sie eine ausstehende Buy Stop Order an den Server 
   if(!m_Trade.BuyStop(1, price, Ticket))
     {
      Print("Die Methode BuyStop() ist fehlgeschlagen. Return code="", m_Trade.ResultRetcode(),
            ". Beschreibung des Codes: ",m_Trade.ResultRetcodeDescription());
     }
   else
     {
      Print("Die Methode BuyStop() wurde erfolgreich ausgeführt. Return code="",m_Trade.ResultRetcode(),
            " (",m_Trade.ResultRetcodeDescription(),")");
     }

Im Strategy Tester wird der Eintrag protokolliert:

2012.12.18 19:44:59   digits=0 point=1 ask=151830 price=1000
2012.12.18 19:44:59   failed buy stop 1.00 RTS-3.13 at 1000 [Invalid expiration]
2012.12.18 19:44:59   CTrade::OrderSend: buy stop 1.00 RTS-3.13 at 1000 [invalid expiration]
2012.12.18 19:44:59   Метод BuyStop() потерпел неудачу. Код возврата=10022. Описание кода: invalid expiration

Was könnte das Problem sein? Bitte geben Sie mir einen Hinweis.
Ich werde dankbar sein, wenn Sie antworten auf Mail nfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52.

Ich danke Ihnen.

Win7 64 mal, MT5, Demo-Account DB Otkrytie.

 
Nikos52:

Hallo,
Wenn ich die Funktion BuyStop im Code für den Handel mit RTS-3.13 (RIH3) Futures verwende, tritt immer wieder ein Fehler auf:
10022 TRADE_RETCODE_INVALID_EXPIRATION - Ungültiges Verfallsdatum der Order

In der Spezifikation von Futures RTS-3.13 ist festgelegt, dass die Art der Aufträge - Gültig bis auf Widerruf. in der Warteschlange bis zur Stornierung.
Ich habe versucht, andere Typen ORDER_TIME_DAY, ORDER_TIME_SPECIFIED, ORDER_TIME_SPECIFIED_DAY zu verwenden - der Fehler verschwindet nicht.


Teil des Codes:

Im Strategy Tester wird der Eintrag protokolliert:

Was könnte das Problem sein? Bitte geben Sie mir einen Hinweis.
Ich werde dankbar sein, wenn Sie antworten auf Mail nfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52.

Ich danke Ihnen.

Win7 64 razr., MT5 , Demo-Konto DB Discovery.

Ähnliches Problem auf RTS-3.13 Otkritie-demo, versuchte alles (während Limit-Orders sind auf ORDER_TIME_SPECIFIED_DAY wie im Symbol-Profil geschrieben) !!!!. Während Buy-Stop-Order ist perfekt offen in den Markt manuell. Dies ist ein Terminal-Fehler, sollten Sie an die Entwickler schreiben
 
Ja, es könnte nicht einfacher sein! Sie haben sich da eine Menge einfallen lassen, und das noch unter Verwendung von Standardbibliotheken, und wenn ohne, sozusagen von Grund auf???? Der einfachste und schnellste Weg, einen Expert Advisor auf MQl4 zu programmieren!!!! Mein EA auf mql4 benötigt 70 Zeilen, ich habe ihn auf mql5 umgeschrieben, und es sind 198!!!!!! geworden. Der Titel mit dem Wort "einfach" ist also nicht angemessen.
Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
zlodei:
...Mein mql4 EA braucht 70 Zeilen, ich habe ihn auf mql5 umgeschrieben, und es stellte sich heraus, dass es 198!!!!!! Der Titel mit dem Wort "einfach" ist also nicht angemessen.
Dies gilt, wenn die EA-Idee nicht kompliziert ist. Imho, je komplexer die Idee ist, desto mehr wird der Unterschied in der Anzahl der Codezeilen zwischen MQL4 und MQL5 zugunsten von letzterem ausfallen. Ich würde also nicht so kategorisch sein....