Autor |
|
_sascha
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 11
|
|
Hallo, ich versuche gerade ein gappattern vom close bzw. high des letzten tages zum open des nächsten tages zu programmieren.
inputs:breakout(.1); if nextopen > high then buy at nextopen + breakout * average(truerange,3) stop; exitlong at close;
Doch leider bekomme ich ne Fehlermeldung bei "nextopen" und ich weis nicht warum. Wer kann mir helfen ? mfg sascha
|
|
18.11.2000, 11:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
Hallo Sascha!
Syntaxsmäßig ist die verwendung von nextopen ohne vorherige Variabilendefinition nicht möglich, da nextopen kein Schlüsselwort (hier also vordefinierte Variable wie open, high,....) ist.
Des weitern ist der Gedanke, daß das Programm das Nextopen zum zeitpunkt seiner Berechnung an dem heutigen Bar kennt etwas fantatisches, das man sich zu nutze machen sollte ;-)
Doch leider kann die Formulierung Deines Gedankens nur so formuliert werden: Wenn das nächste Bar höher eröffnet als das heutige Hoch, dann kaufe die Eröffnung + Offset als Stop-Order oder eben in Esay-Logik : wenn das Open des aktuellen Bars größer ist als das Vorbarhoch, dann plaziere die Kauf-Stoporder.
inputs:breakout(.1);
if open > high[1] then buy at open + breakout * average(truerange,3) stop; exitlong at close;
Dieser Syntax ist zwar richtig, doch leider gestattet Easy-Language bei Stop- und Limitorder die Ausführung nur für den nächsten Bar. Da close aber im realtime-Modus auch den aktuellen Wert beschreibt, ist die exitlogik nur für historische Tests geeignet.
Somit muß eine market-order geschrieben werden:
if open > high[1] then if close=>open+ breakout * average(truerange,3) then buy at market;
if BarsSinceEntry=1 then exit close;
Vielleicht war es eine Hilfe Gruß Uwe
|
|
18.11.2000, 19:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
RE: Gap programmieren / Berichtigung: if BarsSinceEntry=1 then exitlon | |
Hallo Sascha!
Syntaxsmäßig ist die verwendung von nextopen ohne vorherige Variabilendefinition nicht möglich, da nextopen kein Schlüsselwort (hier also vordefinierte Variable wie open, high,....) ist.
Des weitern ist der Gedanke, daß das Programm das Nextopen zum zeitpunkt seiner Berechnung an dem heutigen Bar kennt etwas fantatisches, das man sich zu nutze machen sollte ;-)
Doch leider kann die Formulierung Deines Gedankens nur so formuliert werden: Wenn das nächste Bar höher eröffnet als das heutige Hoch, dann kaufe die Eröffnung + Offset als Stop-Order oder eben in Esay-Logik : wenn das Open des aktuellen Bars größer ist als das Vorbarhoch, dann plaziere die Kauf-Stoporder.
inputs:breakout(.1);
if open > high[1] then buy at open + breakout * average(truerange,3) stop; exitlong at close;
Dieser Syntax ist zwar richtig, doch leider gestattet Easy-Language bei Stop- und Limitorder die Ausführung nur für den nächsten Bar. Da close aber im realtime-Modus auch den aktuellen Wert beschreibt, ist die exitlogik nur für historische Tests geeignet.
Somit muß eine market-order geschrieben werden:
if open > high[1] then if close=>open+ breakout * average(truerange,3) then buy at market;
if BarsSinceEntry=1 then exitlong close;
Vielleicht war es eine Hilfe Gruß Uwe
|
|
18.11.2000, 19:10 |
|
_sascha
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 11
|
|
hallo, vielen dank für die Antwort. Diese Variante habe ich auch schon ausprobiert, doch das Problem dabei ist das dabei erst am nächsten Tag gekauft wird also einen Tag nach dem Gap.
So hab ich das ganze Umgeschrieben um als ShowMe mal anzusehen was geschieht. Dabei ist mir aufgefallen das das Gap richtig erkannt wird aber das Kaufsignal erst für den nächsten Bar gilt, einen tag später. :-(
Lösungsansatz: Arbeiten mit zwei Datenreihen (Daily/und zB. 15min) Im Daily definition von high und close und im 15min Erkennung von EröffnungsGap, um zum nächsten Bar ein Long zu generiern.
If O Data1 > H[1] Data2 then buy at open;
Doch wie bekomme ich es hin das jetzt die Position am Marktende geschlossen wird?
Mit Exitlong at Close bekomme ich bis Marktschluss immer wieder neue Longsignale und mit "Exitlong at close Data2" einen Fehler. FixedBar Exit haut auch nicht hin da der Markteinstieg nicht immer konstant ist.
?
mfg sascha
|
|
20.11.2000, 12:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
|
20.11.2000, 14:10 |
|
|