Errori, bug, domande - pagina 1783
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
Domanda: quando sarà chiamato OnDeinit->M5 ?
La mia risposta: mai!
La tua risposta sopra: in modo asincrono e con un ritardo
Sono passati più di 30 minuti e OnDeinit->M5 non è ancora chiamato
E ora cambiamo il codice dell'Expert Advisor (cambia leggermente l'ordine) ...
Risultato:
2017.02.06 01:31:45.002 OnInit->M5
2017.02.06 01:31:48.340 OnDeinit->M5:1 Chiamato immediatamente e senza ritardo!
2017.02.06 01:31:48.409 OnInit->M15
Sono passati più di 30 minuti e non c'è ancora nessuna chiamata OnDeinit->M5
E ora cambiamo il codice Expert (cambiare leggermente l'ordine) ...
Allega il codice, per favore.
Allegato all'ultimo post con lo stesso nome. In realtà una chiamata statica è stata sostituita da una dinamica e il risultato è fondamentalmente diverso
Sembra che nel primo caso l'assenza di OnDeinit e la variabile statica, che di conseguenza abbiamo dimenticato di chiamare il distruttore, abbia giocato un brutto scherzo all'ottimizzazione.
Puoi chiarire di quali thread stiamo parlando? Non funzionano tutti gli indicatori dello stesso simbolo nello stesso thread?
Se cambiamo solo il timeframe, la nuova copia dell'indicatore sarà calcolata nello stesso thread di quella vecchia.
Ma anche noi non possiamo contare sul fatto che il comando Deinit su M5 sarà processato prima del comando Init su M15
Se cambiamo solo il timeframe, la nuova copia dell'indicatore sarà calcolata nello stesso thread di quella vecchia.
Ma qui non possiamo contare sul fatto che il comando Deinit su M5 sarà processato prima del comando Init su M15.
Salve,
si prega di prestare molta attenzione al messaggio https://www.mql5.com/ru/forum/166358/page4#comment_4064293
Questo è molto importante,
c'è un nuovo errore 1158, non è nell'aiuto?
Errore di esecuzione
Violazione di accesso a 0x030A00AD letto a 0x00000005 in 'Test_s.ex5
class A {};
#import "TestA.ex5"
A *error();
#import
class B { protected:
B( const string& name ) : name( name ) {}
virtual int g( const MqlParam& param[] ) const { return ::IndicatorCreate( NULL, PERIOD_CURRENT, IND_CUSTOM, ::ArraySize( param ), param ); }
const string name;
bool f( int h ) const
{
if ( ::ChartIndicatorAdd( 0, 0, h ) )
return true;
error();
return false;
}
};
class C : protected B { protected:
C( int h, string name ) : B( name ), h( h ) { f( this.h ); }
const int h;
};
class D : C { public:
D( string path ) : C( g( path ), path ) {}
int g( const string& path )
{
MqlParam param[ 1 ];
param[ 0 ].type = TYPE_STRING;
param[ 0 ].string_value = path;
return g( param );
}
};
void OnStart() { D d( "Test_i" ); }
#property library
class A {};
A * error() export { return NULL; }
Tutti i file (tranne l'indicatore) si trovano nella cartella MQL5\Scripts\.
L'indicatore stesso non è richiesto, ma può essere scaricato, per esempio, dahttps://www.mql5.com/ru/forum/1111/page1803#comment_4063671
Mettilo in Aiuto, per favore.
Per un riassunto dei programmi in MQL5, vedere la tabella qui sotto:
Programma
Esecuzione
Nota
Script
Nel proprio thread, tanti script quanti sono i thread di esecuzione per essi
Uno script in loop non può interrompere il lavoro di altri programmi
Esperto
Nel proprio thread, altrettanti esperti - altrettanti thread di esecuzione per loro
Un esperto in loop non può interrompere il lavoro di altri programmi
Indicatore
Un thread di esecuzione per tutti gli indicatori su un simbolo. Tanti simboli indicatori - tanti thread di esecuzione per loro
Un loop infinito in un indicatore fermerà tutti gli altri indicatori su questo simbolo
Sono scritti nella forma B'11111111111111111111111111111111111111'.
Ahimè, non ho familiarità con questo formato.
L'esperimento ha mostrato che il numero nel buffer grafico è rappresentato dalle stesse regole del doppio - cioè non è possibile passare un numero così lungo attraverso il buffer grafico - frustrante.