[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 576

 
Minodi >>:

Вот так?

if (OrderSelect(OrdersTotal(), SELECT_BY_POS, MODE_TRADES)) {

ot=OrdersTotal();

if (ot<1){

Nein, wenn nur ein Experte arbeitet und nicht mehr als ein Auftrag geöffnet werden soll, können Sie (für den Anfang) wie folgt vorgehen

if(OrdersTotal()==0 && /* все остальные твои условия*/)
 
Was ist, wenn es einen offenen Auftrag oder sogar mehrere Aufträge gibt?
 
Minodi >>:
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
Finden Sie zunächst eine Taktik, testen Sie sie und kümmern Sie sich dann um parallele EAs und linke Aufträge.
 

Ein Hinweis: Es gibt eine Definition für einen Tageshöchst- und -tiefstwert:

if (time!=Time[0]){HiTime=0;LoTime=0;time=Time[0];}

wenn (High[0]>HiPrice)HiTime=TimeCurrent();

if (Low[0]<LoPrice)LoTime=TimeCurrent();

Wir müssen den Zeitpunkt des Hochs/Tiefs mit der angegebenen Tageszeit vergleichen. Zum Beispiel sollte es 22,00 sein.

Kann es so geschrieben werden:

datetime TimeE;

int h=22, m=00, ot;

TimeE=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+""+h+": "+m);

 

Es gibt eine Taktik, aber der EA öffnet sich auf eine seltsame Weise.

Ich habe wohl die Uhrzeit 22.00 Uhr für die Bedingung nicht richtig eingestellt.

Wenn sie zurückgesetzt werden muss, wie?

 

Können Sie mir bitte sagen, was das für ein Truthahn ist? Wohin kann diese Frage verschoben werden?

 

Helfen Sie mir, meinen EA auf den neuesten Stand zu bringen. Die Idee ist einfach: Wenn das Hoch später als das Tief und nach 22.00 Uhr liegt, kaufen Sie vom aktuellen Stand aus, und wenn das Tief später als das Tief und nach 22.00 Uhr liegt, verkaufen Sie vom aktuellen Stand aus. Die Öffnungszeit für Bestellungen ist festgelegt. Stopp und Gewinn sind festgelegt.

In der Praxis hat sich herausgestellt, dass sich das manchmal richtig öffnet, und manchmal nicht auf Bedingung.

Dateien:
 
Minodi >>:
А если есть открытый ордер? или даже несколько? получится эксперт не сработает


Ich mache es einfacher. Aber in diesem Fall wird ein neuer Auftrag eröffnet, wenn der EA neu installiert wird.

if(FLAG_ORDER == NO && Signal_OPEN == OPEN_SELL)
{
TICKET_SELL = OrderSend(Symbol(),OP_SELL,Lot,Bid,5,0,0,NULL,0,0,CLR_NONE);
ERROR = GetLastError();
switch(ERROR)
{
case 0 : FLAG_ORDER = YES;
Signal_OPEN = NO;
Error("Set SELL: ",ERROR);
if(Sound_ON == true) PlaySound(Name_Sound_Open);
return(0);
default: Error("Set SELL: ",ERROR); return;
}
}

 
Wie fügen Sie den Code in ein Thema ein, damit er hervorgehoben wird?
 

Wenn dieser EA auf einem realen Konto ausgeführt wird, tritt der Fehler 146 sehr häufig auf.

Ist es möglich, den Expert Advisor zu veranlassen, mehrere Versuche zu unternehmen, einen Auftrag zu eröffnen, beispielsweise mit einer Pause von einer halben Minute?

Grund der Beschwerde: