2017.02.0221:54:20.450 test_SymbolInfoTick_20170202 (VTBR-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение! 2017.02.0221:54:20.450 test_SymbolInfoTick_20170202 (VTBR-3.17,M1) OnCalculate: Текущее время мс = 1486065260384 (2017.02.0219:54:20), предыдущее = 1486065260387 2017.02.0222:11:31.025 test_SymbolInfoTick_20170202 (GOLD-3.17,M3) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение! 2017.02.0222:11:31.025 test_SymbolInfoTick_20170202 (GOLD-3.17,M3) OnCalculate: Текущее время мс = 1486066290963 (2017.02.0220:11:30), предыдущее = 1486066290966 2017.02.0222:12:44.939 test_SymbolInfoTick_20170202 (BR-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение! 2017.02.0222:12:44.939 test_SymbolInfoTick_20170202 (BR-3.17,M1) OnCalculate: Текущее время мс = 1486066364884 (2017.02.0220:12:44), предыдущее = 1486066364890 2017.02.0222:29:36.358 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение! 2017.02.0222:29:36.358 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067376304 (2017.02.0220:29:36), предыдущее = 1486067376307 2017.02.0222:31:26.462 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение! 2017.02.0222:31:26.462 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067486339 (2017.02.0220:31:26), предыдущее = 1486067486344 2017.02.0222:32:14.441 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение! 2017.02.0222:32:14.441 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067534360 (2017.02.0220:32:14), предыдущее = 1486067534363 2017.02.0222:36:07.509 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение! 2017.02.0222:36:07.510 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067767443 (2017.02.0220:36:07), предыдущее = 1486067767463 2017.02.0222:39:29.606 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение! 2017.02.0222:39:29.606 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067969557 (2017.02.0220:39:29), предыдущее = 1486067969558
Reale, Apertura, Access Server V. Tristezza! Prestate attenzione al problema, per favore. E anche al problema nella domanda#1598238 (a partire da pagina 10, post del2017.01.26 09:43).
Cari sviluppatori, sistemiamo i tic! Codice fornito, eccolo - il problema, non c'è bisogno di cercare nulla, basta reagire e risolverlo!
Oh, e per favore, sistemate già i pannelli nel terminale! Il bug è insignificante, ma fastidioso, se avete bisogno di stringere/allungare frequentemente i pannelli della finestra non stanno al loro posto! Build 1525 x64.
Ordine errato delle chiamate di funzione quando si cambia il periodo del grafico
Percorso dell'indicatore: \Indicatori\Test_i.ex5
Percorso della posizione dell'esperto: {Experts\Test.ex5
Sequenza di azioni:
Allega l'Expert Advisor 'Test.ex5' al grafico M5 (simbolo GBPUSD)
Cambia il periodo del grafico in M15
Cambia il periodo del grafico in M30
Rimuovere l'Expert Advisor dal grafico
Risultato:
#Passo 1: unirsi I::I->M5 OnInit->M5 #fase 2: cambio di periodo M5 ->M15 I::I->M15 OnInit->M15 #step 3: cambio di periodo M15->M30 I::I->M30 OnInit->M30 OnDeinit->M15:3 I::~I->M15 #step 4: cancellare OnDeinit->M5:1 ##questa linea era prevista nel passo #2 come questa: OnDeinit->M5:3 I::~I->M5 ##questa stringa era attesa al passo #2 OnDeinit->M30:1 I::~I->M30
Le righe marcate ## dovevano essere emesse al passo #2 e inoltre deinizializzate a causa del cambio di periodo(REASON_CHARTCHANGE:3) ma non eliminate dal grafico (REASON_REMOVE:1). In altre parole, il passo #2 doveva essere simile al passo #3
Errore di SymbolInfoTick() che restituisce dati irrilevanti - tick overshoot. Build 1525 x64. Test da indicatore, non testato su Expert Advisor:
#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);
}
//+------------------------------------------------------------------+
Risultato:
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
Reale, Apertura, Access Server V. Tristezza! Prestate attenzione al problema, per favore. E anche al problema nella domanda#1598238 (a partire da pagina 10, post del2017.01.26 09:43).
Cari sviluppatori, sistemiamo i tic! Codice fornito, eccolo - il problema, non c'è bisogno di cercare nulla, basta reagire e risolverlo!
Errore di SymbolInfoTick() che restituisce dati irrilevanti - tick overshoot. Build 1525 x64. Test da indicatore, non testato su Expert Advisor:
Cari sviluppatori, sistemiamo i tic! Il codice è stato fornito, eccolo - il problema, non è necessario cercarlo, basta reagire e correggerlo!
Per favore, formate il vostro messaggio con l'applicazione servicedesk.
Errore di compilazione
"ABC"
"DEF"; //нормально
static string text2 =
#ifndef MACRO
"ABC"
#endif
"DEF"; //Error: 'DEF' - some operator expected
Ordine errato delle chiamate di funzione quando si cambia il periodo del grafico
Sequenza di azioni:
Risultato:
#Passo 1: unirsi
I::I->M5
OnInit->M5
#fase 2: cambio di periodo M5 ->M15
I::I->M15
OnInit->M15
#step 3: cambio di periodo M15->M30
I::I->M30
OnInit->M30
OnDeinit->M15:3
I::~I->M15
#step 4: cancellare
OnDeinit->M5:1 ##questa linea era prevista nel passo #2 come questa: OnDeinit->M5:3
I::~I->M5 ##questa stringa era attesa al passo #2
OnDeinit->M30:1
I::~I->M30
Le righe marcate ## dovevano essere emesse al passo #2 e inoltre deinizializzate a causa del cambio di periodo(REASON_CHARTCHANGE:3) ma non eliminate dal grafico (REASON_REMOVE:1). In altre parole, il passo #2 doveva essere simile al passo #3
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 {}
Glitches durante l'installazione degli indicatori di Bill Williams
Ho messo frattali - fa
imposta AO - imposta ADX
costruire 1031
Glitches durante l'installazione degli indicatori di Bill Williams
Ho messo frattali - fa
impostare AO - impostare ADX
costruire 1031
non solo quando si installa questo indicatore, ma di tanto in tanto anche altri.
Riavviando il terminale si risolve il problema.
notato che si avvia dopo il test.
L'indicatore di consegna ZigZag in MT5 bild 1525 sfarfalla a intermittenza (senza riflash)