Errori, bug, domande - pagina 1780
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
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)