iHigh auslesen fehlerhaft
Hallo,
Code:
int start() lg C$D |
Hi Ca$hDigger,
hast Du sicher gestellt, dass Du aus dem History Center die Daten für das Paar GBP/USD vollständig heruntergeladen hast? |
Zitat:
Und ich gehe jetzt mal davon aus, dass Du beim Backtesten von GBPUSD das Symbol auch im Code vorhanden ist!? traderdoc |
Zitat:
Ja die Daten sind vorhanden. Der Backtest im visuellen Modus wäre sonst auch nicht durchführbar. |
Zitat:
|
Liste der Anhänge anzeigen (Anzahl: 1)
Live gehts aber hier sieht man im Backtest sind alle Werte gleich also komplett falsch ausgelesen...:confused:
|
Zitat:
|
Liste der Anhänge anzeigen (Anzahl: 2)
Zeiträume hab ich verschiedene getestet, es ist immer das gleiche, die Werte ändern sich zwar hin und wieder mal aber High Low Close Open haben immer den selben Wert.
Ich hänge mal mq4 und ex4 an dann kann man es einfach mal selbst ausprobieren (auf visuell stellen dann sieht man die Werte). Egal ob Build 765 oder 509 es ist immer das selbe, im Backtester ist das Auslesen eines chartfremden Währungspaares fehlerhaft! :confused: |
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Ca$hDigger,
ich bin mir (noch) nicht sicher, ob dies weiterhilft. Ich schlage vor, Du änderst Deinen Code wie unten ab (siehe fett gedruckte Passagen): int start() { double high = iHigh(NULL,1440,0); double low = iLow(NULL,1440,0); double open = iOpen(NULL,1440,0); double close = iClose(NULL,1440,0); string TEXT = " high="+high +" low="+low +" open="+open+" close="+close; Comment("WERTE: ",TEXT); return(0); } Ich habe eine kleine Variante Deines Ansatzes geschrieben, wo die Ergebnisse im Journal sichtbar werden (der besseren Verfolgbarkeit wegen). Wie gesagt, ich weiss noch nicht so richtig, ob dir das weiterhilft.... |
Ziel ist es ein Währungspaar auszulesen das im Backtest nicht ausgewählt wurde. Also ich teste im Strategietester GBPUSD und möchte auch Daten von zB EURUSD bekommen. Wenn NULL statt "EURUSD" eingetragen ist werden bei einem Test unter GPBUSD auch nur GPBUSD Werte ausgelesen und nicht die von zB EURUSD.
|
Das ist korrekt,da nutzt es auch nichts, wenn die Werte über die aktuelle Kerze ausgelesen werden. D.h. auch die Benutzung von Close[0] etc? bringen nur die Werte des im Tester eingestellten WP.
Ich werde der Sache mal heute Abend nachgehen. traderdoc |
Zitat:
also, es sieht so aus, als ob immer nur die Open-Preise angezeigt werden. Evtl. ist Dein vorhaben ja auch gar nicht mit dem Strategietester möglich? |
Nun, es sieht wie folgt aus, wenn der Tester z.B. im WP GBPUSD läuft:
Benutzt man double high = iHigh("EURUSD",1440,0); d.h die Werte der aktuellen Kerze, dann werden bei alle OHLC-Werte immer nur der Wert vom Open der aktuellen Kerze angezeigt. Benutzt man double high = iHigh("EURUSD",1440,1); d.h die Werte der ersten geschlossenen Kerze, dann werden alle OHLC-Werte korrekt angezeigt. Das liegt daran, weil der Tester bei der ersten geschlossenen Kerze auf die historisch vorliegenden 4 Werte zurückgreifen kann. Das kann er aber bei der aktuellen Kerze nicht, weil die o.g. Funktion in ihrer Struktur eine starre!!, eben statische Abfrage ist. Wird nun double high = iHigh("EURUSD",1440,0); abgefragt, dann kann der Tester keine Werte außer für iOpen() liefern, weil der Tester nicht in die Zukunft sehen kann. (wäre aber gar nicht so schlecht!!). Erst wenn die aktuelle Kerze zur geschlossenen wird, werden die OHLC-Werte wie gewohnt auslesbar sein. Der Tester rastert immer nur die aktuelle Kerze des WP ab, die auch im Tester unter "Symbol" eingestellt. ist. traderdoc |
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:01 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum