Link_x: Ich denke, das mangelnde Verständnis für die Funktionen der technischen Indikatoren. Wenn ich es nicht verstehe, dann sollte ich es verstehen, und zwar durch die Verwendung von Informationen, die "auf der anderen Seite" der Links gefunden werden, die mir von Ihnen durch Tippen und Senden über das Internet übermittelt werden. "Lernen, lernen und nochmals lernen" - ich liebe diesen Satz. )))
Öffnen Sie CCI z. B. in MetaEditor und tragen Sie alles, was Sie nicht verstehen, in das Referenzbuch ein (klicken Sie auf eine unklare Funktion oder einen Ausdruck und drücken Sie F1). Auf diese Weise wird das Lernen viel mehr Spaß machen.
extern int MartinStep = 2; extern double LOT = 0.01;
double GetLot(){
int time = 0;double profit = 0; double lots = 0; double Lot = 0; for(int i = OrdersHistoryTotal()-1;i>=0;i--){ if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){ if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic){ if(time<OrderCloseTime()){ time=OrderCloseTime(); profit=OrderProfit(); lots = OrderLots(); } } } }
if(profit == 0 &&time == 0) { Lot = LOT; } if(profit >= 0) { Lot = LOT; } if(profit < 0 ) { Lot = NormalizeDouble (lots*MartinStep,2); }
return(Lot); }
Bitte helfen Sie mit, Funktionsfehler zu korrigieren. Der EA öffnet mehrere Aufträge korrekt, und dann zeigt das Protokoll einen Fehler "ungültige Lots Menge". Ich kann nicht verstehen, was los ist.
Bitte helfen Sie mit, Funktionsfehler zu korrigieren. Der EA öffnet mehrere Aufträge korrekt, und dann zeigt das Protokoll einen Fehler "ungültige Lots Menge". Ich kann nicht verstehen, was los ist.
Entweder bin ich nie zum Operator Lose = OrderLots(); gekommen und die Lose bleiben immer noch =0. Oder Lose*MartinStep hat die maximal zulässige Losgröße überschritten.
Hallo zusammen! Können Sie mir sagen, wie ich die EA-Neuinitialisierung am Ende des Tages implementieren kann? Nun, in init() gibt es einige Aktionen, die zu einem bestimmten Zeitpunkt wiederholt werden müssen. Ich möchte sie nicht in start() umschreiben. Ich bin mehr an der theoretischen Möglichkeit interessiert, den EA neu zu starten. Ich danke Ihnen im Voraus.
Hallo zusammen! Können Sie mir sagen, wie ich die EA-Neuinitialisierung am Ende des Tages implementieren kann? Nun, in init() gibt es einige Aktionen, die zu einem bestimmten Zeitpunkt wiederholt werden müssen. Ich möchte sie nicht in start() umschreiben. Ich bin mehr an der theoretischen Möglichkeit interessiert, den EA neu zu starten. Ich danke Ihnen im Voraus.
Haben Sie versucht, init() zu einem bestimmten Zeitpunkt aufzurufen?
Würden Sie mir bitte sagen, ob die Flaggen und statischen Variablen zurückgesetzt werden oder im Speicher des EA verbleiben, wenn der EA neu gestartet wird (aus dem Diagramm entfernen und dann wieder einfügen)?
Forexman77: Würden Sie mir bitte sagen, ob die Flaggen und statischen Variablen zurückgesetzt werden oder im Speicher des EA verbleiben, wenn der EA neu gestartet wird (aus dem Diagramm entfernen und dann wieder einfügen)?
Während der Initialisierung wird alles zurückgesetzt, außer den globalen Variablen
Ich denke, das mangelnde Verständnis für die Funktionen der technischen Indikatoren. Wenn ich es nicht verstehe, dann sollte ich es verstehen, und zwar durch die Verwendung von Informationen, die "auf der anderen Seite" der Links gefunden werden, die mir von Ihnen durch Tippen und Senden über das Internet übermittelt werden.
"Lernen, lernen und nochmals lernen" - ich liebe diesen Satz. )))
Öffnen Sie CCI z. B. in MetaEditor und tragen Sie alles, was Sie nicht verstehen, in das Referenzbuch ein (klicken Sie auf eine unklare Funktion oder einen Ausdruck und drücken Sie F1). Auf diese Weise wird das Lernen viel mehr Spaß machen.
extern int MartinStep = 2;
extern double LOT = 0.01;
double GetLot(){
int time = 0;double profit = 0; double lots = 0; double Lot = 0;for(int i = OrdersHistoryTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic){
if(time<OrderCloseTime()){
time=OrderCloseTime();
profit=OrderProfit();
lots = OrderLots();
}
}
}
}
if(profit == 0 &&time == 0)
{
Lot = LOT;
}
if(profit >= 0)
{
Lot = LOT;
}
if(profit < 0 )
{
Lot = NormalizeDouble (lots*MartinStep,2);
}
return(Lot);
}
lots = OrderLots();
Lot = NormalizeDouble (lots*MartinStep,2);Entweder bin ich nie zum Operator Lose = OrderLots(); gekommen und die Lose bleiben immer noch =0. Oder Lose*MartinStep hat die maximal zulässige Losgröße überschritten.
Ich habe es herausgefunden, der Fehler ist hier
Hallo zusammen! Können Sie mir sagen, wie ich die EA-Neuinitialisierung am Ende des Tages implementieren kann? Nun, in init() gibt es einige Aktionen, die zu einem bestimmten Zeitpunkt wiederholt werden müssen. Ich möchte sie nicht in start() umschreiben. Ich bin mehr an der theoretischen Möglichkeit interessiert, den EA neu zu starten. Ich danke Ihnen im Voraus.
Hallo zusammen! Können Sie mir sagen, wie ich die EA-Neuinitialisierung am Ende des Tages implementieren kann? Nun, in init() gibt es einige Aktionen, die zu einem bestimmten Zeitpunkt wiederholt werden müssen. Ich möchte sie nicht in start() umschreiben. Ich bin mehr an der theoretischen Möglichkeit interessiert, den EA neu zu starten. Ich danke Ihnen im Voraus.
Würden Sie mir bitte sagen, ob die Flaggen und statischen Variablen zurückgesetzt werden oder im Speicher des EA verbleiben, wenn der EA neu gestartet wird (aus dem Diagramm entfernen und dann wieder einfügen)?
Während der Initialisierung wird alles zurückgesetzt, außer den globalen Variablen
Bei der Initialisierung wird alles zurückgesetzt, außer den globalen Variablen