Hatalar, hatalar, sorular - sayfa 1803

 
Slawa :
Veya, az önce dedikleri gibi , çubuk sayısını isteyin, ayrıca birkaç döngü
Uzun bir boşta kalma süresinden sonra Bars() işlevine bir çağrı varsa, göstergenin başlatılması SymbolIsSynchronized()?
 
Slawa :
Aynısı göstergeler için de geçerlidir. 1 dakikalık bir zamanlayıcı oluşturun ve ilgilendiğiniz tüm zaman serileri için çubuk sayısını sorun.

Senkronizasyon, bir senkronizasyon doğruluk kontrolü tarafından yapılmaz.
Bunu belgelere eklemek güzel olurdu ...
 
Piyasa İzleme'deki Metaquotes-Demo'da yalnızca MOEX sembolleri bırakılırsa, TimeCurrent 15 dakika geride olacaktır. TimeCurrent hemen 15 dakika ileri atladığından, yalnızca bir FOREX sembolü eklemek yeterlidir.
 

Sevgili geliştiriciler! Bir kez daha duygu değerleri ( SYMBOL_SESSION_ ...) ve sipariş defteri ( OnBookEvent() ) için bir an önce ms cinsinden süre eklemenizi rica ediyorum. Mevcut tüm verileri senkronize etme fırsatı verin!

 

Metaquotes-Demo, sembol DIG-20170330

SymbolInfoDouble (Symb,:: SYMBOL_ASK ) = 29006.0
SymbolInfoDouble (Symb, SYMBOL_SESSION_PRICE_LIMIT_MIN ) = 29528.0
( ENUM_SYMBOL_TRADE_MODE ) SymbolInfoInteger (Symb, SYMBOL_TRADE_MODE ) = SYMBOL_TRADE_MODE_FULL ( 4 )

SYMBOL_SESSION_PRICE_LIMIT_MIN'de hata: yukarıda Sor - BuyLimit'i ayarlamak imkansız.

 
fxsaber :

Lütfen bisikletinizi paylaşın: Bir sembolün takas edilmeye hazır olup olmadığını söyleyen bir bool işlevi.

ENUM_DAY_OF_WEEK GetDayOfWeek( const datetime time )
{
   MqlDateTime sTime = { 0 };

   TimeToStruct (time, sTime);
  
   return (( ENUM_DAY_OF_WEEK )sTime.day_of_week);
}

// true - находимся в торговой сессии
bool SessionTrade( string Symb = NULL )
{  
   datetime TimeNow = TimeTradeServer ();
  
   const ENUM_DAY_OF_WEEK DayOfWeek = GetDayOfWeek(TimeNow);
  
  TimeNow %= 24 * 60 * 60 ;
  
   if ((Symb == NULL ) || (Symb == "" ))
    Symb = Symbol ();  
  
   bool Res = false ;
   datetime From, To;    

   for ( int i = 0 ; SymbolInfoSessionTrade (Symb, DayOfWeek , i, From, To) && (!Res); i++)
    Res = ((From <= TimeNow) && (TimeNow < To));
    
   return (Res);
}

// Возвращает true, если символ торгуемый. Иначе - false.
bool SymbolTrade( string Symb = NULL , const int Pause = - 1 )
{
   MqlTick Tick;
  
   if ((Symb == NULL ) || (Symb == "" ))
    Symb = Symbol ();
    
   if (Pause >= 0 )
     Sleep (Pause); // Если только что произошло добавление символа в Обзор рынка, нужно дождаться поступления данных в Marketwatch.
  
   return ( SymbolInfoTick (Symb, Tick) ? ((Tick.bid != 0 ) && (Tick.ask != 0 ) && SessionTrade(Symb) &&
         (( ENUM_SYMBOL_TRADE_MODE ) SymbolInfoInteger (Symb, SYMBOL_TRADE_MODE ) == SYMBOL_TRADE_MODE_FULL )) : false );
}
 
fxsaber :
   
   if (Pause >= 0 )
     Sleep (Pause); // Если только что произошло добавление символа в Обзор рынка, нужно дождаться поступления данных в Marketwatch.
   
Ya göstergedeyse?
 
Artyom Trishkin :
Ya göstergedeyse?
buradan bacaklar

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2017.02.14 12:31

SymbolSelect(true)'dan hemen sonra fiyat talep ediyorum ama sıfır. Bu durumda, _LastError == 0, SymbolInfoTick == true.

Market Watch için yeni bir sembolün fiyatlarının Marketwatch'a teslim edildiğini nasıl anlayabilirim?

Yani SymbolSelect(true) yapılmadıysa ve Pause özel olarak ayarlanmadıysa, o zaman kayma olmaz.
 
fxsaber :
buradan bacaklar
Yani SymbolSelect(true) yapılmadıysa ve Pause özel olarak ayarlanmadıysa, o zaman kayma olmaz.
Dürüst olmak gerekirse, anlamadım. Merak ediyordum: göstergedeki bir sembolün hazır olup olmadığını nasıl öğrenebilirim? Sleep() göstergelerde çalışmıyor.
Gösterge tablodaki daha önce bilinmeyen sembollerle ilgili bazı istatistiksel verileri gösteriyorsa, panelden bir sonraki sembolü seçtiğinizde, çoğu zaman hemen veri alamazsınız ve tabloda yanlış bilgi görüntülenir... Nasıl yapılır? Sembolden sonraki hesaplamalar için alınan verilerin doğru olduğundan ve daha fazla doğru hesaplama elde etmek için yeterli miktarda olduğundan emin misiniz?
 
Artyom Trishkin :
Dürüst olmak gerekirse, anlamadım. Merak ediyordum: göstergedeki bir sembolün hazır olup olmadığını nasıl öğrenebilirim? Sleep() göstergelerde çalışmıyor.
Gösterge tablodaki daha önce bilinmeyen sembollerle ilgili bazı istatistiksel verileri gösteriyorsa, panelden bir sonraki sembolü seçtiğinizde, çoğu zaman hemen veri alamazsınız ve tabloda yanlış bilgi görüntülenir... Nasıl yapılır? Sembolden sonraki hesaplamalar için alınan verilerin doğru olduğundan ve daha fazla doğru hesaplama elde etmek için yeterli miktarda olduğundan emin misiniz?
Uyku , yalnızca sembolün Piyasa İzleme'de olmadığı durumlarda gereklidir. Göstergenin piyasaya sürülmesinden önce (ve çalışma sırasında) Piyasa İzleme'de bulunan tüm semboller için fişe gerek yoktur.