mathe
Mitglied seit 11 Jahre 4 Monate

Tradestation: Einstieg und Stopp auf verschiedenen Zeitebenen

Die Entry Signale werden auf einem 60-Minuten Chart berechnet. Der Stop soll jedoch auf einem 5-Minuten Chart berechnet werden, da die Stops im 60-Minuten zu spät kommen.

Das sollte doch mit data1 und data2 möglich sein, jedoch ist mir nicht klar wo ich data1 und data2 einfügen soll.

Danke für die Hilfe.
Gruß

input: price(Close),prozentstop(0.4),InitialLevel(20),StopLoss(1;
Vars: NumberofBars(0),StopPrice(0),KorOben(0),KorUnten(0);

KorOben = Entryprice + InitialLevel points;
KorUnten = Entryprice - InitialLevel points;

if range[4] > range and Range[3] > range and range[2] > range and range[1] > range
and high[1] > high and low[1] < low
then sell next bar at lowest(low,1) -1 point stop;

if range[4] > range and Range[3] > range and range[2] > range and range[1] > range
and high[1] > high and low[1] < low
then buy next bar at highest(high,1) +1 point stop;

NumberofBars = Barssinceentry;
StopPrice = (highest(high ,NumberofBars) - StopLoss points);

if marketposition = 1 and Highest(High ,NumberofBars) > KorOben then
ExitLong("MyTrail L") at StopPrice Stop;

setstoploss(close/100*prozentstop*bigpointvalue);

setexitonclose;

Geschrieben von mathe am
select
Mitglied seit 11 Jahre 4 Monate

@mathe

"Das sollte doch mit data1 und data2 möglich sein, "

Ja!

"jedoch ist mir nicht klar wo ich data1 und data2 einfügen soll.""

Wenn kein data2 hinzugefügt wird, geht/gilt alles für data1.

Data2 fügt man dort ein, welches sich auf diese Datenreihe bezieht.

Beispiel:

Condition1 = low of data2 < low[1] of data2;

if condition1 AND Time = 2200 AND marketposition <> 1 then begin
buy this bar on close;
Buyprice = close;
Exitpreis = low of Data2;
value2 = value2 + 1;

Gruß Thomas

mathe
Mitglied seit 11 Jahre 4 Monate

Danke für die Antwort, jedoch kann ich den Ausführungen nicht folgen.
data1 = 60Minuten
data2 = 5Minuten

Ich stell nochmals den Code mit data1 und data2 rein, jedoch funktioniert es so nicht. RunTime Error/Floating point numerical overload

Bin für jede Hilfe dankbar.

input: price(Close),prozentstop(0.4),InitialLevel(20),StopLoss(18);
Vars: NumberofBars(0,data2),StopPrice(0,data2),KorOben(0,data1),KorUnten(0,data1);

KorOben = Entryprice + InitialLevel points of data1;
KorUnten = Entryprice - InitialLevel points of data1;

if range[4] > range and Range[3] > range and range[2] > range and range[1] > range
and high[1] > high and low[1] < low
then sell next bar at lowest(low,1) -1 point of data1 stop ;

if range[4] > range and Range[3] > range and range[2] > range and range[1] > range
and high[1] > high and low[1] < low
then buy next bar at highest(high,1) +1 point of data1 stop ;

NumberofBars = Barssinceentry;
StopPrice = (highest(high ,NumberofBars)- StopLoss points)of data2;

if marketposition = 1 and Highest(High ,NumberofBars)of data2 > KorOben then
ExitLong("MyTrail L") at StopPrice Stop;

setstoploss(close/100*prozentstop*bigpointvalue);

setexitonclose;

he96
Mitglied seit 11 Jahre 4 Monate

@ mathe [#3]

Man(n) kann doch jedes System auf kürzere Zeitreihen "runterrechnen" (umcodieren) und dann z.B. nur noch die 5min bars zeigen und den Rest vergessen. Nur als eine Möglichkeit.

gruss hans

mathe
Mitglied seit 11 Jahre 4 Monate

Ja klar geht das, aber bei mir funktioniert es nicht.

Dieses Regelwerk:

NumberofBars = Barssinceentry;
StopPrice = (highest(high ,NumberofBars) - StopLoss points);

if marketposition = 1 and Highest(High ,NumberofBars) > KorOben then
ExitLong("MyTrail L") at StopPrice Stop;

soll sich auf data2 = 5Minuten beziehen, und dies bekomme ich einfach nicht hin.
Es wäre schön, wenn mir jemand konkret helfen könnte.

Herzlichen Dank

select
Mitglied seit 11 Jahre 4 Monate

@mathe

Wenn das KorOben sich auf data2 bezeihen soll, dann würde ich es auch so beschriften.

KorOben = Entryprice + InitialLevel points of data2;

und den StopPrice so versuchen:

StopPrice = (highest(high ,NumberofBars) - StopLoss points) of data2;

Versuchs mal.

select
Mitglied seit 11 Jahre 4 Monate

Oh, KorOben gehört ja zu data1. Fällt also raus:-)

mathe
Mitglied seit 11 Jahre 4 Monate

Danke für die Hilfe, aber so wie Ihr das hier beschreibt funktioniert es nicht.

Habe schon einige Möglichkeiten mit data1 und data2 durchprobiert.

Es scheint wohl ein umfangreicheres Problem zu sein.

Stehe voll auf dem Schlauch.Wenn ich das Programm nur über den 60-MinutenChart laufen lasse, also ohne data1 und data2. Dann kommen die StopSignale beim Backtesting immer erst zum nächsten 60-Minuten Bar und das verfälscht das Ergebnis u.U. erheblich.

Rückrufservice
Beschreiben Sie bitte Ihr Anliegen, damit wir uns auf den Rückruf vorbereiten können.
Ja, ich habe die Datenschutzerklärung zur Kenntnis genommen und willige ein, dass die von mir angegebenen Daten inklusive der Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen elektronisch erhoben und gespeichert werden. Meine Daten werden dabei nur streng zweckgebunden zur Bearbeitung meiner Anfrage genutzt und nicht ohne Einwilligung weitergegeben. Diese Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden.
Fragen?

Sie haben Fragen zu ZMP Live? Unser Team steht gerne hilfsbereit zu Ihrer Verfügung. Senden Sie uns gerne eine Nachricht:

Es gilt unsere Datenschutzerklärung

Jetzt registrieren

Jetzt registrieren und ZMP Live+ 14 Tage kostenlos testen!
  • Dauerhaft kostenfrei
  • Keine Zahlungsinformationen erforderlich