Metastock: Higher High, Lower Low

Hallo,

ich bin völlig unerfahren in Sachen Programmierung und der Metastock Software (10.1). Probehalber würde ich gerne das einfachste System der Welt programmieren. Sprich: Long gehen falls das Vortageshigh überschritten wird (im selben Moment) - Mit Stops und Limits als oco´s - und short analog. Wie müsste ich das Metastock beibringen?

Vielen Dank für die schnelle Hilfe,

Darth Trader

Geschrieben von sstachna. am
Von Klopfenstein
Mitglied seit 11 Jahre 8 Monate

@ Darth Trader [#1]

Hi - da keiner Antwortet möchte ich dich auf das Metastock-Forum verweisen.

Liebe Grüsse

Gast

ist ein bißchen wenig na ?

Ist es Eod nur Tageskurse dann oder kleinere Zeitrahmen ?

Bei EOD gilt u. nur dazu kann ich was sagen: REf(H,-1) ist das gestrige Hoch.
Falls der heutige Tag abgeschlossen ist und das ist es, kann ich 4 Kurse anbieten O, H,L,C;

Wenns der C sein soll so gilt:

Enter Long: C> Ref(H,-1)

c =Heutiger Schlusskurs wäre dann die Bedingung die muss wahr sein,dann kannst du morgen während des Tages Long gehen d. h. du hast Slippage.
Die ist im MIttel mit 50% Wahrscheinlichkeit drunter oder drüber über deinem Close, denke ich jedenfalls

Aber sehe das nicht als Empfehlung meinerseits an und werde lieber zum Exitman grins

metatrader
Mitglied seit 11 Jahre 7 Monate

@ Darth Trader [#1]

Das System lässt sich auf EOD Basis eigentlich überhaupt nicht umsetzen, als Ansatz könnte man die untenstehende Formel nehmen.
Aber: Man müsste im Systemtester die Limit-Formel eingeben.

Insgesamt ist das ein wenig geeignetes System um irgendetwas in MetaStock zu machen.

in1:= C>ref(h,-1);
in2:= h>ref(h,-1);
in3:= l>ref(h,-1);
in4:= o>ref(h,-1);

out1:= C<ref(l,-1);
out2:= h<ref(l,-1);
out3:= l<ref(l,-1);
out4:= o<ref(l,-1);

EL:= in1 or in2 or in3 or in4;
CL:= out1 or out2 or out3 or out4;
ES:= out1 or out2 or out3 or out4;
CS:= in1 or in2 or in3 or in4;
State:=If(Cum(1)=1,0,If(EL,1,If(ES,-1,If((CL AND PREV=1) OR (CS AND
PREV=-1),0,PREV))));
State

sstachna.
Mitglied seit 11 Jahre 8 Monate

Achso, ich dachte, dass zumindest das Backtesting mittels Enhanced System Tester möglich wäre (Auf Tickchart Basis logischerweise, da das System wohl nicht weiß, ob zuerst Limit oder Stop erreicht wurde(?)). Oder was genau ist der Grund, warum es in Metastock ungeeignet ist? Bezüglich der Einstiege: versteh ich das richtig, dass ich "enter long" ausführt, wenn high,low,close oder open obeerhalb des Highs des Vortags sind? Zu welchem Kurs geht er dann rein? Weil er ja annahmegemäß (Bsp Euro) bei 1,4730 long gehen soll, falls Vortagshigh bei 1,4729...

Danke noch für die Erläuterung,

Darth Trader

Von Klopfenstein
Mitglied seit 11 Jahre 8 Monate

@ Darth Trader [#5]

Also deinem Namen nach bin ich davon ausgegangen, dass du mit Pfeilen auf ne Scheibe wirfst und je nach Treffer long oder short gehst. ,-)

Wünsche eine gute Nacht.

wuelle
Mitglied seit 11 Jahre 7 Monate

@ Darth Trader [#1]

Schau Dich doch mal hier um:

http://trader.online.pl/MSZ/!-MSZ-index.html

Memphis Rain
Mitglied seit 11 Jahre 8 Monate

@ Darth Trader:

ist halt nicht in "MetaSpeak" - aber hier ein Code der abwechselnd Swing Highs und Swing Lows sucht.

http://www.wealth-lab.com/cgi-bin/WealthLab.DLL/editsystem?id=39162

Einfach mal "^GDAXI" eintippen oder DTE.DE

Ciao,

M.R.

sstachna.
Mitglied seit 11 Jahre 8 Monate

@ von Klopfenstein: Pfeile? Wohl eher ein Laserschwert, oder? ;-)

@ Wuelle & Memphis: Danke für die Tips..

@ all: Ist es wirklich so schwer Intraday backzutesten?

Und nochmals danke für jedwede Hilfe.

D. T.

Memphis Rain
Mitglied seit 11 Jahre 8 Monate

@Darth Trader,

da hat jemand das "h" in Darth überlesen und kennt ganz offensichtlich "Star Wars" nicht... ;) [DAS finde ich wiederum bemerkenswert!]

... ist es wirklich so schwer "intraday" backzutesten?

Ich will hier nicht den Oberlehrer spielen - aber hast Du denn ausreichend Erfahrungen im End of Day Bereich gesammelt um im Dich dem Schlimmsten (!!!!) aller Felder annähern zu können? Die Mortalitätsrate im DayTrading wird in häufig konversativ auf 90% geschätzt - ich tippe eher auf 99%.

just my two cents,

take care,

M.R.

Gast

@ Memphis Rain [#10]

"aber hast Du denn ausreichend Erfahrungen im End of Day Bereich gesammelt um im Dich dem Schlimmsten (!!!!) aller Felder annähern zu können?"

Was ist den der schlimmste aller Fehler im EOD ?

"Die Mortalitätsrate im DayTrading wird in häufig konversativ auf 90% geschätzt - ich tippe eher auf 99%"

Mortalitätsrate -> ? Was ist das denn ?

Antwort wäre nett.

my 2,8 ct die ich verliere

gautama2
Mitglied seit 11 Jahre 7 Monate

@ Mr_Aegon [#11]

Das Schlimmste aller Felder = Daytrading.

Nicht der schlimmste aller Fehler. :) Obwohl das eine gleich dem anderen sein kann, je nach Person.

Gast

@gautama2

"Das Schlimmste aller Felder = Daytrading."

Welcher Felder ? Das verstehe ich nicht
Du willst mich wohl vergackern... Internetschach spiel ich nicht

gautama2
Mitglied seit 11 Jahre 7 Monate

@ Mr_Aegon [#13]

neuer Versuch

Memphis sprach vom schlimmsten aller Felder und Du fragtest, welcher denn der schlimmste aller Fehler sei.

Hast Felder mit Fehler verwechselt. So wie Uran und Urin.

sstachna.
Mitglied seit 11 Jahre 8 Monate

Die Geschichte des Tradings ist eine Geschichte voller Mißverständnisse... ;-)

Aber immerhin recht amüsant. Aber ich glaub nich ganz, dass es Intraday "schlimmer" sein soll. Gibt ja nicht wenige, die damit ihr Brot verdienen (auch ihr Wasser, was den Wasserthread angeht ;-) )

Nur zum Backtesten find ich´s allemal interessant...

Gast

Köstlich.

Endlich man (ich) kaufe mir entsprechendes Sehzubehör.

wuelle
Mitglied seit 11 Jahre 7 Monate

@ Darth Trader

Wenn Du verwertbare Ergebnisse erhalten möchtest, kommt Du natürlich um das Verarbeiten von Intradaykursen nicht herum.

Was Du also brauchst, ist eine Funktion, die im Intraday Chart das Hoch/Tief des Vortages ausgibt. In Easylanguage kann man das über die Funktion "HighD" bzw. "LowD" erreichen. Vielleicht gibt es ja so eine Funktion in Metastock auch.

Memphis Rain
Mitglied seit 11 Jahre 8 Monate

@ gautama2 [#14]

Danke fürs Richtigstellen.

@ Mr_Aegon

Ich denke das im Intradaybereich einfach "zu sehr" der Zufall regiert, der "Noise" deutlich höher ist - und, das halte ich noch für viel gefährlicher, Deine "Zeit" zum Reagieren ist deutlich geringer als im EOD Bereich. (Ok, Zyniker würden sagen das bei mehr Zeit nicht automatisch besserers herauskommt - agreed)

Ich für meinen Teil kann nur sagen das ich Intraday-Trading nicht uninteressant finde (wäre in meinem Fall auch unangebracht..) - aber im EoD Bereich wesentlich entspannter und gelassener trade. Ferner glaube ich, das man als Newbie AUSSCHLIESSLICH EoD Trading machen sollte, obwohl es auch dort gibt es genug was man falschen machen kann - so wars jedenfalls bei mir ;o)

Mortalitätsrate = Sterblichkeitsrate. Siehe auch :

http://de.wikipedia.org/wiki/Mortalit%C3%A4t

Ciao,

M.R.

gautama2
Mitglied seit 11 Jahre 7 Monate

@ Darth Trader [#15]

Je kurzfristiger das Trading, um so mehr Psychologie spielt eine Rolle, denn umso weniger kann man nachdenken. Vieles geschieht also spontan. Damit sind die meisten Hobbytrader überfordert. Gerade wenn sie dann ins Overtrading geraten und krampfhaft versuchen, den Verlust wieder wett zu machen.

Wer nur einmal die Woche oder im Monat seine Aktien anguckt, hat diese Probleme nicht.

Zum Entwickeln mechanischer Systeme kommt man um Kurzfristigkeit nicht herum, denn man braucht statistisch ausreichende Events. Die oft zitierten 30 Trades Minimum sind viel viel zu wenig, um den Erfolg zu beurteilen. Und je mehr Trades in einer Zeiteinheit, desto schneller zeigt sich Erfolg oder Misserfolg. Was nutzt es, wenn man ein langfristiges System über die letzten 100 Jahre getestet hat, um dann nach 20 Jahren zu erfahren, dass es nix war.

Man gerät, je kurzfristiger man die Sache angeht, schnell in die Mühle zwischen Spread, Slippage und Länge der zu nutzenden Bewegungen. Dazu wird dann die Datenqualität immer wichtiger, bis man in einem Bereich ist, wo man merkt, dass es eigentlich keine exakten Daten gibt.

Der Aufwand steigt m.E. exponentiell mit der Verkürzung der Timeframes.

metatrader
Mitglied seit 11 Jahre 7 Monate

@ Darth Trader [#1]

die nachstehende Formel (oder eine ähnliche) kann benutzt werden, um auf der nächsten Bar das Hoch, Tief, Open oder Low der vorherigen Bar zu ermitteln bzw. im Code zu referenzieren:

TF:=Input("1=hour 2=day 3=week 4=month 5=year ",1,5,2);
NW:=If(TF=1,ROC(Minute(),1,$)<0,If(TF=2,ROC(Hour(),1,$)<0, If(TF=3,ROC(DayOfWeek(),1,$)<0,If(TF=4,ROC(DayOfMonth(),1,$)<0,ROC(Month(),1,$)<0))));

A1:=Cum(1);
A2:=LastValue(A1-BarsSince(NW>0));

LastHigh:=ValueWhen(1,Nw,Ref(HighestSince(1,Nw,H),-1));
LastLow:=ValueWhen(1,Nw,Ref(LowestSince(1,Nw,L),-1));
LastOpen:=If(nw,O,ValueWhen(2,nw,O));
LastClose := If(nw,C,ValueWhen(1,a1-a2=-1,C));

iLH:=If(A1<A2,BarsSince(A1>=A2),LastValue(LastHigh));
iLL:=If(A1<A2,BarsSince(A1>=A2),LastValue(LastLow));
iLO:=If(A1<A2,BarsSince(A1>=A2),LastValue(LastOpen));
iLC:=If(A1<A2,BarsSince(A1>=A2),LastValue(LastClose));

iLH;iLL;iLO;iLC

In dem Chart wird der Indikator zweimal angewendet:
1) Mit dem Inputparameter 2, hierdurch wird im 10 Minuten Chart das Hoch des Vortages angesprochen
2) Mit dem Inputparameter 1, hierdurch wird im 10 Minuten Chart das Hoch der letzten Stunde angesprochen

Vorgehen:
Den Code kopieren und in den Indikatorbuilder einfügen und speichern.

Gast

@ Memphis Rain [#18]

Danke sehr nett. Nur noch zwei Fragen ?

1) Ist mit dieser Sterblichkeitsrate die %-Zahl der Daytrader gemeint die im Laufe der Zeit Daytrading entnervt aufgeben.

Nicht unbedingt bankrott gehen. Sondern aus psychologischen Gründen, Ruin of Risk (das Spiel nicht mehr spielen können) u. andere Gründe ?

Im Zuge dieser Diskussion habe ich mal in Errinnerung das GOSU ungefähr folgendes mal sagte: " in sehr kurzen Timeframes (waren es Minuten oder Tick ?)
kannst du nicht testen (glaube ich bedenkenlos). Der "Noise" ist zu groß".

Da ich Intraday oder Tickbereich nicht arbeite, habe ich mir gesagt, verdammt fragen willst du nicht aber wissen willst du es. Dann sagte ich mir, schau mal im Lexikon nach, ich fand dann das es "Lärm" heissen soll, Rauschen heissen soll. Das sagte mir leider auch zu wenig. Das Wort Zufall fand ich leider nicht.
Mm Äh ...dachte das ist True Range , Average True Range das ist Vola.

2) Kann man Zufall mit hoher Vola (hohe Schwankungsbreite ohne Overnight/mit Overnight) gleichsetzen ?

Jetzt weiss ich das Noise Zufall ist, dank deiner Hilfe.

gautama2
Mitglied seit 11 Jahre 7 Monate

@ Mr_Aegon [#21]

Zum Thema Noise und Filtern desselben ist John Ehlers eine gute Adresse.

Hier ein paar kleine Abhandlungen von ihm.

http://www.mesasoftware.com/technicalpapers.htm

Memphis Rain
Mitglied seit 11 Jahre 8 Monate

@ Mr_Aegon [#21]

re Sterblichkeitsrate: ich persönlich vermute hier eher den finanziellen Exitus, der dann sicherlich mit einigen Stresssymptomen einhergeht.

re Noise: wie genau man Noise definiert, also ab wann man von Signal sprechen kann - ganz ehrlich: keine Ahnung. Mich interessieren solche Zeitreihenkonzepte nicht und ich glaube nicht, das eine "einzige" Zeitreihe in Bezug auf sich selbst irgendetwas aussagt - weder per Noise, noch als Signal.

just my 2 cents,

Ciao,

M.R.

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