Markt: keine Handelsgeschäfte - Seite 5

 
Alexey Viktorov:

Habe ich es verpasst oder hat niemand spezifiziert, was Sie mit Mehrwährungs-EA meinen?

Ist es möglich, einen EA, der nur auf dem Währungspaar handeln kann, auf dem er platziert ist, als Multiwährung zu bezeichnen, auch wenn er auf verschiedenen Paaren handeln kann?

Wie können wir im MT4-Tester über mehrere Währungen sprechen?

Nun, ich habe einen Multi-Währungs-EA, der auf einem Diagramm platziert ist und mehrere Symbole handelt, der Code ist der gleiche für beide Plattformen. Aber wenn ich es im mt4-Tester laufen lasse, handelt es ein Paar und wenn ich es online laufen lasse, handelt es alle Paare. Die Bedingungen sind dort aufgeführt.

 
Vitaly Muzichenko:

Nun, meine Multiwährung ist die Sache, die auf einem Chart platziert ist und mehrere Symbole handelt, der Code ist der gleiche für beide Plattformen. Aber wenn Sie es im mt4-Tester ausführen, handelt es ein Paar, und wenn Sie es online ausführen, handelt es alle Paare. Die Bedingungen sind dort vorgeschrieben.


Es sollte also kein Problem damit geben.

Ich habe kein Problem damit, es ist die gleiche Mehrfachwährung, sie besteht den Test.

Und keine Handelsaktivitäten dürfen in der Stimmung des Testers sein :-) - Ich weiß nicht, ob er gut gelaunt ist (d.h. sich erfrischt, schläft, einen freien Tag hat) und nicht operiert.

Es reicht, einen anderen Brotaufstrich auszuprobieren oder einen Tag zu warten und schon überspringt sie wieder alles an Stimmung.

 
Vladislav Andruschenko:


Dann sollte es damit kein Problem geben.

die gleiche Mehrfachwährung, besteht den Test.

Und kein Handelsbetrieb kann von der Stimmung des Testers sein :-) - Ich weiß nicht, ob er schlecht gelaunt ist (z. B. weil er sich erfrischt, schläft oder einen freien Tag hat), und er macht keinen Handel.

Ich versuche es mit einem anderen Aufstrich oder warte einen Tag und schon ist die Stimmung wieder weg.

Ich mache meinen 10. Versuch und reduziere die Kontrollen im Code. Bisher ohne Ergebnis, natürlich gibt es viele Prüfungen - ich glaube, ich habe sie alle deaktiviert

 
Vitaly Muzichenko:

Dies ist der 10. Versuch, die Kontrollen im Code zu reduzieren. Bisher ohne Ergebnis, natürlich gibt es eine Menge von Kontrollen - ich glaube, ich habe sie alle ausgeschaltet

Haben Sie versucht, die Spanne und das Paar zu ändern?

Kontrollen aus dem Artikel auf der Website?
 
Vladislav Andruschenko:

Haben Sie versucht, die Spanne und das Paar zu ändern?

Wie kann ich die Kontrollen des Artikels auf der Website überprüfen?

Bis jetzt ist noch nichts gegangen, ich habe das Los direkt in OrderSend(...) verschrieben.

Ich werde eine separate Datei mit minimaler Funktionalität erstellen und versuchen, sie hinzuzufügen, damit ich den Problembereich finde, sonst mache ich einen funktionierenden EA kaputt, indem ich Teile herausschneide)

 
Vitaly Muzichenko:

Für den Moment ist das alles, nichts funktionierte, ich schrieb die Menge direkt in OrderSend(...)

Ich werde eine separate Datei mit minimaler Funktionalität erstellen und versuchen, sie hinzuzufügen, damit ich den Problembereich finde, sonst mache ich einen funktionierenden EA kaputt, indem ich Teile herausschneide)

Hier. Hier. Das habe ich auch schon getan. Schneiden Sie Stücke aus. Ich habe es kaputt gemacht und vergessen, was ich getan habe. Und es stellte sich heraus, dass der Prüfer einfach nicht in der Stimmung war. )))
 
Vitaly Muzichenko:

Nun, mein Multicurrency ist das Ding, das auf einem Chart platziert wird und mehrere Symbole handelt, der Code ist für beide Plattformen derselbe. Aber wenn Sie es im mt4-Tester ausführen, handelt es ein Paar, und wenn Sie es online ausführen, handelt es alle Paare. Die Bedingungen sind dort vorgeschrieben.

Ich habe nach dem EA von Maxim gefragt.

Ich denke, dass diese Frage in naher Zukunft jedes Mal gestellt werden sollte, wenn das Wort "Mehrwährung" fällt... Denn viele Leute denken, dass Multicurrency EA auf jedes Währungspaar gesetzt werden kann und es wird...

 
Evgeny Belyaev:

Wenn das Grundstück kleiner ist als das zulässige Minimum, wird das Grundstück dem zulässigen Minimum gleichgesetzt. Dementsprechend wird EA mit einem größeren Lot handeln, wenn es größer ist.

Es sind keine Prüfungen durch das Prüfgerät erforderlich.

Und vergessen Sie nicht alle anderen Kontrollen. Marge, Normalisierung...

Vitaliy hat dich schon vor langer Zeit auf deinen Fehler hingewiesen, aber anstatt den Fehler zu finden, schimpfst du nur.

Wenn Sie den einfachen EA bei der Positionseröffnung verwenden, kann er bei jedem Tick einen Auftrag auslösen. Sie benötigen keine weitere Handelslogik. Überprüfen Sie alle Ihre Kontrollfunktionen. Wenn sie die Prüfung besteht, ist alles in Ordnung, wenn sie fehlschlägt, prüfen Sie jede einzelne Codezeile. Es sollte klar sein, dass der Validator jedes Lot in den Einstellungen auf 0 oder negativ setzen kann. In diesem Fall sollte der Bot bei ausreichender Marge während des Tests Trades durchführen.

PS Es ist ratsam, auf dem MQ-Server zu prüfen, da der Validator auf diesem Server prüft.
bool CheckVolumeValue(double volume)
{
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
   {
      Print("Volume is less than the minimum");
      return(false);
   }

   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
   {
      Print("Volume is greater than the maximum");
      return(false);
   }

   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);

   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
   {
      Print("Wrong lot size");
      return(false);
   }
     
   if(volume*MarketInfo(Symbol(),MODE_MARGINREQUIRED)>AccountEquity())
   {
      Print("Trade stop is not enough free margin to begin");
      Comment("Trade stop is not enough free margin to begin");
      return(false);
   }
   if(volume<MarketInfo(Symbol(),MODE_MINLOT))
   {
      Print("Trade stop invalid lot size");
      Comment("Trade stop invalid lot size"); 
      return(false);
   }
   return(true);
}
if(!CheckVolumeValue(lt))return;   
   if(!OrderSend(Symbol(),cmd,NormalizeDouble(lt,2),NormalizeDouble(priceStep,Digits()),Slippage,0,0,"",magic,0))

Sie haben es wahrscheinlich nicht bemerkt, ich habe den Validator gezeigt - er hat den Test nicht bestanden...

hinzugefügt.

 if(IsTesting())lоt=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);

Ich hab's:

Automatisierte Produkttests erfolgreich abgeschlossen:

Der Versionstest wurde erfolgreich bestanden. Sie können sie nun zur Überprüfung durch den Moderator einreichen.

Wovon haben Sie da gesprochen?

 
Alexey Viktorov:

Ich habe nach dem EA von Maxim gefragt.

Ich denke, dass diese Frage in naher Zukunft jedes Mal gestellt werden sollte, wenn das Wort "Mehrwährung" fällt... Denn viele Leute denken, dass Multicurrency EA auf jedes beliebige Währungspaar platziert werden kann und er...

Ich habe überhaupt einen Netizen, nie eine Multiwährung, so etwas habe ich nicht geschrieben...

 
Maksim Neimerik:

Ich bin überhaupt ein Netizen, niemals ein Mumtivist, ich habe so etwas nicht geschrieben...

Das ist großartig. Das habe ich auch nicht gelesen. Es handelt sich also um eine imperialistische Verschwörung))))