Fehler, Irrtümer, Fragen - Seite 1329

 

Als ich von Russisch auf Englisch umschaltete und das Terminal neu startete, blieb die Schaltfläche "Rückgängig machen" in Russisch geschrieben. Win XP SP3

 

Kann nicht überlastet werden

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& )
         
}

Was hindert Sie daran, 2: f( A& ) aufzurufen, wenn ein Fehler aufgetreten ist?

Die Zeiger werden normalerweise überladen

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

Kompilierungsfehler

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 );
}

aber sonst

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:

Als ich von Russisch auf Englisch umschaltete und das Terminal neu startete, blieb die Schaltfläche "Rückgängig machen" in Russisch geschrieben. Win XP SP3

Das liegt daran, dass das Windsystem russisch ist. Systemtasten werden vom System selbst in seiner eigenen Sprache signiert
 
Vladimir Zubov:
Bedeutet das, dass wenn der EA den Standardindikatoraufruf verwendet, er auch "Hallo" sagt?

Nein.

Dies ist ein reiner Schnittstellenfehler.

 
A100:

Kompilierungsfehler

ansonsten

ok
Zu Beitrag 1769811: Das ist richtig, Sie sollten hier eine explizite Spezialisierung von Funktionsvorlagen verwenden. Leider wird es derzeit vom Compiler nicht unterstützt, aber eine Implementierung ist geplant.
Явная специализация шаблонов функций
Явная специализация шаблонов функций
  • msdn.microsoft.com
Используя шаблон функции, можно указать особое поведение для определенного типа, предоставив явную специализацию (переопределение) шаблона функции для этого типа.
 

Guten Tag, können Sie bitte den Nouveau führen. Ich benutze MT5 nicht für den Handel, sondern als Quelle für einige "zufällige" Daten (und fragen Sie nicht einmal warum - nicht meine Laune). Ist es möglich, historische Daten zu erhalten, die in Ticks gemessen werden (ich benötige Geld- und Briefdaten mehrmals pro Sekunde). Was sollte ich tun? Ich weiß, dass MT5 beim Testen eines Indikators Daten ausgibt - wie kann man das nutzen?

Ich habe die Aufgabe, einen benutzerdefinierten Indikator zu schreiben, der aktuelle Ticks an einen bestimmten Dienst sendet (kein Problem). Ich habe nirgendwo gefunden, wie man historische Daten in Ticks und nicht in M1 erhält.

 
iZer0:

Guten Tag, können Sie bitte den Nouveau führen. Ich benutze MT5 nicht für den Handel, sondern als Quelle für einige "zufällige" Daten (und fragen Sie nicht einmal warum - nicht meine Laune). Ist es möglich, historische Daten zu erhalten, die in Ticks gemessen werden (ich benötige Geld- und Briefdaten mehrmals pro Sekunde). Was sollte ich tun? Ich weiß, dass MT5 beim Testen eines Indikators Daten ausgibt - wie kann man das nutzen?

Ich habe die Aufgabe, einen benutzerdefinierten Indikator zu schreiben, der aktuelle Ticks an einen bestimmten Dienst sendet (kein Problem). Ich habe nirgendwo gefunden, wie man historische Daten in Ticks und nicht in M1 erhält.

CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL,0,ticks);
.
 
pako:
Danke für den Hinweis. In der Beschreibung steht jedoch, dass die Ticks für die Arbeitssitzung des Terminals abgerufen werden sollen. Wie man an echte historische Daten herankommt (vorausgesetzt natürlich, dass der Anbieter sie in der richtigen Detailtiefe bereitstellt). Bitte sagen Sie mir, ob diese Daten vom Terminal selbst heruntergeladen werden? (um es ihm im Wesentlichen wegzunehmen). Wodurch wird die Tiefe der historischen Daten bestimmt?
 
iZer0:
Geld- und Briefkurse erhalten Sie (zur Zeit) nur, wenn Sie sie selbst sammeln (in eine Datei schreiben). CoruTiscs liefert nur 2000 Ticks.