Hatalar, hatalar, sorular - sayfa 1780
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
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 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 : Текущее время мс = 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!
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.
Derlerken hata
"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ı
sıralama:
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.
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 ; }
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
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