Dienstag, 16. April 2024, 21:34 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.

Registrierungsdatum: 4. September 2007

Beiträge: 311

Wohnort: Stuttgart

1

Dienstag, 20. Mai 2008, 18:33

Frage zu Stop und Komp-Berechnung

Hallo,

um mich in Investox einzulernen, versuche ich gerade ein paar altgediehnte Aktiensysteme zu programmieren und habe da ein paar Probleme.

Erstes Problem betrifft die Komp-Formel. Ich frage den Grundtrend anhand des Daxes ab. Momentan habe ich die Daten auf 1 Woche vorkomprimiert, würde das aber gerne in dieses Script einfliesen lassen.
Ref(Close("FDAX Komplett RT"),-1) > Ref(GD(Close("FDAX Komplett RT"), 54, S),-1); Wenn ich schreibe Komp(#Ref(Close("FDAX Komplett RT"),-1)#, #W# > ... kommt eine Fehlermeldung. Wie muss ich es korrekt schreiben?

Zweites Problem betrifft den Sofortstop. Da ich per Limit über dem High des vorherigen Kurses in den Markt gehe, möchte ich einen Sofortstop einfach am Low des aktuellen Balkens setzen. Habe unter Definitionen es auch als Globale Variable angelegt und es beim Stop eingegeben. Danach verschwinden alle Signale :huh:

Das letzte Problem sind zwei Dinge. Ich möchte das der Intraday-Stop am Low der Entrykerze bleibt und sich nicht verändert. Wie kann ich einen Bezug zur Entrykerze aufbauen. Auch für das Target muss ich das High vom Low der vorherigen Kerze abziehen und finde auch da keinen Bezug zu dieser Kerze. Schreibe ich Ref(High,-1) - Ref(Low,-1) dann ändert sich ja die Berechnung bei jedem Balken.

An diesen Problemen mache ich schon ne ganze Weile rum und komme, auch nach Lesen des Forums nicht drauf.
Wer weis Rat?
Grüße aus dem Schwabenland
Arend

Tim

unregistriert

2

Dienstag, 20. Mai 2008, 18:49

Zitat

kommt eine Fehlermeldung. Wie muss ich es korrekt schreiben?


Hallo,

Setz hinter die letzte Raute (vor den Vergleichsoperator) eine schließende Klammer.

Zitat

möchte ich einen Sofortstop einfach am Low des aktuellen Balkens setzen


Das Low des aktuellen Balkens ändert sich u.U. noch, bis die Kerze abgeschlossen ist. Nach Abschluss der Kerze kannst du aber nicht mehr zum Low der Vorkerze aussteigen.
Backtest und Realergebnis werden nicht übereinstimmen d.h. du hast hier aktuell noch ein Logikproblem in deinem System.


Zitat

Ich möchte das der Intraday-Stop am Low der Entrykerze bleibt und sich nicht verändert.


Das kannst du über einen Anwenderstop und die Anwenderstop-Schlüsselwörter wie folgt für die Longseite realisieren

calc #_stoplevel#: Valuewhen(low, tradeperiods=1,1,V);
calc #_exitlevel#: Min(open,#_stoplevel#);
low<=#_Stoplevel#

Abweichende Ausstiegsbasis in der Registrierkarte "Optionen" : #_Exitlevel# , delay 0

Cu Tim

Registrierungsdatum: 4. September 2007

Beiträge: 311

Wohnort: Stuttgart

3

Dienstag, 20. Mai 2008, 19:00

Hallo Tim,

das war prompte Hilfe. Danke.

Den dritten Punkt werde ich gleich noch prüfen.

Vor ab nur kurz: Das mit der Klammer habe ich vergessen. Das ist aber komischer weise nicht das Problem. Auch mit der Klammer erkennt er plötzlich den Titel nicht mehr.

Ein Logikproblem ist eigentlich nicht da. Da ich ja zu einem höheren Limit-Kurs einsteige, soll er bei Einstieg den Sofortstop auf das aktuelle Low setzen und da bleiben. Habe mich wahrscheinlich nicht korrekt ausgedrückt.

Vorerst nochmal vielen Dank Tim. Werde jetzt mal Deine Formel eingeben.
Grüße aus dem Schwabenland
Arend

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

4

Dienstag, 20. Mai 2008, 19:17

Ref(Close("FDAX Komplett RT"),-1) > Ref(GD(Close("FDAX Komplett RT"), 54, S),-1); Wenn ich schreibe Komp(#Ref(Close("FDAX Komplett RT"),-1)#, #W# > ... kommt eine Fehlermeldung. Wie muss ich es korrekt schreiben?


Hallo Arend,

wenn ich dich richtig verstehe, willst die diese Bedingung

Quellcode

1
Ref(Close("FDAX Komplett RT"),-1) > Ref(GD(Close("FDAX Komplett RT"), 54, S),-1);


umformen. Ich gehe mal davon aus, das du das Ergebnis der Bedingung in einer Variable speicherst:

Quellcode

1
calc Bedingung: Ref(Close("FDAX Komplett RT"),-1) > Ref(GD(Close("FDAX Komplett RT"), 54, S),-1);


Falls nicht, ist das abschließede Semikolon nicht richtig.

Um dies in Komp() zu packen, würde ich erst mal einen Schritt zurück machen. So könnte die Formel auch aussehen:

Quellcode

1
2
calc Daten: Close("FDAX Komplett RT"); 
calc Bedingung: Ref(Daten > GD(Daten, 54, S), -1);


Da sie jetzt besser lesbar ist, kann man sie auch leichter in Komp() packen:

Quellcode

1
2
calc Daten: Close("FDAX Komplett RT"); 
calc Bedingung: Komp(#Ref(Daten > GD(Daten, 54, S), -1)#,#W#);


Ich hoffe, dass ich dein Problem richtig verstanden habe...
Viele Grüße,
Hans-Jürgen

Registrierungsdatum: 4. September 2007

Beiträge: 311

Wohnort: Stuttgart

5

Dienstag, 20. Mai 2008, 21:20

Hallo Hans-Jürgen,

Danke für Deine Hilfe.

Ja, das mit Komp hast Du richtig verstanden. Wird in einer Variablen gespeichert.

Man, man ich muss noch viel über Inv. lernen, merke ich schon. Bekomme noch nichts hin von meinen Problemen. Das mit Komp funktioniert nicht. Kommt immer ne Fehlermeldung. "Indikator Komp - Die im Parameter angegebene Datenreihe steht nicht zur Verfügung".

Und bei der Stop-Lösung von Tim mekkert er über die "tradeperiods".
Grüße aus dem Schwabenland
Arend

Registrierungsdatum: 4. September 2007

Beiträge: 311

Wohnort: Stuttgart

6

Mittwoch, 21. Mai 2008, 10:59

Hallo,

kleiner Zwischenbericht. Also das mit Komp funktioniert nicht. Ich habe so 3-4 Varianten versucht und bin auch der Meinung das die Codes alle Richtig waren. Habe in der Online-Hilfe gelesen und den Komp-Indi benutzt. Denke es passte schon. Es kam auch keine Fehlermeldung mehr, dennoch hat er nichts berechnet.
Kann es sein das die Komp-Formel Probleme hat, wenn ich sie auf andere Titelnamen verwende?

Das mit dem Sofortstop auf das aktuelle Low wird denke ich gar nicht gehen. Da werde ich mal nochmal die Kompformel benutzen um auf eine kleinere Zeiteinheit zu gehen um z.b. das Low des letzten Tages zu nehmen. Vielleicht kann ich mir so behelfen.

Was ich aber immer noch nicht hinbekomme ist das mit dem Zugriff auf das Entry-Low. Ich weis nicht wie ich die Formel von Tim zu verwenden habe, da er mir die "tradeperiods" als Fehler bringt.
Grüße aus dem Schwabenland
Arend

Tim

unregistriert

7

Mittwoch, 21. Mai 2008, 11:06

Zitat

da er mir die "tradeperiods" als Fehler bringt.


Hallo,

die Formel kann ausschließlich in Anwenderstops eingesetzt werden. Außerhalb der Anwenderstops stehen die Schlüsselwörter für Anwenderstops nicht zur Verfügung.

Cu Tim

Registrierungsdatum: 4. September 2007

Beiträge: 311

Wohnort: Stuttgart

8

Mittwoch, 21. Mai 2008, 11:18

Hi Tim,

Super. Ich bin sooooo :baby:

Hat funktioniert :thumbsup: Danke.
Grüße aus dem Schwabenland
Arend

Registrierungsdatum: 4. September 2007

Beiträge: 311

Wohnort: Stuttgart

9

Freitag, 23. Mai 2008, 16:01

Hallo an Alle,

habe schon wieder eine Frage was nichts mit der Überschrift zu tun hat, sondern mit Limit-Einstiegen. Wollte aber keinen extra Thraed eröffnnen.

Ich habe ein Kursmuster (Berechnung-Keine KM Analyse) das über 3 Balken geht. Ist das Muster vollständig wird beim nächsten Balken per Limit zum Hoch des letzten "Muster-Balkens" gekauft. So weit habe ich es hinbekommen.
Jetzt ist es ja aber so, das wenn das Limit im nächsten Balken nicht erreicht wird, er das Limitsignal verliert.

Wie kann ich sagen das das Limit z.B. für die nächsten 5 Balken an Ort und Stelle bleibt und dann auch per Limit reingeht, auch wenn erst der dritte Balken das Limit erreicht?
Steh da auf dem Schlauch. Könnte mir vorstellen das es evt. mit ValueWhen geht, aber wie weis ich leider nicht.
Grüße aus dem Schwabenland
Arend

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

10

Freitag, 23. Mai 2008, 17:07

Hallo Arend,

habe schon wieder eine Frage was nichts mit der Überschrift zu tun hat, sondern mit Limit-Einstiegen. Wollte aber keinen extra Thraed eröffnnen.
Was aber aus Gründen der Übersichlichkeit aber besser gewesen wäre ;)....aber egal, nun zum Problem:

Probier es mal mit Schalter()

{Definitionen}

calc MusterFertig: ?????;
calc Limit: schalter(0, MusterFertig, High, ZurücksetztBedingung, 0);

calc EL: High >= Limit;

{Enter Long}
EL = 1

Für die ZurücksetztBedingung musst du dir noch etwas einfallen lassen.
Viele Grüße,
Hans-Jürgen

Registrierungsdatum: 4. September 2007

Beiträge: 311

Wohnort: Stuttgart

11

Freitag, 23. Mai 2008, 17:23

Hallo Hans-Jürgen,

Was aber aus Gründen der Übersichlichkeit aber besser gewesen wäre ....aber egal, nun zum Problem:


Werde es NIE wieder tun ;(

Tja, Bedingung zum Zurück setzen??? Einmal muss er es ja zurück sezten wenn ich Long bin und wenn das Limit nicht erreicht wird, wäre die Frage wie es dann um bei meinem genannten Beispiel zu bleiben, aussehen müsste wenn ich nach 5 Perioden ohne Limiterreichnung es wieder zurück setze. Ich glaube das wird das grössere Problem sein.
Grüße aus dem Schwabenland
Arend

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

12

Freitag, 23. Mai 2008, 18:19

Werde es NIE wieder tun


:thumbup: :D
Viele Grüße,
Hans-Jürgen

Ähnliche Themen