2015.03.26 11:44:13.934 test (MIX-6.15,H1) Bingo! We done. 2015.03.26 11:44:13.934 test (MIX-6.15,H1) Init OK.
tutti gli strumenti disponibili sono inclusi nell'analisi di mercato.
Rielaborato il test. lanciato esattamente su MIX con tutti gli altri strumenti inclusi.
Tutto ok.
Il conto è reale in Otkritie. Anche i grafici Ri e Si sono aperti.
2015.03.26 13:56:01.024 Test (MIX-6.15,M1) Init OK.
apertura reale win7 x64 C:\Programmi aperti Broker\terminal64.exe build 1085
Grazie!
L'ho fatto:
Win7/64 Ultimate MT5 build 1085
2015.03.26 15:30:37.229 Test (MIX-6.15,M1) Sorry! Get Bars failed. 2015.03.26 15:30:37.229 Test (MIX-6.15,M1) Get Bars failed RTS-6.15 Last error = 4401
In realtà sto cadendo su MIX-6.15, WIN 7-64 home premium MT5 build 1085:
2015.03.26 15:44:27.729 Test (MIX-6.15,H1) Get Bars failed MIX-6.15 Last error = 4401 2015.03.26 15:44:27.729 Test (MIX-6.15,H1) Sorry! Get Bars failed.
Utenti di FORTS!
Per favore, prendetevi 3 minuti del vostro tempo!
Per risolvere l'errore "fluttuante" - avete bisogno di
Più statistiche!
Utenti di FORTS!
Per favore, prendetevi 3 minuti del vostro tempo!
Per risolvere l'errore "fluttuante" - avete bisogno di
Più statistiche!
Trascorrere 3 min))
Michael, non puoi farlo - con una sola richiesta nell'inite. Non c'è garanzia che tutti i dati siano pronti.
È così che si fa - per senso, ovviamente.
#property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 // bool is_failed = false; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SymbolSelect( "MIX-6.15", true ); SymbolSelect( "RTS-6.15", true ); SymbolSelect( "Si-6.15", true ); //--- ResetLastError(); //--- int total_bars = Bars( "MIX-6.15", PERIOD_M1 ); if ( total_bars > 0 ) { total_bars = Bars( "RTS-6.15", PERIOD_M1 ); if ( total_bars > 0 ) { total_bars = Bars( "Si-6.15", PERIOD_M1 ); { if ( total_bars > 0 ) { Print( "Init OK." ); } else { is_failed = true; Print( "Get Bars failed Si-6.15 Last error = ", string(GetLastError() ) ); } } } else { is_failed = true; Print( "Get Bars failed RTS-6.15 Last error = ", string(GetLastError() ) ); } } else { is_failed = true; Print( "Get Bars failed MIX-6.15 Last error = ", string(GetLastError() ) ); } //--- 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[]) { ResetLastError(); //--- int total_bars = Bars( "MIX-6.15", PERIOD_M1 ); if ( total_bars > 0 ) { total_bars = Bars( "RTS-6.15", PERIOD_M1 ); if ( total_bars > 0 ) { total_bars = Bars( "Si-6.15", PERIOD_M1 ); { if ( total_bars > 0 ) { Print( "Init OK." ); } else { is_failed = true; Print( "Get Bars failed Si-6.15 Last error = ", string(GetLastError() ) ); } } } else { is_failed = true; Print( "Get Bars failed RTS-6.15 Last error = ", string(GetLastError() ) ); } } else { is_failed = true; Print( "Get Bars failed MIX-6.15 Last error = ", string(GetLastError() ) ); } //--- if ( is_failed ) { Print( "Sorry! Get Bars failed." ); } else Print( "Bingo! We done."); //--- return value of prev_calculated for next call return(rates_total); }
Un indicatore multivaluta non è così semplice.
Per prima cosa, controlla la disponibilità degli strumenti:
bool CorrectSymbol( string symbol ) { ResetLastError(); if ( SymbolInfoDouble( symbol, SYMBOL_BID ) > DBL_EPSILON ) return(true); // символ не выбран в "Обзоре рынка" (нет в списке доступных) if ( GetLastError() == 4302 ) { if ( SymbolSelect( symbol, true ) && SymbolInfoInteger( symbol, SYMBOL_SELECT ) ) return(true); } return(false); }
Poi aprite i grafici di tutti gli strumenti utilizzati (un oggetto grafico invisibile è sufficiente) in modo che la storia venga caricata normalmente.
E solo allora provate a caricare la storia usando CheckLoadHistory.
Ma anche questo potrebbe non essere sufficiente.
Trascorrere 3 minuti))
Michael, non puoi farlo - con una richiesta una tantum all'Inite. Non c'è garanzia che tutti i dati siano già pronti.
È così che si fa - per senso, ovviamente.
Sono d'accordo, è un po' sbagliato, ho riscritto il codice (vedi il codice sorgente), MA il risultato è lo stesso!
2015.03.26 16:20:55.564 Test (MIX-6.15,M1) Sorry! Get Bars failed. 2015.03.26 16:20:55.564 Test (MIX-6.15,M1) Get Bars failed Si-6.15 Last error = 4401
Sono d'accordo, un po' scorretto, ho riscritto il codice, MA il risultato è lo stesso!

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Buon pomeriggio!
Di nuovo il servodex non può riprodurre l'errore!
Compila questo codice e "lancia" l'indicatore sul simbolo MIX-6.15
( non da MetaEditor )
Si prega di postare i risultati (da visualizzare nella scheda Esperti) qui.