Samstag, 20. April 2024, 02:31 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

adrian1

unregistriert

1

Dienstag, 4. November 2003, 13:51

...nur den ersten Trade( intraday )handeln....!?

...und gleich noch eine Frage!
komme mit der Schalter -Formel nicht zurecht um nur das erste Signal intraday zu handeln.kann mir da jemand helfen oder alternativ -Vorschlag nennen?Gruss Adrian

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

2

Mittwoch, 5. November 2003, 11:53

RE: ...nur den ersten Trade( intraday )handeln....!?

Hallo,

der Schalter könnte z.B. so aussehen, dass er auf "AN" geht, sobald ein neuer Tag beginnt, und auf "AUS", wenn in der letzten Periode ein Signal aufgetreten ist:

----------------------------------------
calc Signal: ..............; {Ihre Signallogik}

calc Tageswechsel: roc(datepart(y),1,$)<>0;

calc IstErstesSignal: Schalter(1, Ref(Signal,-1), 0, Tageswechsel, 1);

{Einsteigen, wenn Signal, und dieses das erste am Tag ist:}

Signal AND IstErstesSignal
----------------------------------------

Viele Grüße
Andreas Knöpfel

Steff

unregistriert

3

Mittwoch, 5. November 2003, 12:48

Hallo Adrian,

eine Alternative könnte so aussehen:

const Long: "Hier steht Deine Enter-Long Regel"
ValueWhen(DatePart(y), Long=1, 2, V) < DatePart(y);

Viele Grüße
Stephan

adrian1

unregistriert

4

Freitag, 14. November 2003, 17:36

Danke Steff,die Formel ist einfacher !....STOPPPP.... geht doch nicht!Wenn ich gleichzeitig long und short berechne geht das System noch short.Auch das soll es nicht!! Gruss Adrian

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »adrian1« (14. November 2003, 19:54)


Steff

unregistriert

5

Freitag, 14. November 2003, 20:20

Hallo Adrian,

kein Problem, Du mußt nur bei den Enter Bedingungen beide Zusatzbedingungen einfügen:

calc BedLong: ValueWhen(DatePart(y), Long=1, 2, V) < DatePart(y);
calc BedShort: ValueWhen(DatePart(y), Short=1, 2, V) < DatePart(y);

Bei Enter Long und bei Enter Short steht dann jeweils als Zusatzbedingung:

BedLong = 1
and
BedShort = 1

Übrigens: Am jeweils ersten Handelstag eines Jahres funktioniert diese Variante nicht und müßte wie folgt ergänzt werden:

ValueWhen(DatePart(y), Short=1, 2, V) <DatePart(y) OR
ValueWhen(DatePart(yyyy), Short=1, 2, V) <DatePart(yyyy)

Das Problem reduziert sich dadurch auf den ersten Trade (jeweils für Long und Short) der gesammten Datenreihe.

Viele Grüße
Stephan

adrian1

unregistriert

6

Samstag, 15. November 2003, 09:15

Morgen Steff,
Habe deine weiteren Formel eingefügt: jetzt geht gar nichts mehr!!!Muss nochmal von vorne anfangen! Wo liegt der Fehler?
Definition:
calc Stunde: DatePart(h);
calc NeueStunde: ROC(Stunde, 1, $)<>0;
calc F:9;
calc S:10;
calc HochSeit9: HighestSince(High, Stunde=F and NeueStunde, 1);
calc Hoch9_10: ValueWhen(HochSeit9, Stunde= S and NeueStunde, 1, V);
calc tiefSeit9:LowestSince(low, Stunde=F and NeueStunde, 1);
calc tief9_10:ValueWhen(tiefSeit9, Stunde=S and NeueStunde, 1, V);
global calc Exitlong:Cross(low, tief9_10, 1) = -1;
global calc Exitshort:Cross(high, hoch9_10, 1) = 1;

const Long: Stunde >=S and Cross(high, hoch9_10, 1) = 1
ValueWhen(DatePart(y),long= 1, 2, V) < DatePart(y);

Enter long:

long

Das HS soll long gehen wenn (intraday) das Hoch das sich zwischen 9 und 10 Uhr gebildet überschritten wird.Nur einen trade Pro Tag! Gruss Adrian

hf2610

unregistriert

7

Samstag, 15. November 2003, 12:28

Hallo Adrian,

versuch es doch mal damit:


***** Regeln ******

Enter Long:
CrossLONG AND IstErstesSignal

Exit Long:
CrossSHORT

Enter Short:
CrossSHORT AND IstErstesSignal

Exit Short:
CrossLONG

Übergreifende Definitionen:
{Berechnungen für Hoch / Tief der ersten Handelsstunde}
Global Calc Stunde: DatePart(h);
Global Calc NeueStunde: ROC(Stunde, 1, $)<>0;

Global Calc High_seit_9:
HighestSince(High, Stunde=9 and NeueStunde, 1);

Global Calc High_9_bis_10:
ValueWhen(High_seit_9, Stunde=10 and NeueStunde, 1, V);

Global Calc Low_seit_9:
LowestSince(Low, Stunde=9 and NeueStunde, 1);

Global Calc Low_9_bis_10:
ValueWhen(Low_seit_9, Stunde=10 and NeueStunde, 1, V);

{CROSS hat stattgefunden}
Global Calc CrossLONG: CrossHold(Close, High_9_bis_10, 1) = 1;
Global Calc CrossSHORT: CrossHold(Close, Low_9_bis_10, 1) = -1;

{Berechnungen für den Handel des ersten Signals}
Global Calc Signal: CrossLONG OR CrossSHORT;
Global Calc Tageswechsel: ROC(DatePart(y),1,$)<>0 OR DatePart(h) = 9;
Global Calc IstErstesSignal: Schalter(1, Ref(Signal,-1), 0, Tageswechsel, 1);


***** Test-Einstellungen *****

...
Positionen: Long+Short
Enter-Basis: Open
Delay: 1
Exit-Basis: Open
Delay: 1
...
Handelszeit
von 10:01:00
bis 19:55:00
...


Das System handelt zwar LONG- und SHORT-Signale, aber Du kannst ja die SHORTs weglassen.

Viel Spaß beim Testen und ein schönes Wochenende,
Heike

Steff

unregistriert

8

Samstag, 15. November 2003, 18:51

Hallo Adrian,

ich habe es zwar nicht ausprobiert, aber wenn Du so vorgehst wie ich es beschrieben hatte, sollte es eigentlich funktionieren.
D.h. der Zusatz "BedLong = 1 and BedShort = 1" muß in den Enterbedingungen stehen!

Viele Grüße
Stephan

Steff

unregistriert

9

Freitag, 19. Dezember 2003, 15:04

Hallo zusammen,

bei der Umsetztung des Vorschlages von Hr. Knöpfel fiel mir folgendes auf: Wenn das jeweilige Entersignal in der letzten Periode des Vortages zutrifft, erfolgt kein Umschalten auf 1, da beide Bedingungen gleichzeitig wahr werden. Das HS liefert dann für den ganzen Tag kein Entersignal.

Das Problem kann gelöst werden, wenn die Bedingungen in der Reihenfolge vertauscht werden, also zuerst der Tageswechsel genannt wird.

Viele Grüße
Steff