Registrierung Kalender FAQ & Boardregeln Suche Mitgliederliste Moderatoren und Administratoren Linkdatenbank Startseite
Tradestation User Group Germany » freie Foren » Newbies » Strategie mit zwei Zeitrahmen » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
Hans Beier
Member



Dabei seit: 01 2003
Herkunft:
Beiträge: 4

Hans Beier ist offline
  Strategie mit zwei ZeitrahmenAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo EL-Profis,

ich teste gerade ein System mit zwei verschiedenen Handels-Zeitrahmen.
Dahinter steht die Idee, nur zu bestimmten Zeiten zu traden und flaue Handelszeiten zu umgehen.
Die ursprüngliche Formel bezieht sich nur auf einen Zeitrahmen, damit funktioniert es auch wunderbar.
Da ich aber zwei Zeiten nutzen möchte, bahe ich den Code etwas modifiziert und nun funktioniert es nicht mehr richtig. Ich kann den Fehler einfach nicht finden.
Wer kann mir helfen?

Liebe Grüße

Hans




Formula:

inputs: StartTime1(0910), EndTime1(1100), EndTimeExit1(1115),
StartTime2(1300), EndTime2(1430), EndTimeExit2(1445),
Series(Close),
L1(4),P1(50),L2(12),P2(0),Buyline(0),Selline(0);


vars: Flag(1), IRHigh(0), IRLow(0), IRHighBar(0), IRLowBar(0), HighBar(0), LowBar(0), Offset(0);

value1 = JokerForIndikator(series,L1,P1,L2,P2);


if Time >= StartTime1 and Time <= EndTime1 then
begin



IF value1 crosses above BuyLine Then Buy 1 share at market;

IF value1 crosses below SelLine Then Sell 1 share at market;

end;

if Time > EndTimeExit1 then
begin
ExitLong("\Time L\");
ExitShort("\Time S\");

end;

(bis hierhin funktionierts)



if Time >= StartTime2 and Time <= EndTime2 then
begin



IF value1 crosses above BuyLine Then Buy 1 share at market;

IF value1 crosses below SelLine Then Sell 1 share at market;

end;

if Time > EndTimeExit2 then
begin
ExitLong("\Time L\");
ExitShort("\Time S\");

end;

22.05.2003, 13:06 Profil von Füge  deiner Freunde-Liste hinzu Email an Hans Beier senden
Uwe
Super Moderator



Dabei seit: 12 2001
Herkunft:
Beiträge: 718

Uwe ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Hans Beier
Hallo EL-Profis,

ich teste gerade ein System mit zwei verschiedenen Handels-Zeitrahmen.
Dahinter steht die Idee, nur zu bestimmten Zeiten zu traden und flaue Handelszeiten zu umgehen.
Die ursprüngliche Formel bezieht sich nur auf einen Zeitrahmen, damit funktioniert es auch wunderbar.
Da ich aber zwei Zeiten nutzen möchte, bahe ich den Code etwas modifiziert und nun funktioniert es nicht mehr richtig. Ich kann den Fehler einfach nicht finden.
Wer kann mir helfen?

Liebe Grüße

Hans

Formula:

inputs: StartTime1(0910), EndTime1(1100), EndTimeExit1(1115),
StartTime2(1300), EndTime2(1430), EndTimeExit2(1445),
Series(Close),
L1(4),P1(50),L2(12),P2(0),Buyline(0),Selline(0);


vars: Flag(1), IRHigh(0), IRLow(0), IRHighBar(0), IRLowBar(0), HighBar(0), LowBar(0), Offset(0);

value1 = JokerForIndikator(series,L1,P1,L2,P2);


if Time >= StartTime1 and Time <= EndTime1 then
begin
IF value1 crosses above BuyLine Then Buy 1 share at market;
IF value1 crosses below SelLine Then Sell 1 share at market;
end;

if Time > EndTimeExit1 then

begin
ExitLong("\Time L\");
ExitShort("\Time S\");
end;

(bis hierhin funktionierts)

if Time >= StartTime2 and Time <= EndTime2 then
begin
IF value1 crosses above BuyLine Then Buy 1 share at market;
IF value1 crosses below SelLine Then Sell 1 share at market;
end;
if Time > EndTimeExit2 then
begin
ExitLong("\Time L\");
ExitShort("\Time S\");
end;


Mit der Abfrage, die ich oben rot angelegt habe, erhältst Du zu jedem Zeitpunkt nach EndTimeExit1 ein EXIT..., also auch in der Zeit nach StartTime1. Daher mußt Du beide Blöcke zusätzlich voneinander trennen. dies kann auf verschiedenen Wegen funktioniern. Ich habe hier die Änderung über die Logik-Verknüpfung gewählt und hoffe sie klappt, da ich es nicht geprüft habe. Die Prüfung auf die Überschneidungsfreiheit der Eingabezeiten ist nicht Gegenstand dieser Änderung.

code:
inputs: StartTime1(0910), EndTime1(1100), EndTimeExit1(1115),
StartTime2(1300), EndTime2(1430), EndTimeExit2(1445),
Series(Close),
L1(4),P1(50),L2(12),P2(0),Buyline(0),Selline(0);

vars: Flag(1), IRHigh(0), IRLow(0), IRHighBar(0), IRLowBar(0), HighBar(0), LowBar(0), Offset(0);

value1 = JokerForIndikator(series,L1,P1,L2,P2);

if (Time >= StartTime1 and Time <= EndTime1) Or
(Time >= StartTime2 and Time <= EndTime2) then
begin
IF value1 crosses above BuyLine Then Buy 1 share at market;
IF value1 crosses below SelLine Then Sell 1 share at market;
end;

if (Time > EndTimeExit1 and time < StartTime2) OR
(Time > EndTimeExit2) then
begin
ExitLong("\Time L\");
ExitShort("\Time S\");
end;



Im Übrigen bitte ich, diese Themenbeiträge in dem entsprechnden Unterforum zu eröffnen, sofern auf meine Stellungnahme in der Zukunft Wert gelegt wird.

Gruß,
Uwe


Änderung:
if (Time > EndTimeExit1 and time < StartTime2) OR

Dieser Beitrag wurde von Uwe am 23.05.2003, 14:40 Uhr editiert.

22.05.2003, 14:44 Profil von Füge  deiner Freunde-Liste hinzu Email an Uwe senden
Hans Beier
Member



Dabei seit: 01 2003
Herkunft:
Beiträge: 4

Hans Beier ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Danke Uwe für die Mühe, die Du Dir gegben hast!

Leider hat sich an der Funktionsweise der Formel nichts geändert. Der EndtimeExit2 wird immer noch nicht korrekt ausgelöst. Vielmehr wird bei jedem Kaufauftrag nach Starttime2 gleichzeitig auch ein Verkaufssignal ausgelöst und nicht erst bei EndTimeExit2. Gibt es eine Lösung?

Hans

22.05.2003, 22:43 Profil von Füge  deiner Freunde-Liste hinzu Email an Hans Beier senden
Uwe
Super Moderator



Dabei seit: 12 2001
Herkunft:
Beiträge: 718

Uwe ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Hans Beier
Danke Uwe für die Mühe, die Du Dir gegben hast!

Leider hat sich an der Funktionsweise der Formel nichts geändert. Der EndtimeExit2 wird immer noch nicht korrekt ausgelöst. Vielmehr wird bei jedem Kaufauftrag nach Starttime2 gleichzeitig auch ein Verkaufssignal ausgelöst und nicht erst bei EndTimeExit2. Gibt es eine Lösung?

Hans



Das war ein Kopierfehler von mir. Natürlich soll ein EXIT nur dann ausgelöst werden, wenn
  • entweder EndTimeExit1 überschritten ist, aber StartTime2 noch nicht erreicht ist,
  • oder aber EndTimeExit2 überschritten ist.

    Die Änderung habe ich in den oberen Beitrag vermerkt.

  • 23.05.2003, 14:39 Profil von Füge  deiner Freunde-Liste hinzu Email an Uwe senden
      « Vorheriges Thema Nächstes Thema »
    Neues Thema erstellen Antwort erstellen
    Gehe zu:

    Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR