Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1837

 
Andrey Sokolov #:

Auch Ihnen ein frohes neues Jahr. Was haben Sie selbst getan, das nicht funktioniert?

Ich habe einen Tippgeber zusammengebaut, der funktioniert.

Die Frage ist, ob man sie stoppen oder aussetzen soll. Ich habe gerade begonnen, in diese Richtung zu graben.

Mein Verständnis ist wie folgt:

int OnInit()
  {
Start          = TimeCurrent();
MaxMartinLot   = Lot*MathPow(1.4,OrdersClose);
MaxMartinLot2  = Lot*MathPow(K_Martin2,OrdersClose2);

Der Expert Advisor startet zu einem beliebigen Zeitpunkt.

weiter:

void OnTick()
  {
// Получим значение индикатора
   dMA = iMA(Symbol(), 0,PeriodMA, MovingShift, MODE_SMA, PRICE_CLOSE, 0); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.

// Если нет открытых ордеров, то входим в условие
      if(CountOrders()==0)
     {
// Если появился сигнал на покупку, то откроем ордер на покупку
      if(bSignalBuy() == true)
         vOrderOpenBuy();

// Если появился сигнал на продажу, то откроем ордер на продажу
      if(bSignalSell() == true)
         vOrderOpenSell();
     }

es stellt sich heraus, dass, sobaldCountOrders()==0&& (OrderLots()>=Lotcontrol)- "das eingestellte Lot erreicht wurde".

Ich muss das Senden des SignalsbSignalBuy/bSignalSellfür N-Stunden/Tage beenden/anhalten

es stellt sich heraus, dass ichTimeCurrent() mit einem Parameter, wie TimeControl (Name spielt keine Rolle) vergleichen muss

und wenn TimeCurrent()>=TimeControl- dann geht bSignalBuy/bSignalSell wieder.

Ich habe bereits nachgefragt (Sleep) und mir wurde gesagt, dass es nicht empfehlenswert ist, den Prozess zu stoppen.

Die Frage ist nicht, was ich nicht kann, sondern ob ich richtig denke und welche Funktion ich verwenden sollte, um TimeControl zu beschreiben?

 
законопослушный гражданин #:

Ich habe einen Tippgeber zusammengebaut, der funktioniert.


   input int HourPause  = 1;        // Пауза в часах
   datetime  Start      = 0;
//----------------------------------------------------
   // выключаем торговлю
   if (OrderLots()>=Lotcontrol)
     {
      Start=TimeCurrent()+(HourPause*60*60));
     }
// Если нет открытых ордеров, то входим в условие
      if(CountOrders()==0&&Start<=TimeCurrent())
 

Tretyakov Rostyslav #:

Ich danke Ihnen.

Ich fing an, so zu denken:

Wenn (TimeCurrent() >=(OrderCloseTime() + (Pause*60*60)))

Ist das falsch?

 
законопослушный гражданин #:

Ich danke Ihnen.

Ich fing an, so zu denken:

Wenn (TimeCurrent() >=(OrderCloseTime() + (Pause*60*60)))

Ist das falsch?

Das können Sie auch tun.
 
Tretyakov Rostyslav #:
Dies ist auch möglich

Aber zuerst müssen Sie die letzte Bestellung über if(OrderSelect()-right?

 
законопослушный гражданин #:

Aber zuerst müssen Sie die letzte Bestellung über if(OrderSelect()-right?

ja
 

Können Sie mir sagen, ob es vorgefertigte Lösungen für den FIFO-Abschluss gibt? Ich habe nur für MT5 gefunden.

Ist bei MT4 Open Time pending gleich der Aktivierungs- oder Installationszeit?

 
leonerd #:

Können Sie mir sagen, ob es vorgefertigte Lösungen für den FIFO-Abschluss gibt? Ich habe nur für MT5 gefunden.

Ist bei MT4 Open Time pending gleich der Aktivierungs- oder Installationszeit?

Sie ist nach der Aktivierung nicht mehr anhängig.

Was ist FIFO?

 
Tretyakov Rostyslav #:

Sobald sie aktiviert ist, ist sie nicht mehr anhängig.

Was ist FIFO?

FIFO = Fist Input Fist Output - First In First Out Verlassen in der gleichen Reihenfolge wie der Eingang = Warteschlange

FILO = Fist Input Last Output - First In Last Out Exit in umgekehrter Reihenfolge = Stack

 
a007 #:

FIFO = Fist Input Fist Output - First In First Out Verlassen in der gleichen Reihenfolge wie der Eingang = Warteschlange

FILO = Fist Input Last Output - First In Last Out Exit in umgekehrter Reihenfolge = Stack

Ich habe noch nie davon gehört...
Grund der Beschwerde: