Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 348

 
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.
 
Trader7777:


lots = OrderLots();

Lot = NormalizeDouble (lots*MartinStep,2);

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.
 

Ich habe es herausgefunden, der Fehler ist hier

if(profit >= 0)


Ich hätte ein Gleichheitszeichen setzen sollen, denn nach einem Auftrag, der bei 0 geschlossen wurde, wusste der EA nicht, was er tun sollte)
 

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.

 
Pyro:

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?
 
Ja, daran hatte ich gar nicht gedacht:( Danke!!!
 
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
 
Pyro:

Bei der Initialisierung wird alles zurückgesetzt, außer den globalen Variablen
Und hier sollte klargestellt werden, dass es sich bei GV um Terminalvariablen und nicht um EA-Variablen handelt.
Grund der Beschwerde: