Piyasanın kapalı olduğunu doğru bir şekilde nasıl bilebilirim? (mql4) - sayfa 4

 

Ve biz böyleyiz:

 MqlTick Tick;
bool IsNewTick( string symbol)
  {
   MqlTick t;
   SymbolInfoTick (symbol,t);
   if (t.time>Tick.time)
     {
       SymbolInfoTick (symbol,Tick);
       return ( true );
     }
   return ( false );
  }

İşlev, enstrümanda yeni bir onay işareti olup olmadığını döndürür.

OnTime için harika. Sadece her sembol için bir Onay işareti olmalıdır

 
Vasyl Nosal :

Vay, çok fazla metin var.

MarketInfo(Symbol(),MODE_TRADEALLOWED)

Bu nedenle, yalnızca enstrüman üzerinde işlemlere izin verme durumunu alacaksınız. Enstrüman işlem görürse , haftanın herhangi bir gününde bunun için geçerli olun.
 
Ihor Herasko :
Bu nedenle, yalnızca enstrüman üzerinde işlemlere izin verme durumunu alacaksınız. Enstrüman işlem görürse , haftanın herhangi bir gününde bunun için geçerli olun.
Doğru değil.
 
Bir sipariş göndermeden önce kontrol edin, http://docs.mql4.com/check/itradeallowed
 
Ramiz Mavludov :
Bir sipariş göndermeden önce kontrol edin, http://docs.mql4.com/check/itradeallowed
Ve bu, otomatik ticaret düğmesi için geçerlidir.
 
Vasyl Nosal :
Ve bu, otomatik ticaret düğmesi için geçerlidir.
anlamadım Otomatik ticareti açmadan danışmanınız hiçbir şey yapmamalıdır.
 
Ramiz Mavludov :
anlamadım Otomatik ticareti açmadan danışmanınız hiçbir şey yapmamalıdır.
Değil. Yapabilir ve prensipte, yapmamaktan daha sık yapmalıdır. Otomatik ticaret düğmesi devre dışı bırakıldığında, yalnızca ticaret işlevleriyle çalışamaz. Diğer hesaplamalar - lütfen.
 
Ramiz Mavludov :
anlamadım Otomatik ticareti açmadan danışmanınız hiçbir şey yapmamalıdır.
Linkte ne yazıyorsa piyasanın kapanması konusu hiç önemli değil.
 
Vasyl Nosal :
Doğru değil.

Belki de tekrar kontrol etmelisin. Bu sorun üzerinde en son çalıştığım, güncellenmiş MQL4'ün ortaya çıkmasından önceydi. Daha sonra bu yöntem, belirli bir zamanda değil, genel olarak sembolle ticaret yapma olasılığını gösterdi. Evet ve şimdi sertifikada kesin bir cevap vermeyen böyle bir ifade var. Hafta sonunu bekleyip kontrol edelim. Veya birinin sembol listesinde ABD hisse senetleri var ve piyasası şu anda kapalı. O zaman şimdi kontrol edebilirsiniz.

Ancak Ramiz Mavludov'un belirttiği IsTradeAllowed'a gelince, her şey gerçekten doğru. Bu fonksiyon, kapalı bir piyasanın durumunu kontrol etmeyi mümkün kılar. Ve şimdi bunu önceden öğrenebilir ve hafta sonunu beklemeyebilirsiniz:

   datetime curDay = D'2015.12.14 05:00' ;
   Print ( "Trade allowed for 2015.12.14 05:00: " , IsTradeAllowed( _Symbol , curDay));
   
   datetime sunday = D'2015.12.20 03:00' ;
   Print ( "Trade allowed for Sunday: " , IsTradeAllowed( _Symbol , sunday));

Sonuç:

 2015.12 . 16 13 : 37 : 23.662 TestData EURUSD,Daily: Trade allowed for Sunday: false
2015.12 . 16 13 : 37 : 23.662 TestData EURUSD,Daily: Trade allowed for 2015.12 . 14 05 : 00 : true
 
Ihor Herasko :

Belki de tekrar kontrol etmelisin. Bu sorun üzerinde en son çalıştığım, güncellenmiş MQL4'ün ortaya çıkmasından önceydi. Daha sonra bu yöntem, belirli bir zamanda değil, genel olarak sembolle ticaret yapma olasılığını gösterdi. Evet ve şimdi sertifikada kesin bir cevap vermeyen böyle bir ifade var. Hafta sonunu bekleyip kontrol edelim. Veya birinin sembol listesinde ABD hisse senetleri var ve piyasası şu anda kapalı. O zaman şimdi kontrol edebilirsiniz.

Ancak Ramiz Mavludov'un belirttiği IsTradeAllowed'a gelince, her şey gerçekten doğru. Bu fonksiyon, kapalı bir piyasanın durumunu kontrol etmeyi mümkün kılar. Ve şimdi bunu önceden öğrenebilir ve hafta sonunu beklemeyebilirsiniz:

Sonuç:

Yani evet.

bool IsTradeAllowed (); Konuşur.