MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1837

 
Andrey Sokolov # :

Ve sen NG ile. Kendiniz ne yaptınız ve sizin için ne işe yaramıyor?

Toplanan ve çalışan bir konseyim var.

soru, onu durdurmak veya askıya almaktır. bu yönde kazmaya başladım.

şöyle anlıyorum:

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

EA herhangi bir anda başlatılır.

Daha ileri:

 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();
     }

CountOrders()== 0 && (OrderLots()>=Lotcontrol)- "set lot büyüklüğüne ulaşıldı"

N-saat/gün boyunca bSignalBuy/ bSignalSell sinyali göndermeyi durdurmam/askıya almam gerekiyor

Görünüşe göre TimeCurrent () öğesini TimeControl gibi bir tür parametreyle karşılaştırmam gerekiyor (ad önemli değil)

ve eğer TimeCurrent ()>= TimeControl - o zaman sinyal tekrar gider   bSignalBuy/ bSignalSell.

(Uyku) hakkında zaten sormuştum, işlemi durdurmanın tavsiye edilmediği söylendi.

soru ne yapamayacağım değil, doğru düşünüp düşünmediğim ve TimeControl'ü hangi işlevi tanımlayacağım?

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

Toplanan ve çalışan bir konseyim var.


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

Tretyakov Rostyslav # :

teşekkür etmek.

Şöyle düşünmeye başladım:

If (TimeCurrent () >= (OrderCloseTime () + ( Duraklat* 60 * 60)))

yani doğru değil mi

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

teşekkür etmek.

Şöyle düşünmeye başladım:

If (TimeCurrent () >= (OrderCloseTime () + ( Duraklat* 60 * 60)))

yani doğru değil mi

Yani aynı zamanda mümkün
 
Tretyakov Rostyslav # :
Yani aynı zamanda mümkün

ancak burada ilk önce if ( OrderSelect () - doğru mu?

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

ancak burada ilk önce if ( OrderSelect () - doğru mu?

Evet
 

Söyleyin, FIFO'nun kapatması için hazır çözümler var mı? Yalnızca MT5 için bulundu.

MT4 için Açık Bekleme Süresi, etkinleştirme veya yükleme süresine eşit mi?

 
leonerd # :

Söyleyin, FIFO'nun kapatması için hazır çözümler var mı? Yalnızca MT5 için bulundu.

MT4 için Açık Bekleme Süresi, etkinleştirme veya yükleme süresine eşit mi?

Aktivasyondan sonra, artık beklemede değildir.

FİFO nedir?

 
Tretyakov Rostyslav # :

Aktivasyondan sonra, artık beklemede değildir.

FİFO nedir?

FIFO = Yumruk Girişi Yumruk Çıkışı - İlk Giren İlk Çıkar Girdiği sırayla çıkış = Kuyruk

FILO = Yumruk Girişi Son Çıkış - İlk giren son çıkan Çıkış ters sırada = Yığın

 
a007 # :

FIFO = Yumruk Girişi Yumruk Çıkışı - İlk Giren İlk Çıkar Girdiği sırayla çıkış = Kuyruk

FILO = Yumruk Girişi Son Çıkış - İlk giren son çıkan Çıkış ters sırada = Yığın

Duymadım bile...