Die Sprache MQL5 von Grund auf selbst erlernen - Seite 74

 
VVT:

Moment, Sie haben ein Zeitlimit für den Handel dort... Fällt die Zeit des Schleppnetzes nicht unter diese Beschränkungen? aber nein, falscher Halt, seltsam

Mein Expert Advisor ist so eingestellt, dass er nur von 09:00:00 bis 09:01:00 Moskauer Zeit läuft, um eine Position zu eröffnen. Keine Probleme bei der Positionseröffnung. Der Expert Advisor wurde auf einem Demokonto in der PSB-Forex Handelsplattform installiert.

Ich habe beschlossen, den Expert Advisor auf meinem Demokonto im MetaQuote MT5-Terminal einzusetzen. Alles hat funktioniert, wie es sollte, aber der Returncode 10016 des Handelsservers bleibt bestehen. Sehr interessant! Ich werde versuchen, die Angelegenheit zu analysieren.

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin:

Valery, wie hoch ist der Gefrierpunkt? Vielleicht muss das in irgendeiner Form im Code vorgeschrieben werden?

Mit freundlichen Grüßen, Vladimir.

DieEinfrierdistanz, genauer gesagt, ist der Abstand zu einem Marktauftrag/einer Position, in dem Aufträge nicht ausgeführt werden dürfen. Verwenden Sie Ihren geschätzten Stop als Parameter und Sie werden den gewünschten Stop in der Ausgabe erhalten. Der Code ist für 4k. Die Logik ist die gleiche in 5. Der MarketInfo-Parameter scheint derselbe zu sein.

int New_Stop(int Parametr)                      // Проверка стоп-прик.
  {
   int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Миним. дистанция
   if (Parametr < Min_Dist)                     // Если меньше допуст.
     {
      Parametr=Min_Dist;                        // Установим допуст.
      Alert("Увеличена дистанция стоп-приказа.");
     }
   return(Parametr);                            // Возврат значения
  }
//-------------------------------------------------------------- 12 -- 

Für 5

SYMBOL_TRADE_FREEZE_LEVEL

Handelsgeschäfte Einfrierentfernung (in Punkten)

int



Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как правило...
 
Valeriy Yastremskiy:

Richtig istdie Freeze-Distanz, der Abstand zum Marktauftrag/zur Position, in dem Aufträge nicht ausgeführt werden dürfen. Verwenden Sie Ihre geschätzte Haltestelle als Parameter, und Sie werden die gewünschte Haltestelle in der Ausgabe erhalten. Der Code ist für 4k. Die Logik ist die gleiche in 5. Die MarketInfo-Parameter scheinen die gleichen zu sein.

Vielen Dank, Valeriy! Ich werde den Code des Expert Advisors weiter verbessern.

Mit freundlichen Grüßen Vladimir.

 
MrBrooklin:

Vielen Dank, Valery! Ich werde weiterhin den Code des Expert Advisors verstehen und verbessern.

Mit freundlichen Grüßen, Vladimir.

Bitte senden Sie mir die Funktion der Stop-Berechnung und Positionsänderung. Der Code ist lang, nicht viel Zeit)))))

 
Valeriy Yastremskiy:

Bitte laden Sie die Funktion zur Berechnung der Haltestelle und zur Änderung der Position hier hoch. Der Code ist lang, nicht viel Zeit)))))

Valery, es gibt keine Funktion zur Berechnung des Stopps, da dieser in den Eingabeparametern wie folgt festgelegt ist:

input ushort SL=200; //Стоп-лосс

und im Code für die Kaufposition ist die folgende Zeile vorgeschrieben:

request.sl=NormalizeDouble(price-SL*point,digits);

Danke, Valery, aber ich möchte mich selbst um die Änderung des Stop-Loss kümmern. Ich habe bereits genug Informationen, um den Expert Advisor selbst zu verbessern.

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin:

Valery, es gibt keine Funktion zur Berechnung des Stopps, da dieser in den Eingabeparametern wie folgt festgelegt ist:

und im Code für die Kaufposition ist die folgende Zeile vorgeschrieben:

Danke, Valery, aber ich möchte mich selbst um die Änderung des Stop-Loss kümmern. Ich habe bereits genug Informationen, um den Expert Advisor selbst zu verbessern.

Mit freundlichen Grüßen, Vladimir.

request.sl=NormalizeDouble(price-SL*point,digits);
Alert("request.sl= ",request.sl);

Und auch Preis, SL und Punkt, um sicher zu sein)

 
Valeriy Yastremskiy:

Und sicher auch Preis, SL und Punkt)

Vielen Dank, Valery!

Mit freundlichen Grüßen, Vladimir.

 
Valeriy Yastremskiy:

Richtig istdie Freeze-Distanz, der Abstand zum Marktauftrag/zur Position, in dem Aufträge nicht ausgeführt werden dürfen. Verwenden Sie Ihre geschätzte Haltestelle als Parameter, und Sie werden die gewünschte Haltestelle in der Ausgabe erhalten. Der Code ist für 4k. Die Logik ist die gleiche in 5. Der MarketInfo-Parameter scheint derselbe zu sein.

Für 5

SYMBOL_TRADE_FREEZE_LEVEL

Handelsgeschäfte Einfrierentfernung (in Punkten)

int



Vielen Dank, Valery, für die Klarstellung.

Mit freundlichen Grüßen, Vladimir.

 

Guten Tag und gute Laune an alle!

Ich lerne weiter die Programmiersprache MQL5. Heute ist der Zeitpunkt gekommen, an dem ich den Code des Expert Advisors mit Trailing-Stop der Öffentlichkeit zugänglich machen kann. Da der Code des Expert Advisors recht umständlich ist, musste ich die Kommentare so weit wie möglich kürzen und ihn als Datei namens Trailing_Stop (v.1).mq5 veröffentlichen. Ich werde die Version des Expert Advisors mit detaillierten Kommentaren zu jeder Codezeile in einer für einen Studenten im ersten Jahr einer Programmierschule leicht verständlichen Form etwas später veröffentlichen.

Bevor wir den Code veröffentlichen, haben wir den Expert Advisor im Strategietester überprüft. Es wurden keine Probleme festgestellt. Das Netting-System der Positionsbuchhaltung wird im Expert Advisor verwendet. Dieses Buchhaltungssystem bedeutet, dass es zu einem bestimmten Zeitpunkt auf dem Konto nur eine offene Position für dasselbe Symbol (Wertpapier) geben kann.

Zum jetzigen Zeitpunkt hat der Expert Advisor die Fähigkeit implementiert,:

  1. Überprüfen Sie das Handelskonto, auf dem Sie die Software installieren möchten. Wenn der Expert Advisor auf einem Demokonto installiert wird, erscheint in der Nachrichtenbox die Erlaubnis, weiter zu arbeiten. Wenn versucht wird, den Expert Advisor auf einemrealen Konto zu installieren, wird im Meldungsfenster eine Warnung angezeigt, dass er nicht weiter funktionieren kann, und er wird dann automatisch aus dem Arbeitsfenster des Handelsterminals gelöscht .
  2. Einmal pro Handelstag, um Punkt 9 Uhr Moskauer Zeit, eröffnen Sie automatisch eine Position in der Richtung, in die der erste Tick gerichtet ist. Wenn beispielsweise der erste Tick um 9 Uhr Moskauer Zeit nach oben gerichtet ist, wird eine KAUF-Position eröffnet; wenn der erste Tick nach unten gerichtet ist, wird eine VERKAUF-Position eröffnet.
  3. Legen Sie die Losgröße fest.
  4. Legen Sie die Größe des Stop Loss fest.
  5. Geben Sie das Niveau in Bezug auf den Eröffnungskurs an, bei dem der Stop Loss auf Breakeven verschoben wird.
  6. Legen Sie die Trailing-Stufe des Stop-Loss fest.

Diese Version des Expert Advisors setzt teilweise die von Vassily Sokolov vorgeschlagenen Hinweise um. Alle Ergänzungen und detaillierten Kommentare werden in die endgültige Fassung des Umweltgutachtens aufgenommen.

WARNUNG!!!

Dieser Expert Advisor wurde nach dem Selbstlernplan für Demokonten entwickelt und ist nur für Schulungszwecke gedacht! Es ist nicht dafür gedacht, auf einem echten Konto zu handeln und Gewinne zu erzielen!

Mit freundlichen Grüßen, Vladimir.

Dateien:
 

Liebe Teilnehmer und Leser dieses Threads!

Ich saß die ganze Nacht wach und versuchte herauszufinden, warum die zuvor veröffentlichte Datei mit dem Expert Advisor Code, die einen Fehler hatte, nicht durch die korrigierte Version ersetzt werden konnte. Am Morgen habe ich es endlich herausgefunden!

Ehrlich gesagt dachte ich nicht, dass, wenn jemand von den Forumsteilnehmern die Datei Trailing_Stop.mq5 mit dem Fehler bereits heruntergeladen hatte, es nicht möglich wäre, sie einfach zu nehmen und durch eine korrigierte Datei mit demselben Namen zu ersetzen. Es stellte sich heraus, dass man auch den Namen des EA ändern sollte, um die korrigierte Variante zu veröffentlichen.

Aus diesem Grund entschuldige ich mich und schlage vor, die korrigierte Version des Expert Advisors mit dem Namen Trailing_Stop (v.1).mq5 herunterzuladen, die Sie in der vorherigen Nachricht finden.

Mit freundlichen Grüßen, Vladimir.