Diskussion zum Artikel "Erstellen und Testen benutzerdefinierter Symbole im MetaTrader 5"

 

Neuer Artikel Erstellen und Testen benutzerdefinierter Symbole im MetaTrader 5 :

Das Erstellen von benutzerdefinierten Symbolen verschiebt die Grenzen der Entwicklung von Handelssystemen und der Finanzmarktanalyse. Jetzt können Händler Charts erstellen und Handelsstrategien mit einer unbegrenzten Anzahl von Finanzinstrumenten testen.

Lassen Sie uns ein benutzerdefiniertes Symbol auf der Basis eines bereits im Market Watch existierenden erstellen. Öffnen Sie das Fenster der Symbole mit der rechten Maustaste und wählen Sie das Symbol aus, mit dem Sie ein benutzerdefiniertes Symbol erstellen möchten.

Autor: MetaQuotes Software Corp.

 

CustomTicksReplace

Полностью заменяет ценовую историю пользовательского инструмента в указанном временном интервале данными из массива типа  MqlTick

Es ist im Skript sehr teuer, einen Tick-Klon eines alten Symbols mit bereits hochgeladener Tick-Historie zu erstellen. CopyTicks funktioniert nicht sofort und überhaupt nicht.

 
Versucht Backtest (in jedem Modus) seit 1. August, Fehler stürzt ab
2017.09.04 11:52:40.139 Tester  EURCHF_custom: history data begins from 2017.07.25 00:00
Geschichten hinzugefügt, kein Glück
2017.09.04 11:57:50.498 Tester  EURCHF_custom: history data begins from 2017.06.13 00:00
 
fxsaber:
Ich versuche Backtest (in jedem Modus) aus dem 1. August, bekomme ich einen FehlerAdded Geschichte, kein Glück

Welcher Zeitrahmen ist für den Test eingestellt? Der Artikel Grundlagen des Testens in MetaTrader 5 sagt, dass 100 Bars erforderlich sind:

Der Test-Agent lädt nur die fehlende Historie mit einer kleinen Reserve herunter, um die notwendigen Daten der Historie für die Berechnung der Indikatoren zum Zeitpunkt des Tests bereitzustellen. Das Mindestvolumen der vom Handelsserver heruntergeladenen Historie für Zeitrahmen D1 und darunter beträgt ein Jahr. Wenn Sie also den Test im Intervall 2010.11.01-2010.12.01 (Test im Intervall von einem Monat) mit der Periode M15 (jeder Balken entspricht 15 Minuten) beginnen, fordert das Terminal die Historie des Instruments für das gesamte Jahr 2010 an. Bei wöchentlichen Zeitrahmen wird die Historie von 100 Balken ange fordert, was ungefähr zwei Jahren entspricht (ein Jahr hat 52 Wochen). Für den Test des monatlichen Zeitrahmens fordert der Agent die Historie für 8 Jahre an (12 Monate * 8 Jahre = 96 Monate).

 
Rashid Umarov:

Welcher Zeitrahmen ist für das Testen vorgesehen? Der Artikel Grundlagen des Testens in MetaTrader 5 besagt, dass 100 Bars erforderlich sind:

M1. Verwenden Sie dieses Skript, um ein Symbol zu erstellen.

 
fxsaber:

M1. Ich habe dieses Skript verwendet, um ein Symbol zu erstellen.

Zusätzlich zu EURCHF_custom habe ich EURUSD_custom erstellt. Und der Backtest auf EURCHF begann, während er Daten von EURUSD_custom zog.

Ich dachte, dass nach dem Löschen von EURUSD_custom der Backtest nicht funktionieren würde, aber nein. Jetzt funktioniert er.

Warum ich EURUSD_custom erstellen und dann löschen musste, damit der Tester funktioniert, ist nicht klar.


ZY Fehler.

Forum zum Thema Trading, automatisierte Handelssysteme und Testen von Handelsstrategien.

Bibliotheken: Symbol

fxsaber, 2017.09.04 13:54

Das neue Kreuz zählt korrekt - es wandelt den Gewinn nicht um. Aber aus irgendeinem Grund ist es ein Major ziehen, wenn es nicht irgendwo anders verwendet wird

2017.09.04 14:46:43.062 Core 1  EURCHF_custom: generate 975389 ticks in 0:00:00.063, passed to tester 3210 ticks
2017.09.04 14:46:43.062 Core 1  EURUSD: generate 979976 ticks in 0:00:00.062, passed to tester 8696 ticks
 
fxsaber:

Zusätzlich zu EURCHF_custom habe ich EURUSD_custom erstellt. Der EURCHF-Backtest lief weiter und bezog Daten von EURUSD_custom.

Ich dachte, dass nach dem Löschen von EURUSD_custom der Backtest nicht funktionieren würde, aber nein. Jetzt funktioniert er.

Warum es notwendig war, EURUSD_custom zu erstellen und dann zu löschen, damit der Tester funktioniert, ist nicht klar.

Sie haben nicht alle Details angegeben - Kontowährung, Gewinnwährung. Wenn der Tester versucht, die Geschichte durch einige Symbole zu erhalten, bedeutet dies, dass es diese Symbole für Berechnungen benötigt.

 
Rashid Umarov:

Sie geben nicht alle Details an - Kontowährung, Gewinnwährung. Wenn der Tester versucht, die Historie durch einige Symbole zu erhalten, bedeutet dies, dass diese Symbole für Berechnungen erforderlich sind.

Es ist interessant, dass der echte EURCHF CHF als Gewinnwährung, EUR als Margin-Währung und EUR als Basiswährung hat.

Der Prüfer gerät also in eine Art Paradoxon. Er muss berechnen, wie viel EUR (Basiswährung) in einem Lot enthalten ist, dann diesen Betrag in EUR (Margin-Währung) umrechnen - hier hat er nur Glück mit dem Verhältnis (EUR/EUR = 1). Dann muss er die Margin in USD (Kontowährung) umrechnen und sehen, ob sie ausreicht. Bei der Berechnung des Gewinns sollte er CHF (Gewinnwährung) in USD (Kontowährung) umrechnen.


Insgesamt sollte der Tester im schlimmsten Fall bis zu drei Umrechnungen vornehmen (wenn die entsprechenden Majors verfügbar sind). Und natürlich zusätzlich DREI Majors zu dem Kreuz hinzuziehen, an dem der Test durchgeführt wird!

 
fxsaber:

Sie testen Deviseninstrumente im Devisen-/Cross-Rate-Modus. Daher sind die Anforderungen an die Marktumgebung die gleichen.

Geben Sie in Ihren Fragen bitte die vollständigen Protokolle an, keine herausgerissenen Zeilen, bitte.

 
Renat Fatkhullin:

Sie testen Deviseninstrumente im Devisen-/Cross-Rate-Modus. Daher sind die Anforderungen an das Marktumfeld die gleichen.

Das verstehe ich nicht.

Geben Sie bei Ihren Fragen bitte vollständige Protokolle an, keine zerrissenen Zeilen, bitte.

Beigefügt.

Dateien:
Log.zip  3 kb
 
fxsaber:

Ich verstehe das nicht.

Beigefügt.

Den Protokollen zufolge ist die Einzahlungswährung USD, der Test wird mit dem Symbol EURCHF durchgeführt. Der Tester benötigt EURUSD- oder USDEUR-Kurse für die Berechnung der Marge.

2017.09.04 15:26:30.999 Tester  EURCHF_custom: history data begins from 2017.06.13 00:00
2017.09.04 15:26:31.000 Core 1  agent process started
2017.09.04 15:26:31.442 Core 1  connecting to 127.0.0.1:3000
2017.09.04 15:26:31.442 Core 1  connected
2017.09.04 15:26:31.448 Core 1  authorized (agent build 1653)
2017.09.04 15:26:31.452 Tester  EURCHF_custom,M1 (MetaQuotes-Demo): testing of Experts\Test.ex5 from 2017.08.01 00:00 to 2017.08.15 00:00
2017.09.04 15:26:31.468 Core 1  common synchronization completed
2017.09.04 15:26:31.529 Tester  quality of analyzed history is 100%
2017.09.04 15:26:31.683 Core 1  MetaTester 5 started on 127.0.0.1:3000
2017.09.04 15:26:31.683 Core 1  initialization finished
2017.09.04 15:26:31.683 Core 1  login (build 1653)
2017.09.04 15:26:31.683 Core 1  38520 bytes of account info loaded
2017.09.04 15:26:31.683 Core 1  1482 bytes of tester parameters loaded
2017.09.04 15:26:31.683 Core 1  2748 bytes of input parameters loaded
2017.09.04 15:26:31.683 Core 1  4356 bytes of symbols list loaded
2017.09.04 15:26:31.683 Core 1  expert file added: Experts\Test.ex5. 446309 bytes loaded
2017.09.04 15:26:31.683 Core 1  initial deposit 10000000.00 USD, leverage 1:500
2017.09.04 15:26:31.683 Core 1  successfully initialized

Er sucht sie unter den verfügbaren Symbolen und findet EURUSD, dann lädt er sie herunter und synchronisiert sie

2017.09.04 15:26:31.683 Core 1  EURUSD: symbol to be synchronized
2017.09.04 15:26:31.683 Core 1  EURUSD: symbol synchronized, 3464 bytes of symbol info received
2017.09.04 15:26:31.683 Core 1  EURUSD: load 27 bytes of history data to synchronize in 0:00:00.000
2017.09.04 15:26:31.683 Core 1  EURUSD: history synchronized from 2016.01.04 to 2017.08.15