Problem mit der EA-Validierung auf dem Markt - Seite 7

 
Sergey Gritsay:

Wer war in der Lage, die Prüfung mit einem Saldo von $ 1 zu umgehen, habe ich in meinem Code ist zu überprüfen, ob nicht genug Geld Handel Operationen nicht durchführen. Dementsprechend erhalte ich das folgende Validierungsprotokoll

test on EURUSD,H1
there are no trading operations
test on NZDUSD,H1
there are no trading operations
test on GBPUSDcheck,M30
there are no trading operations
test on XAUUSDcheck,Daily
there are no trading operations


Was ist, wenn ich meinen Kontostand während der Initialisierung überprüfe und die erforderliche Mindestmarge für das Mindestlos prüfe, und wenn ich nicht genug Geld habe, sollte ich meinen Expert Advisor einfach nicht starten?
 
Alexey Kozitsyn:
Wie wäre es, wenn Sie in der Initialisierungsphase den Kontostand und die erforderliche Mindestmarge für das Mindestlos überprüfen und, falls diese nicht ausreicht, den Expert Advisor einfach nicht starten?
ausprobiert, es hilft nicht
 
Sergey Gritsay:
ausprobiert, es hilft nicht

Hm. Interessant, wenn man bedenkt, dass die Ausgabe in der Initialisierungsphase bedeutet, dass die Eingabeparameter, zu denen in diesem Fall auch der Saldo gehören könnte...

Gibt der Expert Advisor in diesem Fall einen Fehler aus? Oder es wird stillschweigend "abgereist"?

 
Alexey Kozitsyn:

Hm. Interessant, wenn man bedenkt, dass die Ausgabe in der Initialisierungsphase bedeutet, dass die Eingabeparameter, zu denen in diesem Fall auch der Saldo gehören könnte...

Gibt der Expert Advisor in diesem Fall einen Fehler aus? Oder es wird stillschweigend "abgereist"?

Ich füge diesen Code hinzu

   if(IsTesting())
     {
     if(AccountFreeMarginCheck(_Symbol,OP_BUY,SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN))<=0.0)
     {
      return(INIT_PARAMETERS_INCORRECT);
     }

Ich erhalte folgende Antwort

test on EURUSD,H1
there are no trading operations
test on NZDUSD,H1
2016.02.01 00:00  exp_martin_new NZDUSD,H1: initialization failed (32767)
there are no trading operations


Validierung erneut fehlgeschlagen.

 
Sergey Gritsay:

Ich füge diesen Code hinzu

MT5? Anscheinend MT4. Und warum nur den Prüfer einschalten?
 

Es gibt sogar einen Artikel zu diesem Thema. Und es gibt einen Code:

bool CheckMoneyForTrade(string symb, double lots,int type)
  {
   double free_margin=AccountFreeMarginCheck(symb,type,lots);
   //-- если денег не хватает
   if(free_margin<0)
     {
      string oper=(type==OP_BUY)? "Buy":"Sell";
      Print("Not enough money for ", oper," ",lots, " ", symb, " Error code=",GetLastError());
      return(false);
     }
   //-- проверка прошла успешно
   return(true);
  }

Wenn also jemandem etwas nicht gefällt, verweisen Sie auf diesen Artikel.

 
Alexey Kozitsyn:
MT5? Anscheinend MT4. Warum nur den Prüfer einschalten?
Was meinen Sie mit dem Tester? Beim Handel habe ich in der Auftragseröffnungsfunktion die Prüfung organisiert
 
Sergey Gritsay:
Was meinen Sie mit dem Tester? Beim Handel habe ich das Häkchen in der Ordereröffnungsfunktion organisiert
if(IsTesting())
Ich bin mir nicht ganz sicher, wozu diese Bedingung dann gut ist?
 
Alexey Kozitsyn:

Es gibt sogar einen Artikel zu diesem Thema. Und es gibt einen Code:

bool CheckMoneyForTrade(string symb, double lots,int type)
  {
   double free_margin=AccountFreeMarginCheck(symb,type,lots);
   //-- если денег не хватает
   if(free_margin<0)
     {
      string oper=(type==OP_BUY)? "Buy":"Sell";
      Print("Not enough money for ", oper," ",lots, " ", symb, " Error code=",GetLastError());
      return(false);
     }
   //-- проверка прошла успешно
   return(true);
  }

Wenn also jemandem etwas nicht gefällt, verweisen Sie auf diesen Artikel.

Wenn Sie diese Funktion verwenden, erhalten Sie einen Validierungsfehler.Es gibt keine Handelsoperationen, und es ist nicht klar, wie man dies korrekt umgehen kann.
 
Sergey Gritsay:
Wenn Sie diese Funktion verwenden, erhalten Sie einen Validierungsfehler.Es gibt keine Handelsoperationen, und es ist nicht klar, wie man das Problem umgehen kann.
Stellen Sie eine Frage an den Marktplatz-Moderator...