Diskussion zum Artikel "Welche Überprüfungen der Handelsroboter vor der Veröffentlichung in Market bestehen soll" - Seite 4

 

Sehr gut!

 

Während des automatischen Tests des Expert Advisors kam es zu einem Notabbruch und die Meldung Order Send Error #131: ERR_INVALID_TRADE_VOLUME wurde empfangen. Im Abschnitt "Wie man Fehler in einem Handelsroboter schnell erkennt und behebt" wird die Lösung des Problems in mql5 angegeben. Aber mein Expert Advisor ist in mql4 geschrieben. Wie kann ich das für ihn tun? Wie sollte sich der Expert Advisor verhalten, um die Prüfung der Volumenrichtigkeit zu bestehen?

 
Sergey Vrady:

Während des automatischen Tests des Expert Advisors kam es zu einem Notabbruch und die Meldung Order Send Error #131: ERR_INVALID_TRADE_VOLUME wurde empfangen. Im Abschnitt "Wie man Fehler in einem Handelsroboter schnell erkennt und behebt" wird die Lösung des Problems in mql5 angegeben. Aber mein Expert Advisor ist in mql4 geschrieben. Wie kann ich das für ihn tun? Wie sollte sich der Expert Advisor verhalten, um die Prüfung der Volumenrichtigkeit zu bestehen?


DieSprachen mql5 und mql4 sind fast identisch, der einzige Unterschied liegt in den Namen der Funktionen,

Fügen Sie den Code Ihrer Volumenberechnung bei und man wird Ihnen helfen, ihn in mql4 zu übersetzen.

 

Vielleicht stattdessen:

//--- Überprüfung, ob es Änderungen im Takeprofit-Level gibt
bool TakeProfitChanged=(MathAbs(OrderTakeProfit()-sl)>tp);

So sollte man es machen:

//--- Überprüfung, ob es Änderungen im Takeprofit-Level gibt
bool TakeProfitChanged=(MathAbs(OrderTakeProfit()-tp)>point);

Ich denke, das ist besser.

 
Almaz Allaberenov:

Vielleicht stattdessen:

So sollte man es machen:

Ich denke, das wäre besser.

Kopieren Sie, wir werden es korrigieren, danke.

 

Hallo.

Vielen Dank für den Artikel!

Vielleicht habe ich etwas missverstanden, aber ich denke, dass es eine Ungenauigkeit bei der Prüfung von freeze_level und stops_level gibt.

Laut Test sollte der Abstand "nicht kleiner als" Level sein und in den Tabellen auch >= , alles passt. Aber im Code ist es einfach >

Zum Beispiel

TakeProfit - Bid >= SYMBOL_TRADE_STOPS_LEVEL
TP_check=(TP-Bid>stops_level*_Point);

Was ist also der richtige Weg, >= oder > ?

 
Oleksii Chepurnyi:

Laut Test sollte der Abstand "nicht kleiner als" sein und in den Tabellen auch >= , alles passt. Aber im Code ist es nur >

Zum Beispiel

Ist es also richtig, >= oder > ?

Für die Zuverlässigkeit ist es besser, eine strengere Bedingung zu stellen.
 
Rashid Umarov:
Für die Zuverlässigkeit ist es besser, eine strengere Bedingung zu stellen.

Nun, das kann im Expert Advisor vor der Handelsoperation organisiert werden.

Ist es korrekter, >= in der Prüffunktion selbst zu verwenden? Oder kann es dabei zu Problemen kommen?

 
Oleksii Chepurnyi:

Nun, es kann im Expert Advisor vor der Handelsoperation organisiert werden.

Aber in der Prüffunktion selbst >= ist es korrekter? Oder kann es da Probleme geben?

Manchmal gibt es Probleme mit falschen Stops. Ich prüfe normalerweise auf "größer als stoplevel+1 Punkt", dann gibt es keine Fehler mit falschen Stops.
 
Artyom Trishkin:
Manchmal gibt es Probleme mit falschen Anschlägen. Normalerweise prüfe ich auf "more stoplevel+1 point", dann gibt es keine Fehler mit falschen Stops.
Aber dann gibt es eine Chance, einen Handel zu verpassen....