Fehler, Irrtümer, Fragen - Seite 2320

 
fxsaber:

Sie haben mich missverstanden.


Ich meinte die zitierte Formel aus C++.

Ich habe überhaupt nichts verstanden - warum sollte ich dieses Zitat verstehen? Sie haben eine Vermutung geäußert - ich habe sie überprüft und veröffentlicht. Denn viele Menschen glauben einfach, was auf dem Zaun steht. Niemand wird das Geschriebene überprüfen, Sie müssen es selbst tun, bevor es zu weit geht.

 
Rashid Umarov:

Ich habe überhaupt nichts verstanden - warum sollte ich mir die Mühe machen, dieses Zitat zu überprüfen? Sie haben eine Vermutung geäußert - ich habe sie überprüft und veröffentlicht. Denn viele Menschen glauben einfach, was auf dem Zaun steht. Niemand wird das Geschriebene überprüfen, Sie müssen es selbst tun, bevor Sie zu weit gehen.

Ich habe den C++-Code herausgefunden und ein Beispiel dafür geschrieben. Wenn es kein Verbot gäbe, wäre es interessant zu erfahren, wie das Beispiel der Sharpe-Divergenz bei identischen TCs aufgenommen wird.


Zusammenfassung:

  • Die Formel in MT liefert dasselbe Ergebnis für identische TCs.
  • Die Formel aus dem C++-Code zeigt unterschiedliche Ergebnisse für identische TCs.
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2018.11.06 18:16

Und in der Formel, die in MT verwendet wird, würde natürlich eine nicht abgezogen werden. In dem vorgeschlagenen Beispiel wäre der Sharpe-Wert immer gleich, egal wie viele Intervalle von 144 beobachtet werden.

Aufgrund dieser Einheit wäre der Unterschied schon bei einer geringen Anzahl von Geschäften deutlich sichtbar. Zum Beispiel: 5 und 5*10.

 
fxsaber:

Ich habe den C++-Code herausgefunden und ein Beispiel dafür geschrieben. Wenn es kein Verbot gäbe, wäre es interessant zu erfahren, wie das Beispiel der Sharpe-Divergenz bei identischen TCs aufgenommen wird.


Zusammenfassung:

  • Die Formel in MT liefert das gleiche Ergebnis für identische TCs.
  • Die Formel aus dem C++-Code zeigt unterschiedliche Ergebnisse für identische TCs.

Ich bin vor einem Jahr auf dieses Problem gestoßen, ich weiß nicht, ob es inzwischen gelöst wurde.

Die FOR-Schleife in MT5 funktionierte nicht korrekt, wenn ich den Pre-Increment-Operator für eine Variable verwendete.

Der Punkt ist, dass in C++ in vielen Fällen Pre-Increment in solchen Schleifen einen kleinen Leistungsgewinn bringt, aber in MT5 verursacht es nur eine falsche Berechnung.

 
Ilham Djumatov:

Ich bin vor einem Jahr auf dieses Problem gestoßen, ich weiß nicht, ob es inzwischen gelöst wurde.

In MT5 funktionierte die FOR-Schleife nicht korrekt, wenn der Operator "pre-increment" für eine Variable darin verwendet wurde.

Der Punkt ist, dass in C++ in vielen Fällen Pre-Increment in solchen Schleifen einen kleinen Leistungsgewinn bringt, aber in MT5 verursacht es nur eine falsche Berechnung.

Solche Aussagen müssen durch technische Details belegt werden.

Zeigen Sie ein Beispiel, um das Problem zu veranschaulichen

 

Wahrscheinlich eine Frage für die Neulingsbranche. Gibt es eine andere Möglichkeit, die aktuelle Zeit im Tester zu ermitteln?

input int inTimer = 1;
const bool Init = EventSetTimer(inTimer);

void OnTimer()
{
  static datetime TimeTester = TimeCurrent();
  TimeTester += inTimer;
    
  Print(__FUNCTION__ + ": " + (string)TimeCurrent());
  Print(__FUNCTION__ + ": " + (string)TimeTester); // Время Тестера
}

void OnTick()
{
  static bool FirstRun = true;
  
  if (FirstRun)
  {
    DebugBreak();
    
    FirstRun = false;
  }
}


Ergebnis

2018.09.03 01:35:45   OnTimer: 2018.09.03 01:35:45
2018.09.03 01:35:46   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:46   OnTimer: 2018.09.03 01:35:46
2018.09.03 01:35:47   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:47   OnTimer: 2018.09.03 01:35:47
2018.09.03 01:35:48   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:48   OnTimer: 2018.09.03 01:35:48
2018.09.03 01:35:49   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:49   OnTimer: 2018.09.03 01:35:49
 

Warum kann das Verfallsdatum eines schwebenden Auftrags nicht auf die nächste Sekunde genau festgelegt werden? Einsparung von Computerressourcen?

Um einen schwebenden Auftrag auf die Sekunde genau zu löschen, müssen wir ein ganzes System mit einem Timer erstellen. Es gibt keine Möglichkeit, dieses Problem im Prüfgerät ohne den Timer zu lösen (siehe oben).

 
Was für ein Fehler ist das?
2018.11.07 22:15:35.840 Core 1  2018.11.02 16:34:10   failed unknown 184467.4407360955 M FILTER_EURUSD.rann_RannForex at 0.00000 tp: 0.00000 [Invalid request]
 
fxsaber:

Wahrscheinlich eine Frage für die Neulingsbranche. Gibt es eine andere Möglichkeit, die aktuelle Zeit im Tester zu ermitteln?

TimeTradeServer().

 
Ich hatte mehrere hundert Themen in meinen Favoriten, die alle gelöscht wurden... Ohne mein Wissen.