Beunruhigt durch den Fehler gibt es keine Handelsgeschäfte - Seite 7

 

Vernünftig, Artyom. In diesem rudimentären Code gibt es eigentlich keine Fehlerdrucker. Ich werde sie auf jeden Fall hinzufügen und noch einmal überprüfen. Dabei hat der Haupt-EA Meldungen für jeden Fehler.

Und zur zweiten Frage: Wenn der Prüfer in der Informationsumgebungdas Mindestlos auf 0,2 setzt und versucht, einen Handel mit einer Starteinlage von 1 $ zu eröffnen. Es ist klar, dass keine Schecks oder Drucke diesen Test bestehen werden. Er endet garantiert mit Fehler 134, wenn nichts geprüft wird, wie im obigen Code. Oder "kein Handel", wenn Sie alles prüfen und den Eröffnungsauftrag nicht an den Server senden.

Was ist der Ausweg aus diesem Teufelskreis?

Warum gibt es bei NZDUSD IMMER keine Trades? Ich habe beide EAs überprüft. Ich habe es meinem Freund geschickt, um es auf seinem Konto zu überprüfen, um die Reinheit des Experiments zu gewährleisten. Er hatte auch keine Berufe. Es spielte keine Rolle, ob der Test erfolgreich war oder nicht. Es gibt keine Einschränkungen für den Handel mit diesem Paar, wie Sie aus dem Code ersehen können.

Es geht nicht nur um mich und meine EA. Keine Trades auf NZDUSD von denjenigen, die den Validator-Bericht in diesem und den benachbarten Threads gepostet haben.
 
Andrey Kaunov:

Vernünftig, Artyom. In diesem rudimentären Code gibt es eigentlich keine Fehlerdrucker. Ich werde sie auf jeden Fall hinzufügen und noch einmal überprüfen. Dabei hat der Haupt-EA Meldungen für jeden Fehler.

Und zur zweiten Frage: Wenn der Prüfer in der Informationsumgebungdas Mindestlos auf 0,2 setzt und versucht, einen Handel mit einer Starteinlage von 1 $ zu eröffnen. Es ist klar, dass keine Schecks oder Drucke diesen Test bestehen werden. Er endet garantiert mit Fehler 134, wenn nichts geprüft wird, wie im obigen Code. Oder "kein Handel", wenn Sie alles prüfen und den Eröffnungsauftrag nicht an den Server senden.

Was ist der Ausweg aus diesem Teufelskreis?

Warum gibt es bei NZDUSD IMMER keine Trades? Ich habe beide EAs überprüft. Ich habe es meinem Kollegen geschickt, damit er es auf seinem Konto überprüft, um die Reinheit des Experiments zu gewährleisten. Er hatte auch keine Berufe. Es spielte keine Rolle, ob der Test erfolgreich war oder nicht. Es gibt keine Einschränkungen für den Handel mit diesem Paar, wie Sie aus dem Code ersehen können.

Es geht nicht nur um mich und meine EA. Keine Trades auf NZDUSD von denjenigen, die den Validator-Bericht in diesem und den benachbarten Threads gepostet haben.

Sie haben es selbst gesagt:

alles überprüfen und keine Bestellung an den Server senden.

Sie müssen es selbst tun, anstatt auf die unvermeidliche Fehlermeldung des Servers zu warten. Und stellen Sie sicher, dass Sie im Protokoll vermerken, dass die Bestellung aus diesem oder jenem Grund nicht an den Server gesendet werden kann.

 
Artyom Trishkin:

...

Sie müssen dies selbst tun und nicht auf die unvermeidliche Fehlermeldung des Servers warten. Und vergewissern Sie sich, dass Sie im Logbuch vermerken, dass der Auftrag aus diesem oder jenem Grund nicht an den Server gesendet werden kann.

Dann bestehe ich die Prüfung also nicht, Artyom. Und nach einer Stunde der Überprüfung erhalte ich einen Bericht, der bereits gerahmt werden kann:

Was ist mit der zweiten Frage, dem NZDUSD? Vielleicht ist es das? Bei EURUSD gibt es immer Abschlüsse, aber bei NZDUSD scheint der Validator zu straucheln. Manchmal rutscht sie weiter ab, dann besteht sie den Test:

Aber in den meisten Fällen bleibt er stehen und erzeugt einen Validierungsfehler. Überprüfen Sie diese NZDUSD, ich denke, es ist das Problem.

 
Andrey Kaunov:

Dann habe ich den Test also nicht bestanden, Artyom. Und nach einer Stunde der Prüfung erhalte ich einen Bericht, den ich bereits einrahmen kann:

Das ist mehr als genug, um alles an Land zu reparieren.

die Fehlermeldungen des Validators waren früher viel bescheidener

Führen Sie den Strategietester auf NZDUSD H1 aus und sehen Sie, was Sie im Protokoll erhalten

dasselbe mit GBPUSD M30

 

Renat, das ist, was in diesem rudimentären Code möglicherweise nicht funktioniert. In meinem Testgerät funktioniert es bei jedem Paar. Hier habe ich sie ein wenig verbessert. Überprüfen Sie es selbst, vielleicht übersehe ich etwas...

#property version   "1.00"
#property strict

int test_ticket[2]={0,0};
double   gl_lots,
         gl_ask,
         gl_bid;
string   gl_comm;         
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() {
//---

//---
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
//---

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() {
   gl_lots=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
   gl_ask=NormalizeDouble(Ask,_Digits);
   gl_bid=NormalizeDouble(Bid,_Digits);
   gl_comm="test";
//---
   if(AccountFreeMarginCheck(_Symbol,OP_BUY,gl_lots)<=0 || GetLastError()==134) {
      printf("Not enough money for the minimum lot: %.4f",gl_lots); 
      ExpertRemove();
   }
   if(test_ticket[1]<8 && test_ticket[0]==0) {
      test_ticket[0]=OrderSend((StringCompare(_Symbol,"NZDUSD")==0?"NZDUSD":_Symbol),OP_BUY,gl_lots,gl_ask,30,0.0,0.0,gl_comm,33333,0,clrNONE);
      if(test_ticket[0]>0) test_ticket[1]++;
   }   
   if(test_ticket[0]>0)
      if(OrderSelect(test_ticket[0],SELECT_BY_TICKET)) {
         if(OrderCloseTime()==0 && OrderOpenTime()+300<TimeCurrent())
            if(OrderClose(test_ticket[0],OrderLots(),gl_bid,30,clrNONE)) {
               printf("Test order closed, ticket #%d",test_ticket[0]);
               test_ticket[0]=0;
            }   
      }
}
//+------------------------------------------------------------------+

Trotz all meiner Befürchtungen habe ich immer noch keine Geschäfte mit dem NZDUSD getätigt:

Aber jetzt der Validator wird nicht zeigen, Fehler 134 und wird nicht zeigen, dass ich es mit 0,2 Lose bei $ 1 erste Einzahlung getestet haben

 
Andrey Kaunov:

Renat, das ist, was in diesem rudimentären Code möglicherweise nicht funktioniert. In meinem Testgerät funktioniert es bei jedem Paar. Also habe ich es ein wenig aufgerüstet:

Und es gibt immer noch keinen Handel mit NZDUSD, verdammt noch mal:

Führen Sie das Programm in einem normalen Tester aus, es können Fehler im Protokoll auftreten.
 

Was soll das bringen, Renat? Also, los geht's.



 
Andrey Kaunov:

Renat, das ist, was in diesem rudimentären Code möglicherweise nicht funktioniert. In meinem Testgerät funktioniert es bei jedem Paar. Hier habe ich sie ein wenig verbessert. Überprüfen Sie es selbst, vielleicht übersehe ich etwas...

Trotz all meiner Befürchtungen habe ich immer noch keine Geschäfte mit dem NZDUSD getätigt:

Aber jetzt zeigt der Validator den Fehler 134 nicht an und zeigt auch nicht an, dass ich ihn mit 0,2 Lots bei einer anfänglichen Einzahlung von $1 getestet habe.

Expert Advisor kann nicht entladen werden.

 
Artyom Trishkin:

Der Experte kann nicht entladen werden.

Artyom, es war genau dasselbe ohne Entladung. Es geht nicht um den Experten, es geht um den NZDUSD. Achten Sie auf das Wesentliche, nicht auf die Einzelheiten!!!

Entladen, um nicht den Fehler zu erhalten, dass die Größe der Protokolldatei überschritten wurde.
 
Andrey Kaunov:

Artyom, es war genau dasselbe ohne den Upload. Es geht nicht um den EA, es geht um den NZDUSD. Achten Sie auf das Wesentliche, nicht auf die Einzelheiten!!!

Der Validator geht die Parameter durch. Bei der ersten Kombination, bei der es keine Trades gibt, entladen Sie den Expert Advisor. Das war's. Weitere Tests sind nutzlos.

Das Wesentliche an der Sache ist, dass Sie dem Validator nicht erlauben, mit dem Expert Advisor zu arbeiten.

Die Tests werden auch dann bestanden, wenn für einige der Symbole keine Geschäfte getätigt werden. Das Wichtigste ist, dass der Expert Advisor einen Protokolleintrag ausgibt, wenn eine Handelsoperation nicht durchgeführt werden kann, und dann weiterarbeitet.
Sie sehen, Sie machen ein Programm für Menschen, keinen Prüfer. Warum brauchen Sie in Ihrem Markt ein Programm, das Fehler nicht behandelt, sondern einfach aus dem Diagramm löscht? Würden Sie selbst ein solches Wunder kaufen?