Errori, bug, domande - pagina 1329

 

Quando sono passato dal russo all'inglese, con un riavvio del terminale, il pulsante "annulla" è rimasto scritto in russo. Win XP SP3

 

Non si può sovraccaricare

class A {};
void f( const A& ) { Print( 1 ); } //1:
void f(       A& ) { Print( 2 ); } //2:
void OnStart()
{
              A a1;
        const A a2;
        f( a1 ); // ошибка компиляции
        f( a2 ); // нормально, вызывается 1: f( const A& )
         
}

Cosa impedisce di chiamare 2: f( A& ) dove c'è un errore?

I puntatori sono sovraccaricati normalmente

void f( const A* ) { Print( 1 ); }
void f(       A* ) { Print( 2 ); }
void OnStart()
{
              A *a1;
        const A *a2;
        f( a1 ); //нормально
        f( a2 ); //нормально
}
 

Errore di compilazione

void g( int&  array[] ) { Print( __FUNCTION__); }
void h( long& array[] ) { Print( __FUNCTION__); }
template<typename T>
void f( T& t[] )
{
        if (      typename( T ) == "int"  ) g( t ); //Ошибка: parameter conversion not allowed
        else if ( typename( T ) == "long" )  h( t ); //Ошибка: parameter conversion not allowed
}
void OnStart()
{
        int  i[ 1 ];
        long j[ 1 ];
        f( j );
        f( i );
}

ma per il resto

void g( int  array ) { Print( __FUNCTION__); }
void h( long array ) { Print( __FUNCTION__); }
template<typename T>
void f( T t )
{
        if (      typename( T ) == "int"  ) g( t );
        else if ( typename( T ) == "long" ) h( t );
}
void OnStart()
{
        int  i;
        long j;
        f( j );
        f( i );
}
OK
 
Vladimir Zubov:

Quando sono passato dal russo all'inglese, con un riavvio del terminale, il pulsante "annulla" è rimasto scritto in russo. Win XP SP3

Questo perché il vento è russo. I pulsanti del sistema sono firmati dal sistema stesso nella sua lingua
 
Vladimir Zubov:
Questo significa che se l'EA usa la chiamata standard dell'indicatore, anche "ciao"?

No.

Questo è puramente un difetto dell'interfaccia.

 
A100:

Errore di compilazione

altrimenti

ok
Per il post 1769811: è giusto, dovresti usare la specializzazione esplicita dei modelli di funzione qui. Purtroppo non è attualmente supportato dal compilatore, ma l'implementazione è nei piani.
Явная специализация шаблонов функций
Явная специализация шаблонов функций
  • msdn.microsoft.com
Используя шаблон функции, можно указать особое поведение для определенного типа, предоставив явную специализацию (переопределение) шаблона функции для этого типа.
 

Buon pomeriggio, potete per favore guidare il nouveau. Uso MT5 non per il trading, ma come fonte di alcuni dati "casuali" (e non chiedete nemmeno perché - non è un mio capriccio). È possibile ottenere dati storici misurati in tick (ho bisogno di dati bid e ask più volte al secondo). Cosa devo fare? So che quando si testa un indicatore MT5 pompa dei dati - come si usa questo?

Ho un compito di scrivere un indicatore personalizzato che invia i tick attuali a un certo servizio (nessun problema). Non ho trovato da nessuna parte come ottenere dati storici in tick e non in M1.

 
iZer0:

Buon pomeriggio, potete per favore guidare il nouveau. Uso MT5 non per il trading, ma come fonte di alcuni dati "casuali" (e non chiedete nemmeno perché - non è un mio capriccio). È possibile ottenere dati storici misurati in tick (ho bisogno di dati bid e ask più volte al secondo). Cosa devo fare? So che quando si testa un indicatore MT5 pompa dei dati - come si usa questo?

Ho un compito di scrivere un indicatore personalizzato che invia i tick attuali a un certo servizio (nessun problema). Non ho trovato da nessuna parte come ottenere dati storici in tick e non in M1.

CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL,0,ticks);
.
 
pako:
Grazie per il suggerimento. Ma la descrizione dice di ottenere i tick per la sessione di lavoro del terminale. Come ottenere dati storici reali (supponendo, ovviamente, che il fornitore fornisca loro il giusto livello di dettaglio). Per favore, ditemi se questi dati vengono scaricati dal terminale stesso? (per prenderglielo essenzialmente). Cosa determina la profondità dei dati storici?
 
iZer0:
Otterrete solo i prezzi bid e ask (al momento) se li raccogliete voi stessi (scrivendoli in un file). CoruTiscs restituisce solo 2000 tick.