Überprüfung des Mindeststopps in den auf dem Marktplatz veröffentlichten EAs. - Seite 3

 
Ihor Herasko:

Es tut mir leid, aber wo in Ihrem Code wird der Wert der StopLevel-Variable diskutiert? In dem von Ihnen zitierten Code ändert sich der Wert dieser Variablen nicht. Es kommt zu einer Änderung der Stop- und Profit-Werte. Wenn Sie diese Werte einmal erhöhen, ist es daher unmöglich, sie wieder auf ihren Ausgangswert zurückzusetzen. So werden Sie großen Stopps und Gewinnen hinterherjagen, während das Stopp-Level schon längst gesunken ist.

Ich besitze nicht die Informationen über viele Makler (Dutzende, Hunderte). Bei den Brokern, mit denen ich zu tun habe (da Kunden dort Konten haben), sehe ich eine Zahl von 2 Spreads. Vielleicht gibt es irgendwo einen anderen Wert.

Meiner Meinung nach ist dies der grundsätzlich falsche Ansatz für einen Makler, Informationen zu geben. Es gibt einen Standardmechanismus, um Beschränkungen für Schlagbäume zu erhalten. Wenn wir auf Anfrage 0 erhalten, aber in Wirklichkeit ist es nicht Null. Ändern Sie ihn dann bei jedem Tick, je nach Streuwert, nach Bedarf. Mein Broker, der das Stop Level korrekt anzeigt, ist der einzige Broker, der den richtigen Wert hat.

Die Schlussfolgerung ergab sich aus dem Namen der Funktion - OnInitLevels. Sie ist mit einer einzigen Aktion verbunden.

Sie haben Recht, unsere Funktionen sind nicht ähnlich, aber der Sinn ist derselbe,

Wenn ich die interne Variable ändere, bleibt die externe gleich, und wenn der Anschlag größer oder kleiner wird - dann werden alle internen Variablen neu angeordnet, alles ist OK.

Aber min stop = assign spread *2 Ich werde versuchen, was MetakvotesDemo Server zu sagen hat.

 
Vitalii Ananev:

Ich habe dies getan

Der Expert Advisor hat die Möglichkeit, den Stop auf 3 Arten anzupassen. Legen Sie die Stopgröße (StopLoss) manuell fest oder setzen Sie sie auf Null.

Wenn StopLoss gleich Null ist, wird seine Größe auf der Grundlage der Marktbedingungen berechnet, aber durch die Variable StopLimit begrenzt.

Und in OnInit() werden diese Parameter auf Korrektheit geprüft, denn es macht keinen Sinn, einen Stopp unter 10 Punkte zu setzen.

Ja, aber was ist, wenn der Stopp = 8 ist, wie bei MetacvotesDemo Server?
 

Ich habe dies getan.

int OnInitLevels(string symToWorkmodify)
  {
   int stoplevel;
   stoplevel=SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL);
   double ask=SymbolInfoDouble(symToWorkmodify,SYMBOL_ASK);
   double bid=SymbolInfoDouble(symToWorkmodify,SYMBOL_BID);
   double point=SymbolInfoDouble(symToWorkmodify,SYMBOL_POINT);
   int SPREAD=(ask-bid)/point;
   if(stoplevel==0)stoplevel=SPREAD*2;
   if(lot<SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MIN))lots=SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MIN);else
   if(lot>SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MAX))lots=SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MAX);else lots=lot;
   if(StopLoss>0 && StopLoss<stoplevel)StopLosss=(int)stoplevel;else StopLosss=StopLoss;
   if(TakeProfit>0 && TakeProfit<stoplevel)TakeProfits=(int)stoplevel;else TakeProfits=TakeProfit;
   if(TrailingStop>0 && TrailingStop<stoplevel)TrallingStops=(int)stoplevel;else TrallingStops=TrailingStop;
   if(TakeProfitALL>0 && TakeProfitALL<stoplevel)TakeProfitsAver=(int)stoplevel;else TakeProfitsAver=(int)TakeProfitALL;
   if(TrailingStop>0 && TrailingStop<stoplevel)TrallingStops=(int)stoplevel;else TrallingStops=TrailingStop;

   return(0);
  }

Ich werde abwarten, was der Moderator zu sagen hat.

 
Vitalii Ananev:

Ich habe dies getan

Der Expert Advisor hat die Möglichkeit, den Stop auf 3 Arten anzupassen. Legen Sie die Stopgröße (StopLoss) manuell fest oder setzen Sie sie auf Null.

Wenn StopLoss gleich Null ist, wird seine Größe auf der Grundlage der Marktbedingungen berechnet, aber durch die Variable StopLimit begrenzt.

Und in OnInit() werden diese Parameter auf Korrektheit geprüft, denn es macht keinen Sinn, einen Stopp unter 10 Punkte zu setzen.

Sie sollten dies nicht vorschlagen, denn Ihre Prüfungen enthalten keinen Hinweis auf die Handelsbedingungen des Kontos, die Zahlen kommen von der Obergrenze.
 
Alexander Bereznyak:
Das können Sie nicht behaupten, denn Ihre Überprüfungen haben keinen Bezug zu den Handelsbedingungen des Kontos, die Zahlen stammen von der Obergrenze.
Ich werde Ihnen hier nicht den gesamten Code des Expert Advisors aufschreiben. Es liegt an Ihnen, ob Sie mit meinem Ansatz einverstanden sind oder nicht, ich werde ihn Ihnen nicht aufzwingen.
 
Vladislav Andruschenko:
ja, aber wenn stop = 8 z.B. wie der MetakwotsDemo-Server?
Meinen Sie Stop Loss = 8? Im Beispiel habe ich den minimalen Stop-Loss nicht auf Basis der Handelsbedingungen festgelegt. Aber je nach Zweckmäßigkeit und der im EA implementierten Handelsstrategie.
 
Vitalii Ananev:
Meinen Sie Stoppstufe = 8? In diesem Beispiel habe ich die Mindestgröße des Stop-Loss nicht auf der Grundlage der Handelsbedingungen festgelegt. Aber aus Gründen der Zweckmäßigkeit und der im EA implementierten Handelsstrategie.

Ja, ich verstehe schon, Strategie und so weiter.

es geht nicht um Strategie usw.

Wenn Sie einen EA in den Markt stellen, schneiden sie Ihre Strategie, um sie zu überprüfen, also setzen sie einen Stopp nicht 100 Punkte wie für eine Strategie, sondern 1!

es stellt sich heraus, dass es sich um einen Fehler von 130 handelt, danach hatte ich gefragt :-)

 
Vitalii Ananev:
Meinen Sie Stoppstufe = 8? Im Beispiel habe ich den minimalen Stop-Loss nicht auf Basis der Handelsbedingungen festgelegt. Das hängt von der Zweckmäßigkeit und der im EA implementierten Handelsstrategie ab.
Die Zumutbarkeit kann unbeabsichtigt mit den Handelsbedingungen des Kontos kollidieren
 
Vladislav Andruschenko:

Ja, ich verstehe schon, Strategie und so weiter.

es geht nicht um Strategie usw.

Wenn Sie einen EA in den Markt stellen, schneiden sie Ihre Strategie, um sie zu überprüfen, also setzen sie einen Stopp nicht 100 Punkte wie für eine Strategie, sondern 1!

es stellt sich heraus, dass es sich um einen Fehler von 130 handelt, danach hatte ich gefragt :-)

Wenn das Stop-Level variabel ist, dann binden Sie es entweder an einen Spread, wie Alexander vorgeschlagen hat, oder legen Sie einige Grenzbedingungen fest, unterhalb derer Sie die Stop-Loss-Größe nicht setzen können.
 
Vitalii Ananev:
Genau das meine ich: Wenn der Stopp-Level variabel ist, sollten Sie ihn entweder an den Spread koppeln, wie Alexander vorschlug, oder Grenzbedingungen festlegen, unterhalb derer Sie die Größe des Stopp-Loss nicht festlegen können.

Ich habe nach Spread*2 gesucht - mal sehen, was die sagen.