Hatalar, hatalar, sorular - sayfa 1780

 

SymbolInfoTick() işlevi tarafından güncel olmayan veriler döndürülürken hata - kene atlama. 1525 x64 oluşturun. Göstergeden test edin, danışmanı kontrol etmedi:

#property version    "1.00"
#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
  
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
   static long prevMs = 0 ;
   //---
   MqlTick tick;
   if ( SymbolInfoTick ( _Symbol , tick ) )
        {
         if ( prevMs != 0 && tick.time_msc < prevMs )
                {
                 Print ( __FUNCTION__ , ": ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!" );
                 Print ( __FUNCTION__ , ": Текущее время мс = " ,tick.time_msc, " (" + TimeToString ( tick.time, TIME_DATE | TIME_SECONDS )+ "), предыдущее = " ,prevMs );
                }
             //---
            prevMs = tick.time_msc;
        }
   else
         Print ( __FUNCTION__ , ": ОШИБКА #" , GetLastError (), ". Значение текущего тика не получено!" );
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+

Sonuç:

2017.02 . 02 21 : 54 : 20.450 test_SymbolInfoTick_20170202 (VTBR- 3.17 ,M1)     OnCalculate : ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick () вернуло не последнее значение!
2017.02 . 02 21 : 54 : 20.450 test_SymbolInfoTick_20170202 (VTBR- 3.17 ,M1)     OnCalculate : Текущее время мс = 1486065260384 ( 2017.02 . 02 19 : 54 : 20 ), предыдущее = 1486065260387
2017.02 . 02 22 : 11 : 31.025 test_SymbolInfoTick_20170202 (GOLD- 3.17 ,M3)     OnCalculate : ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick () вернуло не последнее значение!
2017.02 . 02 22 : 11 : 31.025 test_SymbolInfoTick_20170202 (GOLD- 3.17 ,M3)     OnCalculate : Текущее время мс = 1486066290963 ( 2017.02 . 02 20 : 11 : 30 ), предыдущее = 1486066290966
2017.02 . 02 22 : 12 : 44.939 test_SymbolInfoTick_20170202 (BR- 3.17 ,M1)       OnCalculate : ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick () вернуло не последнее значение!
2017.02 . 02 22 : 12 : 44.939 test_SymbolInfoTick_20170202 (BR- 3.17 ,M1)       OnCalculate : Текущее время мс = 1486066364884 ( 2017.02 . 02 20 : 12 : 44 ), предыдущее = 1486066364890
2017.02 . 02 22 : 29 : 36.358 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick () вернуло не последнее значение!
2017.02 . 02 22 : 29 : 36.358 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : Текущее время мс = 1486067376304 ( 2017.02 . 02 20 : 29 : 36 ), предыдущее = 1486067376307
2017.02 . 02 22 : 31 : 26.462 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick () вернуло не последнее значение!
2017.02 . 02 22 : 31 : 26.462 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : Текущее время мс = 1486067486339 ( 2017.02 . 02 20 : 31 : 26 ), предыдущее = 1486067486344
2017.02 . 02 22 : 32 : 14.441 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick () вернуло не последнее значение!
2017.02 . 02 22 : 32 : 14.441 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : Текущее время мс = 1486067534360 ( 2017.02 . 02 20 : 32 : 14 ), предыдущее = 1486067534363
2017.02 . 02 22 : 36 : 07.509 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick () вернуло не последнее значение!
2017.02 . 02 22 : 36 : 07.510 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : Текущее время мс = 1486067767443 ( 2017.02 . 02 20 : 36 : 07 ), предыдущее = 1486067767463
2017.02 . 02 22 : 39 : 29.606 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick () вернуло не последнее значение!
2017.02 . 02 22 : 39 : 29.606 test_SymbolInfoTick_20170202 (Si- 3.17 ,M1)       OnCalculate : Текущее время мс = 1486067969557 ( 2017.02 . 02 20 : 39 : 29 ), предыдущее = 1486067969558

Gerçek, Açılış, Erişim Sunucusu V. Hüzün! Lütfen soruna dikkat edin. Ayrıca #1598238 numaralı başvurudaki sorun için de (10. sayfadan başlayarak, 2017.01.26 09:43 tarihli gönderi).

Sevgili geliştiriciler, tiki'yi düzenleyelim! Kod sağlandı, işte burada - sorun, hiçbir şey aramanıza gerek yok, sadece tepki verin ve düzeltin!

 
Evet ve lütfen terminaldeki panelleri sabitleyin! Hata önemsizdir, ancak can sıkıcıdır, sık sık pencereyi sıkıştırmanız / uzatmanız gerekirse, paneller yerine oturmaz! 1525 x64 oluşturun.
 
Hadi kontrol edelim.
 
Alexey Kozitsyn :

SymbolInfoTick() işlevi tarafından güncel olmayan veriler döndürülürken hata - kene atlama. 1525 x64 oluşturun. Göstergeden test edin, danışmanı kontrol etmedi:


Sevgili geliştiriciler, tiki'yi düzenleyelim! Kod sağlandı, işte burada - sorun, hiçbir şey aramanıza gerek yok, sadece tepki verin ve düzeltin!

Lütfen mesajınızı servis masası talebi olarak gönderin.
 
Alexey Da :
Lütfen mesajınızı servis masası talebi olarak gönderin.
#1664077
 

Derlerken hata

static string text1 =
                       "ABC"
                       "DEF" ; //нормально
static string text2 =
#ifndef MACRO
                       "ABC"
#endif
                      
"DEF" ; //Error: 'DEF' - some operator expected
 

Grafik periyodunu değiştirirken yanlış fonksiyon çağrıları sırası

  • Gösterge konumu yolu: \Indicators\Test_i.ex5
  • Uzman konumu yolu: \Experts\Test.ex5

sıralama:

  1. Uzman Danışman 'Test.ex5'i M5 grafiğine ekleyin (sembol GBPUSD)
  2. Grafik dönemini M15 olarak değiştir
  3. Grafik dönemini M30 olarak değiştir
  4. Uzmanı grafikten kaldır

Sonuç:

#adım 1: katıl
ben::I->M5
OnInit->M5
#adım 2: M5 ->M15 dönemini değiştir
ben::I->M15
OnInit->M15
#adım 3: M15->M30 dönemini değiştir
ben::I->M30
OnInit->M30
OnDeinit->M15:3
Ben::~I->M15
#adım 4: sil
OnDeinit->M5:1 ##bu satırın 2. adımda şu şekilde olması bekleniyordu: OnDeinit->M5:3
I::~I->M5 ##bu satır 2. adımda bekleniyordu
OnDeinit->M30:1
Ben::~I->M30

## ile işaretlenmiş satırların 2. adımda görüntülenmesi bekleniyordu ve ayrıca, dönemdeki bir değişiklik ( REASON_CHARTCHANGE:3 ) ve grafikten silinmemesi (REASON_REMOVE:1) nedeniyle başlatmadan arındırma bekleniyordu. Başka bir deyişle, 2. adımın 3. adıma benzer olması bekleniyordu.

//Test_i.mq5 //Индикатор
void Prn( string f, int i = - 1 ) { Print ( f, "->" , StringSubstr ( EnumToString ( Period ()), 7 ), (i == - 1 ? "" : ":" + i )); }
struct I {
         I() { Prn( __FUNCTION__ ); }
        ~I() { Prn( __FUNCTION__ ); }
};
static const I i;
void OnInit ()                     { Prn( __FUNCTION__ ); }
void OnDeinit ( const int reason ) { Prn( __FUNCTION__ , reason ); }
int OnCalculate ( const int , const int , const int , const double & [] ) { return 0 ; }
//Test.mq5  //Эксперт
struct B {
         B();
        ~B();
         const int h;
         static const string name;
};
const string B::name = "Test_i" ;
B::B() : h( iCustom ( NULL , 0 , name ))
{
         if ( ! ChartIndicatorAdd (     0 , 0 , h )    ) Print ( "-1:" , GetLastError ());
}
B::~B()
{
         if ( ! ChartIndicatorDelete ( 0 , 0 , name ) ) Print ( "-2:" , GetLastError ());
         if ( ! IndicatorRelease ( h )              ) Print ( "-3:" , GetLastError ());
}
static const B b;
void OnInit () export {}
 

Bill Williams tarafından göstergeleri kurarken hatalar

fraktalları koy - koy

AO koy - ADX koy

1031 inşa

 
Vladimir Gribachev :

Bill Williams tarafından göstergeleri kurarken hatalar

fraktalları koy - koy

AO koy - ADX koy

1031 inşa

sadece bu göstergeyi ayarlarken değil, zaman zaman ve diğerleri.

terminali yeniden başlatmak sorunu çözer.

Test ettikten sonra başladığını fark ettim.

 

Periyodik olarak titriyor (yeniden çizmeden) MT5 bild 1525'te ZigZag teslim göstergesi