Fehler, Irrtümer, Fragen - Seite 1877

 
kaus_bonus:

Wie lange dauert es, den Cache des Testagenten im MT5 zu löschen?



Sie haben gefragt und geantwortet))

Ich erhalte, dass die Cache-Löschzeit 6 Minuten beträgt. Nach dieser Zeit wird der temporäre Ordner des Tester-Agenten gelöscht, und dann geht die Datenaufbereitung wieder weiter.

Das ist lächerlich.

 
Sergey Dzyublik:
Bitte teilen Sie mir mit, ob es Pläne gibt, die Verwendung von Vorlagen in die Gewerkschaft aufzunehmen, damit Sie dies tun können:
Bypass - siehe wie dies in TypeToBytes implementiert ist.
 
Ist der Fehler in diesem Fall korrekt? Wie kann sie umgangen werden, ohne die Konst zu entfernen?
struct STRUCT
{
  const MqlTick Data;
  
  STRUCT( MqlTick &Tick ) : Data(Tick) {} // 'Data' - constructor not defined
};
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2017.04.10 16:23

Erstellung unnötiger Template-Überladungen, die Kompilierfehler verursachen.
template <typename T>
T Func()
{
  T Res;
  
  return(Res);
}

template <typename T>
void Func( T& Value )
{
  T Res = (MqlTick)Value;
}

void OnStart()
{
  Func<string>(); // без этой строки компилируется
  
  MqlTick Tick;
  
  Func(Tick);
}

Der Compiler versucht, eine

void Func( string& );
1595 - nie behoben.
 
EA
input int i = 0;

void OnInit() {}

Optimierer-Parameter 1595

Die Brute-Optimierung dauerte 5,5 Minuten, was, gelinde gesagt, falsch ist.

Alle Protokolle befinden sich in der angehängten Datei. Bitte unterschreiben Sie, ob es reproduzierbar ist oder nicht.

Dateien:
Tester.zip  24 kb
 
fxsaber:
1595 - nie behoben.


Entfernen Sie den expliziten Struct-Cast und alles funktioniert.

template <typename T>
T Func(){
  T Res;
  return(Res);
}

template <typename T>
void Func( T& Value ){
  T Res = Value;
}

void OnStart()
{
  Func<string>(); 
  
  MqlTick Tick;
  Func(Tick);
}


 
Sergey Dzyublik:


Entfernen Sie den expliziten Struct-Cast und alles funktioniert.

Die Entwickler haben den Fehler in der SD bestätigt. Schauen Sie genau hin, der Gips ist nicht da.
 
fxsaber:
Die Entwickler haben den Fehler in der SD bestätigt. Schauen Sie genau hin, der Guss ist nicht da.

template <typename T>
void Func( T& Value )
{
  T Res = (MqlTick) Value;
}
Wie wird dieser Vorgang dann genannt?
 
Sergey Dzyublik:


Entfernen Sie den expliziten Struct-Cast und alles funktioniert.

Zwei Fragen.

1. Was wird mit diesem Code protokolliert?

2. Wie hängt cast mit dem Fehler zusammen, die richtige Funktionsüberladung auszuwählen?

 
Auf MT5 1595 32bit funktioniert alles einwandfrei (Win7 64bit):


template <typename T>
T Func(){
  T Res;
  Print (__FUNCTION__);
  return(Res);
}

template <typename T>
void Func( T& Value ){
  Print (__FUNCTION__);
  T Res = Value;
}

void OnStart()
{
  Func<string>(); 
  
  MqlTick Tick;
  Func(Tick);
}

Ergebnis:
2017.04.26 14:51:14.834 WebTest (EURUSD,H4) Func<string>
2017.04.26 14:51:14.836 WebTest (EURUSD,H4) Func<MqlTick>


Kein Fehler bei der Funktionsauswahl, wie kann es damit zusammenhängen, dass es keinen gibt))
Grund der Beschwerde: