//----- Martingaleif(Martingale == true)
{
//----- Calcuulate number of losses orders without a breakHistorySelect(0,TimeCurrent());
int Total = HistoryDealsTotal();
int Losses = 0; // Number of losses orders without a breakfor(i = 0;i < Total;i++)
{
ulong Ticket=HistoryDealGetTicket(i);
if(HistoryDealGetInteger(Ticket,DEAL_TYPE) < 2)
{
if(HistoryDealGetDouble(Ticket,DEAL_PROFIT)>0) break;
if(HistoryDealGetDouble(Ticket,DEAL_PROFIT)<0) Losses++;
}
if(Losses<=MaxLossTrade) TradeLot=(TradeLot*MathPow(LotMultiply,Losses));
else TradeLot=TradeLot;
}
}
//-----
Zunächst einmal muss die LR-Korrelation berechnet werden. Dies geschieht in dieser Bibliothek https://www.mql5.com/ru/code/1081
Und dann diesen Wert über OnTester zurückgeben, wie hier https://www.mql5.com/ru/articles/286
bug - MathRound gibt den Typ double statt einer logischen Ganzzahl zurück.
Tatsächlich ist es immer noch ein Fehler - wenn wir eine Zahl runden, sollte es ein int sein. xD
Siehe meine ähnliche Frage im nächsten Thema.
Siehe Abschnitt über explizite Typkonvertierung.
Fehler - MathRound ...
Eine explizite Typkonvertierung hilft gegen die Ausgabe von Warnungen:
Hilfe, es funktioniert nicht, übersetzt von 4.
Ich danke Ihnen.
Von welcher Linie gehen die Probleme aus und was genau sind sie?
G001:
Von welcher Linie gehen die Probleme aus und was genau sind sie?
Im Strategietester wird die Losgröße nach einem Verlustgeschäft nicht erhöht.
Noch einmal: Wo fangen die Probleme an und worin bestehen sie genau?
Tut mir leid, ich weiß nicht, was ich sagen soll, ich weiß nicht, wo das Problem liegt, ich weiß, dass es nicht das tut, was ich brauche.
Tut mir leid, ich weiß nicht, was ich sagen soll, ich weiß nicht, wo das Problem liegt, ich weiß, dass es nicht das tut, was ich brauche.