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

 
Sergei Stakhanov:
Guten Tag, liebe Trader! Ich möchte einen Expert Advisor auf dem Markt hinzufügen, mein Freund hat ihn geschrieben, ich habe ihn im offenen Code. Wenn ich ihn hinzufüge, erhalte ich diesen Fehler. Kann mir jemand sagen, ob es realistisch ist, diesen Fehler für eine Person zu beheben, die nicht viel Ahnung vom Programmieren hat, und wie schwer es ist, ihn zu beheben? Vielen Dank im Voraus, Gewinne für alle!

Dieser Fehler kann in drei Minuten behoben werden. Wenn Sie wenigstens ein bisschen Ahnung hätten, würden Sie es einfach in Worten sagen. In Ihrem Fall müssen Sie den Code sehen, um das, was Sie brauchen, an der richtigen Stelle einzufügen.
Ich werde jedoch versuchen, Ihnen einen Tipp ohne den Code zu geben.
1. Suchen Sie die Stelle in Ihrem Code, an der sich die Änderungsfunktion befindet.
2. Suchen Sie die Zeile, in der die TP- oder SL-Ebene für die Änderung angegeben ist
3. Fügen Sie (ungefähr) das Folgende hinzu:

if(OrderTakeProfit()>0 && tp==OrderTakeProfit()) return(true);

// und/oder

if(sl==OrderStopLoss()) return(true);

/*
Die zu vergleichenden Variablen müssen normalisiert werden. 
Ich habe die Normalisierung hier entfernt, um den Code nicht zu überladen.
*/
Sie können nur eine Idee aus diesen Codefragmenten verwenden, Sie haben wahrscheinlich eine andere Codestruktur und andere Variablennamen.
Das Wesen der Prüfung ist einfach:
- vergleichen Sie die TP- oder SL-Ebenen mit den vorhandenen. Wenn die Niveaus gleich sind, verlassen Sie das Programm ohne Änderung.
Der Fehler verschwindet.


Anstatt Variablen zu normalisieren, ist es besser, dieses Konstrukt zu verwenden:
.
if(MathAbs(tp-OrderTakeProfit())<1*Point) return(true);
Übersetzt ins Russische bedeutet dies:
"Wenn der Unterschied zwischen dem TP (oder SL), der für die Änderung festgelegt wurde, und dem bestehenden Preis des Geschäfts weniger als 1 Pip beträgt - ohne etwas zu tun aussteigen"
.
 
test on EURUSD,H1 (netting)
strategy tester report 13 total trades
test on XAUUSD,D1 (netting)
 2020.02.20 17:00:37   failed cancel order #260  sell stop 0.6 XAUUSD at 1616.33 [Invalid stops]
 2020.02.20 18:03:40   failed cancel order #332  sell stop 0.6 XAUUSD at 1618.98 [Invalid stops]
 2020.02.25 13:57:55   failed cancel order #847  sell stop 0.6 XAUUSD at 1644.53 [Invalid stops]
 2020.02.25 14:11:30   failed cancel order #881  sell stop 0.6 XAUUSD at 1646.65 [Invalid stops]
 2020.02.25 16:03:15   failed cancel order #972  sell stop 0.6 XAUUSD at 1651.10 [Invalid stops]
 2020.02.25 17:22:41   failed cancel order #1007  sell stop 0.6 XAUUSD at 1652.99 [Invalid stops]
 2020.02.25 17:52:40   failed cancel order #1070  sell stop 0.6 XAUUSD at 1655.53 [Invalid stops]
strategy tester report 458 total trades

Guten Tag, Kolleginnen und Kollegen, wie kann man solche Fehler umgehen?

Die Verschiebung ist eingestellt, ich verstehe, dass es Probleme gibt, wenn man versucht, sie zu stornieren. Ich kann es im Tester nicht reproduzieren.

 
Alexandr Gavrilin:

Guten Tag, liebe Kolleginnen und Kollegen, wie kann man solche Fehler umgehen?

Die Verschiebung ist eingestellt, ich verstehe, dass es Probleme gibt, wenn man versucht, sie zu stornieren. Ich kann es im Tester nicht reproduzieren.

Sie können im Tester alles machen! Dazu müssen Sie die Zaubertaste verwenden und das Symbol bearbeiten: Stops level, Freeze level....

 
Vladimir Karputov:

Du kannst im Tester alles machen! Dazu müssen Sie die Zaubertaste verwenden und das Symbol bearbeiten: Level anhalten, Level einfrieren ....

Man lernt nie aus, das wird mir bewusst sein.

 
Mein Indikator ist Heatmap für Derivat syntethic Index wie Volatilität Index und Boom Crash und Testbericht zeigt faild Test auf eurusd mein Indikator ist nur für die Anzeige von Trend Stärke der Trend ich weiß nicht, warum sie Test auf eurusd ich beigefügt die discrption und Screenshot aber noch nicht
 

Hallo.

Was ist das für ein Fehler?

Ist er schon einmal aufgetreten?

hinzugefügt.

Jetzt ist das so

Gibt es irgendwelche Funktionen, um dies zu überprüfen?

Hinzugefügt

Jetzt so ein Ding

Hinzugefügt

Verbot des Goldhandels

if(_Symbol=="XAUUSD")return;

und den Autovalidator umgangen


 
Denis Nikolaev:

Hallo.

Was ist das für ein Fehler?

Ist er schon einmal aufgetreten?

Sie haben Gold am ersten Tick des Tages zu einem krummen Preis gehandelt... der Roboter hat vergessen, dass es einen Stop gibt und wieder geschlossen...

Schalten Sie das Terminal ein und handeln Sie mit Ihren Händen, das hilft sehr.

 
Maxim Kuznetsov:

Sie haben Gold am ersten Tick des Tages zu einem krummen Preis gehandelt? der Roboter vergaß, dass es einen Stopp gab und schloss wieder?

Schalten Sie das Terminal ein und handeln Sie mit Ihren Händen, das hilft sehr.

Danke, aber wie kann man mit Fehlern umgehen?

einen speziellen Modus "only_autovalidation" hinzufügen?

 
Denis Nikolaev:

Danke, aber wie gehen Sie mit den Fehlern um?

Fügen Sie einen speziellen Modus "only_autovalidation" hinzu?

Der Fehler "Festplattenplatz prüfen" wird offensichtlich durch Vergrößerung des Datenträgers oder Verkleinerung des geprüften Bereichs behoben. So steht es dort...

 
Maxim Kuznetsov:

Das Problem "Festplattenspeicher prüfen" wird offensichtlich durch Vergrößerung des Datenträgers oder Verkleinerung des getesteten Bereichs behoben. So steht es hier: ....

Es tut mir leid, das ist verständlich, deshalb brauchen wir einen speziellen Modus nur für die automatische Validierung.