Nauris Zukas: Buon pomeriggio! Un broker è costantemente (una o due volte al giorno) MarketInfo() vola via, ottiene il valore 0 ( specificamente MODE_MARGINREQUIRED). È abbastanza normale, ma allo stesso tempo non c'è nessun tentativo di raggiungere l'indicatore iCustom() (collegato attraverso una risorsa). Anche dopo che MarketInfo() riceve i dati, iCustom() rimane in silenzio. Solo il riavvio del terminale aiuta. Come accedere all'indicatore senza riavviare il terminale, qualche idea? L'indicatore può sparire da qualche parte da una risorsa?
Dopo un mese di test di ogni tipo posso già dire con sicurezza che c'è un problema, solo che non posso dire se la risorsa manca o se iCustom() è rotto. Il problema viene rilevato solo in un broker, il che è molto spiacevole per il trading reale. Prima di buttare in giro parole come MT4 o MQL è un bug, vi darò l'ultimo e più semplice codice ed esecuzione di test. Pubblicherò anche i risultati. Forse c'è un bug nel mio codice, che non conosco. Ancora una volta vi ricordo che il problema viene rilevato solo con un broker (vedrete nel registro).
007:13:36.398'21035322': login datacenter on RoboForex-Pro through DataCenter Europe #3 (ping: 53.56 ms)
007:13:36.802'21035322': previous successful authorization performed from87.110.24.238109:12:42.982'21035322': ping failed
009:12:43.690'21035322': login on RoboForex-Pro through DataCenter Europe #3 (ping: 53.56 ms)
009:12:44.907'21035322': login datacenter on RoboForex-Pro through DataCenter Europe #3 (ping: 53.56 ms)
009:12:45.317'21035322': previous successful authorization performed from87.110.24.238109:12:58.925'21035322': datacenter connecting failed [6]
009:12:59.475'21035322': login on RoboForex-Pro through DataCenter Europe #3 (ping: 53.56 ms)
009:13:02.919'21035322': ping to current access point DataCenter Europe #3is48.62 ms
009:13:59.826'21035322': login datacenter on RoboForex-Pro
009:14:05.639'21035322': login on RoboForex-Pro through DataCenter Europe #5 (ping: 68.86 ms)
009:14:06.482'21035322': login datacenter on RoboForex-Pro through DataCenter Europe #5 (ping: 68.86 ms)
009:14:07.048'21035322': previous successful authorization performed from87.110.24.238009:14:17.958'21035322': ping to current access point DataCenter Europe #5is89.81 ms
111:12:31.864'21035322': ping failed
111:12:31.864'21035322': datacenter connecting failed [6]
Dopo un mese di test di ogni tipo posso già dire con sicurezza che c'è un problema, solo che non posso dire se manca la risorsa o se iCustom() è rotto. Il problema viene rilevato solo in un broker, il che è molto spiacevole per il trading reale. Prima di buttare in giro parole come MT4 o MQL è un bug, vi darò l'ultimo e più semplice codice ed esecuzione di test. Pubblicherò anche i risultati. Forse c'è un errore nel mio codice, che non conosco. Ancora una volta vi ricordo che il problema viene rilevato solo con un broker (vedrete nel registro).
Indicatore:
Esperto:
Riceve gli ultimi dati dell'indicatore. L'indicatore non risponde più. Diario dell'esperto:
Registro MT4 in questo momento:
TimeCurrent() nell'indicatore chiamato da iCustom smette di funzionare quando si rifà il login?
Perché avete bisogno diTimeCurrent() nell'indicatore?
Le serie temporali (time[], open[], ecc.) sono aggiornate?
TimeCurrent() in un indicatore chiamato da iCustom smette di funzionare quando si rifà il login?
A cosa serveTimeCurrent() nell'indicatore?
Le serie temporali (time[], open[], ecc.) sono aggiornate?
Tutto smette di funzionare, come se non ci fosse più un indicatore. TimeCurrent() solo per controllare, l'ultima volta per vedere. Niente (non time[], open[], ecc.) funziona perché l'indicatore non risponde più. Questa è l'ultima stampa dell'indicatore, non ce ne sono altre:
La religione è certamente una buona cosa (intendo esplicitamente questo.*), ma è meglio lasciarla per la chiesa.
class A
{
protected:
template <typename T>
void f( const T* ) {Print(typename(T));}
};
class B : public A
{
public:
void f( const B* b )
{
A::f(b);
}
};
voidOnStart()
{
B b;
b.f(&b);
}
La religione è certamente una buona cosa (intendo esplicitamente questo.*), ma è meglio lasciarla per la chiesa.
Penso che sarebbe più sintetico.
class A
{
protected:
staticvoid f( const A* ) { Print(__FUNCSIG__); }
template <typename T>
void f( const T* ) {Print(typename(T));} // Почему B?
};
class B : public A
{
public:
void f( const A* a )
{
A::f(a); // как вызвать static-метод?
}
};
voidOnStart()
{
B b;
b.f(&b); // deprecated behavior, hidden method calling will be disabled in a future MQL compiler version
}
Buon pomeriggio!
Un broker è costantemente (una o due volte al giorno) MarketInfo() vola via, ottiene il valore 0 ( specificamente MODE_MARGINREQUIRED). È abbastanza normale, ma allo stesso tempo non c'è nessun tentativo di raggiungere l'indicatore iCustom() (collegato attraverso una risorsa). Anche dopo che MarketInfo() riceve i dati, iCustom() rimane in silenzio. Solo il riavvio del terminale aiuta. Come accedere all'indicatore senza riavviare il terminale, qualche idea? L'indicatore può sparire da qualche parte da una risorsa?
Dopo un mese di test di ogni tipo posso già dire con sicurezza che c'è un problema, solo che non posso dire se la risorsa manca o se iCustom() è rotto. Il problema viene rilevato solo in un broker, il che è molto spiacevole per il trading reale. Prima di buttare in giro parole come MT4 o MQL è un bug, vi darò l'ultimo e più semplice codice ed esecuzione di test. Pubblicherò anche i risultati. Forse c'è un bug nel mio codice, che non conosco. Ancora una volta vi ricordo che il problema viene rilevato solo con un broker (vedrete nel registro).
Indicatore:
Esperto:
Riceve gli ultimi dati dell'indicatore.
L'indicatore non risponde più.
Diario dell'esperto:
Log di MT4 in questo momento:
Dopo un mese di test di ogni tipo posso già dire con sicurezza che c'è un problema, solo che non posso dire se manca la risorsa o se iCustom() è rotto. Il problema viene rilevato solo in un broker, il che è molto spiacevole per il trading reale. Prima di buttare in giro parole come MT4 o MQL è un bug, vi darò l'ultimo e più semplice codice ed esecuzione di test. Pubblicherò anche i risultati. Forse c'è un errore nel mio codice, che non conosco. Ancora una volta vi ricordo che il problema viene rilevato solo con un broker (vedrete nel registro).
Indicatore:
Esperto:
Riceve gli ultimi dati dell'indicatore.
L'indicatore non risponde più.
Diario dell'esperto:
Registro MT4 in questo momento:
TimeCurrent() nell'indicatore chiamato da iCustom smette di funzionare quando si rifà il login?
Perché avete bisogno diTimeCurrent() nell'indicatore?
Le serie temporali (time[], open[], ecc.) sono aggiornate?
TimeCurrent() in un indicatore chiamato da iCustom smette di funzionare quando si rifà il login?
A cosa serveTimeCurrent() nell'indicatore?
Le serie temporali (time[], open[], ecc.) sono aggiornate?
Tutto smette di funzionare, come se non ci fosse più un indicatore. TimeCurrent() solo per controllare, l'ultima volta per vedere. Niente (non time[], open[], ecc.) funziona perché l'indicatore non risponde più. Questa è l'ultima stampa dell'indicatore, non ce ne sono altre:
Per aggirare la limitazione di MQL4, devo scriverlo in questo modo.
La religione è certamente una buona cosa (intendo esplicitamente questo.*), ma è meglio lasciarla per la chiesa.
Penso che sarebbe più sintetico.
La religione è certamente una buona cosa (intendo esplicitamente questo.*), ma è meglio lasciarla per la chiesa.
Penso che sarebbe più sintetico.
Questo è sotto i 5 anni.
Chiedete agli sviluppatori: perché viene chiamato il metodo template della zona protetta?
UPD: è quello che il compilatore sostituisce nella chiamata, non B::f(const A*)
Aiuta a bypassare un bug del compilatore MQL4 che non è più in fase di sviluppo.
Stringa di ricerca: Oshibka 021.
Aiuta ad aggirare un bug del compilatore MQL4 che non viene più sviluppato.
questo è il modo in cui MQL4 compila:
UPD:
Fondamentalmente compila anche senza typename T2
Ecco come si compila in MQL4 :
UPD:
Fondamentalmente compila anche senza typename T2
Grazie!