Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 722

 
SemenTalonov:

Rückgabewert, wenn zum angegebenen Zeitpunkt kein Takt gefunden wurde. Beiexact=false gibtiBarShift den Index des nächstgelegenen Taktes zurück, dessen Öffnungszeit kleiner als die angegebene ist (time_open<time). Wird ein solcher Balken nicht gefunden (kein Verlauf vor dem angegebenen Zeitpunkt), gibt die Funktion -1 zurück.

Aber wir haben Geschichte, das ist eine Tatsache. Alles geschieht zum neuesten Zeitpunkt (0-ter Balken der Zeitreihe).

Ist die Zeitreihe bereit, wenn Sie sie aufrufen?
 
Artyom Trishkin:
Ist die Zeitreihe fertig, wenn Sie sie ansprechen?

Kann sie nicht bereit sein?

 
SemenTalonov:

Könnte sie unvorbereitet sein?

Ja
 
Kommentare, die für dieses Thema nicht relevant sind, wurden in den Bereich "Merkmale der Sprache mql5, Feinheiten und Techniken" verschoben.
 
Synchronisierung von Terminaldaten und Serverdaten

Wenn OnTick() oder OnCalculate() nicht alle erforderlichen Daten abrufen kann, beenden Sie den Event-Handler in der Erwartung, dass Sie beim nächsten Aufruf des Handlers Zugriff auf die Daten erhalten.


Es sieht folgendermaßen aus

 
Wissen Sie, ob es ein Skript oder einen Indikator auf der Website gibt, der das Break-even-Niveau für zwei Indikatoren anzeigt? Ich habe zum Beispiel ein Raster von Aufträgen, der Preis liegt bei 1,2255 und ich habe eine Menge offener Aufträge, aber ich muss das Break-Even-Niveau von zwei Verkaufsaufträgen finden, das Break-Even-Niveau für zwei Verkaufsaufträge, für 1,3400, was ein Gewinn ist und für 1,2150, was ein Minus ist. Hier muss ich das Break-even-Niveau unter ihnen finden. Gibt es ein Skript, das mir helfen sollte, 2 oder 3 schwebende Aufträge anzuzeigen, und das Level 0 wird auf dem Chart angezeigt, unter Berücksichtigung von Lots, Martingale, wenn es eines gibt?
 
Ich schreibe folgendermaßen:
void OnTick()
{
   double raznica=Close[30000];
   Alert(raznica);
}


Es liegt ein Fehler im Prüfgerät vor:



Warum?

 
multiplicator:
Ich schreibe folgendermaßen:

Es liegt ein Fehler im Prüfgerät vor:

Und warum?

Weil es keinen Balken mit dem Index 30000 auf dem Chart und im Terminal gibt

 
Vladimir Pastushak:

Weil es keinen 30000er Balken auf dem Chart und im Terminal gibt

Wie kann ich es dann testen?

der EA muss, wenn er startet, 30.000 vorherige Minuten verarbeiten.


Ich teste gerade einen EA für 2018.

Beim Start sollte es alle Protokolle des Vormonats durchgehen (dies ist der letzte Monat des Jahres 2017),
und verwenden sie zur Berechnung des Ausbreitungskoeffizienten.

Es gibt bis zu 30.000 Minuten.


Kann der EA "in die Zukunft schauen"?
Ich muss die Varianz berechnen, also ist es mir egal, ob die nachfolgenden oder die vorherigen.
 
multiplicator:
Kann der EA "in die Zukunft sehen"?

nicht.

iBars() verwenden, um den verfügbaren Verlauf zu sehen

SZZ: Wenn ich mich nicht irre, im Tester, wenn Sie den Expert Advisor starten ist 1000 Bars zur Verfügung, dann mit der Erzeugung von neuen Daten die Anzahl der Bars wird erhöht. Der Tester modelliert die Historie aller TFs, an die er adressiert ist, d.h. wenn Sie den Test auf H1 laufen lassen und während des Tests auf die Daten in TF M1 zugreifen, dann wird er beim Start für 1000 Bars auf H1 verfügbar sein, und daher 60 * 1000 = 60.000 Bars M1

Sie müssen Artikel wie diesenhier lesen: https://www.mql5.com/ru/articles/1511

Strategy Tester: режимы моделирования при тестировании торговых стратегий
Strategy Tester: режимы моделирования при тестировании торговых стратегий
  • www.mql5.com
Многие программы технического анализа позволяют проводить тестирование торговых стратегий на исторических данных. В большинстве случае тестирование идет по уже сформированным данным, без попыток моделирования движения внутри ценового бара. Получается быстро, но недостаточно точно. Для качественного тестирования торговой стратегии важно выбрать...