Fehler, Irrtümer, Fragen - Seite 2388

 
Slava:

Kein Problem. Hier ist der Indikator

Hier sind die Protokolle

Es ist wahr, OnDeinit mit Kontrollanforderung wurde nicht aufgerufen. Wegen des Indikatortests. OnDeinit nur während der Fehlersuche

Und warum werden bei der Fehlersuche an historischen Daten keine Ticks vor dem Startdatum des Tests angezeigt? Der Prüfer hat sie erhalten und synchronisiert sie schließlich. Ich verstehe, dass der Prüfer im Modus "Alle Ticks" keine Ticks vor Beginn der Prüfung erzeugen kann, aber im Modus "Jeder Tick auf der Grundlage echter Ticks" sind sie in der Historie vorhanden und synchronisiert (im Log+ rot hervorgehoben)! Wie kann man dann den Teil des Tick-Indikators, der auf historischen Daten basiert, debuggen? Wie bekommt man die Ticks von bar time[0] im OnCalculate im Tester?

2019.02.20 10:45:28.357 RTS-3.19: symbol to be synchronized
2019.02.20 10:45:28.357 RTS-3.19: symbol synchronized, 3864 bytes of symbol info received
2019.02.20 10:45:28.365 RTS-3.19: history synchronization started
2019.02.20 10:45:28.382 RTS-3.19: load 5264 bytes of history data to synchronize in 0:00:00.007
2019.02.20 10:45:28.382 RTS-3.19: history synchronized from 2017.05.04 to 2019.02.19
2019.02.20 10:45:28.383 RTS-3.19: ticks synchronization started
2019.02.20 10:45:28.384 RTS-3.19: load 38 bytes of tick data to synchronize in 0:00:00.000
2019.02.20 10:45:28.384 RTS-3.19: history ticks synchronized from 2018.12.17 to 2019.02.18
2019.02.20 10:45:28.402 RTS-3.19,M4: history cache allocated for 15218 bars and contains 14188 bars from 2018.01.03 21:16 to 2019.02.14 23:48
2019.02.20 10:45:28.402 RTS-3.19,M4: history begins from 2018.01.03 21:16
2019.02.20 10:45:28.427 RTS-3.19,M4 (Open-Broker): generating based on real ticks
2019.02.20 10:45:28.427 RTS-3.19,M4: testing of Indicators\TestCopyTicksRange.ex5 from 2019.02.15 00:00 to 2019.02.19 00:00 started
2019.02.20 10:45:28.496 RTS-3.19 : real ticks begin from 2018.12.17 00:00:00
2019.02.20 10:46:20.806 2019.02.15 09:45:19   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.809 2019.02.15 09:47:02   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.863 2019.02.15 09:49:47   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.948 2019.02.15 09:55:21   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:21.032 2019.02.15 09:57:25   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:21.200 2019.02.15 10:00:00   2019.02.14 23:28 - 2019.02.15 10:00  ticks_trade=0  ticks_info=15  ticks_all=15
2019.02.20 10:47:25.096 2019.02.15 10:04:00   2019.02.14 23:32 - 2019.02.15 10:04  ticks_trade=3544  ticks_info=973  ticks_all=4517
2019.02.20 10:47:25.099 2019.02.15 10:08:00   2019.02.14 23:36 - 2019.02.15 10:08  ticks_trade=6246  ticks_info=1469  ticks_all=7715
2019.02.20 10:47:25.101 2019.02.15 10:12:00   2019.02.14 23:40 - 2019.02.15 10:12  ticks_trade=7460  ticks_info=1648  ticks_all=9108

Und noch eine Frage: Warum wurde OnCalculate 5 Mal vor dem Auftreten von Ticks (im Protokoll gelb hervorgehoben) aufgerufen?

 
Dmitriy Burlachenko:

Warum zeigt die Fehlersuche bei historischen Daten nicht die Ticks vor dem Startdatum des Tests an? Der Prüfer hat sie erhalten und synchronisiert sie. Ich verstehe, dass der Tester im Modus "Alle Ticks" keine Ticks vor dem Startdatum des Tests erzeugen kann, aber im Modus "Jeder Tick basierend auf echten Ticks" sind sie bereits in der Historie und synchronisiert (im Log+ rot hervorgehoben)! Wie kann man dann den Teil des Tick-Indikators, der auf historischen Daten basiert, debuggen? Wie bekommt man die Ticks von bar time[0] im OnCalculate im Tester?

Und noch eine Frage: Warum wurde OnCalculate 5 Mal vor dem Auftreten von Ticks (im Protokoll gelb hervorgehoben) aufgerufen?

Bei Tests mit einem Yedetic werden sie niemals aufgeben.

Führen Sie bei echten Ticks einige Tests zu einem viel früheren Zeitpunkt durch, damit die Ticks in die Datenbank des Tester-Agenten gepumpt werden.

OnCalculate wird bei jedem Tick aufgerufen. Sie wird nur viel seltener protokolliert, nämlich zu Beginn jedes weiteren zu prüfenden Taktes. Wenn wir natürlich über mein Beispiel eines Indikators sprechen

 
Slava:

Beim Testen auf der eejit wird nie verraten.

Führen Sie bei echten Ticks einige Tests zu einem viel früheren Zeitpunkt durch, damit die Ticks in die Datenbank des Testagenten hochgeladen werden.

OnCalculate wird bei jedem Tick aufgerufen. Es ist nur so, dass die Protokollierung viel seltener erfolgt - zu Beginn jedes nächsten zu prüfenden Taktes. Wenn wir natürlich über mein Beispiel eines Indikators sprechen

Das hat geholfen. Ich danke Ihnen vielmals! :)

 
Slava:

Bild 1997. Das Verhalten der Funktionen zum Schließen von Teilpositionen ist noch nicht festgelegt. Bitte korrigieren Sie den Fehler vor der Veröffentlichung.

 

Ich habe diesen Compilerfehler schon einmal gepostet, aber keine Antwort erhalten, ich versuche es noch einmal:

class A { };
class B : public A { };
class C : public B { };

void f(A &) {  }
void f(B &) {  }  // Должна вызываться эта функция

void OnStart()
{
  C c; 
  f(c); // 'f' - ambiguous call to overloaded function
}

Der Compiler erzeugt einen falschen Fehler. Hier gibt es keine Zweideutigkeit. Die Klasse B ist die nächstgelegene der Vorfahren und hat daher Vorrang.

 

Leute, helft mir, wie ich die Prüfung bestehen kann, bevor ich den Roboter auf den Marktplatz stelle. Es heißt, dass die Validierung nicht bestanden wurde, aber ich verstehe nicht, wo das Problem liegt. Und ich sehe keinen technischen Support auf der Website

 
Stanislav Sarbey:

Leute, helft mir, wie ich die Prüfung bestehen kann, bevor ich den Roboter auf den Marktplatz stelle. Es heißt, dass die Validierung nicht bestanden wurde, aber ich verstehe nicht, wo das Problem liegt. Und ich sehe keinen technischen Support auf der Website

In dem Bericht steht, was das Problem ist...

 

kein Handelsbetrieb

Was bedeutet das?

 
Test auf EURUSD,H1 es gibt keine Handelsoperationen
Test auf NZDUSD,H1 es gibt keine Handelsoperationen Test auf GBPUSDcheck,M30 es gibt keine Handelsoperationen Test auf XAUUSDcheck,Daily es gibt keine Handelsoperationen
 
Stanislav Sarbey:

kein Handelsbetrieb

Was bedeutet das?

Wie wollen Sie auf einem Marktplatz etwas verkaufen, wenn Sie kein Englisch können, was für einen Marktplatz ein Muss ist?