Backtest im MT5 für den A* ? - Seite 2

Einloggen oder registrieren, um einen Kommentar zu schreiben
Otto Pauser
2044
Otto Pauser  
Last_Buy_Entry = SymbolInfoDouble(_Symbol,SYMBOL_ASK);

Das ist doch blos der aktuelle Ask.

PosPriceOpen = PositionGetDouble (POSITION_PRICE_OPEN);

So bekommst du den Preis zu dem die Position geöffnet wurde.

Carl Schreiber
Moderator
9111
Carl Schreiber  
Wenn es mal läuft, mal nicht, kann ich mich nur wiederholen, prüfe Deinen Code mit dem Debugger (mit historischen Daten)!
Tobse24
182
Tobse24  

Hi Otto,


ja hast recht, hätte dazu schreiben müssen, dass die Belegung von meiner Last_Buy_Entry immer nur zu exakt dem gleichen Zeitpunkt geschieht, in der auch eine Position eröffnet wird - nämlich wenn die Handelsfunktion abgerufen und einmal durchlaufen wird. Er speichert also immer den Preis der zuletzt geöffneten Position. Es funktioniert schon so wie programmiert, vom Backtester mal abgesehen (aber auch nur manchmal...oft passt es auch, echt seltsam.)


Die hier kannte ich nicht:

PositionGetDouble (POSITION_PRICE_OPEN);


Was ist, wenn mehrere Positionen offen sind? Welchen Preis liefert er dann?

Tobse24
182
Tobse24  
Carl Schreiber:
Wenn es mal läuft, mal nicht, kann ich mich nur wiederholen, prüfe Deinen Code mit dem Debugger (mit historischen Daten)!


Wo finde ich den Debugger?


Ich debugge meinen Code eigentlich mit dem Backtester bzw. anhand dessen Reaktionen...

Carl Schreiber
Moderator
9111
Carl Schreiber  

Wir müssen akzeptieren, dass (wahrscheinlich) aus Geschwindigkeitsgründen die visuelle Darstellung 'hinterher hinkt', der Handel aber im Tester funktioniert. Ich habe das jetzt selbst erlebt. Dinge wie Comment() oder die Farbdarstellung eines Indikators hinken zeitlich ein/zwei Bars hinter her.

Das ist schade, denn so taugt er nicht um zB. im Tester manuelles handeln zu lernen. Trotzdem kann man genau erkennen, was ein EA macht, wenn auch etwas verzögert.

Für mich sieht es so aus, als ob das Anpassen der Grafik nicht bei jedem Tick sondern bei jeder zweiten Bar(?) erfolgt. Eigentlich müsste ja im Grunde die Werte für jedes Pixel bei jedem Tick überprüft und ggf. angepasst werden. Es kann sich jeder selber ausrechnen, was das für Zeit kosten würde!

Carl Schreiber
Moderator
9111
Carl Schreiber  
Tobse24:


Wo finde ich den Debugger?


Ich debugge meinen Code eigentlich mit dem Backtester bzw. anhand dessen Reaktionen...

Im Editor erst unter Extras => Optionen => Debug einstellen (Whg,Zeit, ..).

Dann unter Debug entweder mit aktuellen Ticks (auch der grüne Kopf oder F5) oder mit historischen (der blaue Knopf oder Strg+F5) Kursen.

12
Einloggen oder registrieren, um einen Kommentar zu schreiben