Metastock: Trenderkennung und Systemsignale
e-Mail an die Redaktion:
Schönen guten Tag,
ich hätte eine Frage, bitte. Kann Metastock den Trend einer Aktie erkennen und signalisieren? Ich meine ob das System Kauf oder Verkaufsignale gibt?
Nach meiner Meinung ist das immer eine Hilfe für die Entscheidung.
Bestens Dank im Voraus für ihre Antwort.
@metatrader
Danke werde ich gleich mal versuchen !!
Gruesse
Mike
@Metatrader
Hallo Metatrader,
soweit alles ok. Nur wie bekomme ich die roten Pfeile auf das erste
Signal reduziert ???
Hi,
Ich nehme an, dein Bild ist vom Expert.
Für die Entfernung der roten Pfeile benutze ich dazu die State-Variable.
Da ich es nur meine Sachen kann, und da ich dein System nicht kenne und da ich MS nur privat habe, bringt es nichts jetzt versuchen darauf einzugehen.
Komisch ist nur, ich erwarte einen roten Pfeil bei deinem Shortsignal, da fehlt er aber.
Nach deiner Methode müßte auch da ein roter Pfeil stehen.
Ich habe mir zur Not immmer damit beholfen, das ich immer das erste Signal nahm un die anderen ignorierte. Selbstverständlich ist das optisch nicht schön.
Bin gespannt wie Metatrader es macht
Mr_Aegon
@Miketenner
Gerade unterhalte ich mich mit einem Kollegen. Er will unbedingt dass ich das schreibe, sonst schreibt er es.
Wir meinen nach Buchdruck, Erfindung des Computers, der Differentialgleichung des schwingenden Sofas, sei die State-variable eine weitere große Errungenschaft des Menschen. Er hat mich genötigt...;-)))
@metatrader
Hallo Metatrader,
beim System habe ich das Problem, dass zuviele Signale generiert werden.
Ich habe deine "Formeln" eingearbeit weiss aber nich wo das Problem hierbei liegt. Ich hoffe du kannst es aus dem Chart ablesen.
Nochmals herzlichen Dank für deine Hilfe
Gruss
Mike
@ miketenner
Die vielen Pfeile bekommst Du weg, wenn Du bei
Highlight Short: FmlVar("3 Bar Net Short","X")=0 {rote Farbe}
das =0 entfernst.
Der Metatrader ist nämlich ein Schlingel. Der baut nämlich immer so kleine Fehler ein. ;-)
Kater
@Metatrader
@kater
Das mit dem Expert hat soweit geklappt !
Nur mit dem System habe ich noch meine Probleme (siehe Chart von heute 10.25 Uhr).
Danke für die Hilfe und ich hoffe ihr könnt mir beim System noch helfen !
Danke
Mike
@miketenner,
die Formeln etwas weiter oben sind korrekt, du solltest noch einmal überprüfen, ob du sie genau so eingegeben hast, wie sie dort stehen.
@ Metatrader und an ALLE
Ich habe Probleme bei der Erstellung des Systems. Unter Einbezug deiner Formeln ins System bekomme ich folgende Chart. Bitte poste doch nochmals genau das Handelssystem hierzu damit ich schauen wo sich bei mir ein Fehler eingeschlichen hat. Herzlichen Dank für deine Mühe mit einem Anfänger !
gruss Mike
chart zur obigen Anfrage !
@miketenner,
Soweit ich das sehe stimmt deine Formel.
Das System zeigt immer den genauen Einstieg in den Trade an. Ein Signal wird immer am Ende eines Bar`s generiert (in deinem Fall - Tageschart also einen Tag versetzt)
So werden aus kleinen Gewinnen kontinuierliche Verluste.
Wenn es nicht so wäre wären wir schon alle Millionäre;-))
Das glaub ich nicht den er mach ja einen exit !
Gruss
Mike
@miketenner,
solltest du noch immer Probleme mit dem System haben, dann kann ich dir auch die Formeln zumailen. ;)
@metatrader
Hallo Metatrader,
wäre sehr nett, wenn du mir das System bzw. die Systemeinstellungen mailen
könntest. Ich weiss einfach nicht woran es bei mir liegt denn ich habe exakt deine Formel als System eingefügt.
Meine mailadresse: miketenner@ngi.de
Herzlichen Dank für deine Bemühungen
mfg
Mike
@ metatrader
Sorry konnte noch keine e-mail empfangen- Mein Provider hat folgende Änderung vorgenommen:
miketenner@ngi-portabledsl.de
Bitte falls du schon gesendet hast an diese e-mailadresse senden.
Herzlichen Dank
mfg
Mike
Hallo Metatrader,
zunächst einmal muß ich hier mal loswerden, als purer, wissbegieriger Anfänger, dass ich die Threads hier tierisch interessant finde. Was Du hier auf die Beine stellst, phänomenal. (so, jetzt is aber gut!)
Ich habe das Problem, dass ich mit MarketMaker arbeite. Wenn ich also die oben genannte Formel in MM umschreiben möchte, habe ich nur ein kleines Verständigungsproblem, welches Du mir bitte ausräumen mögest.
Die L-Punkte habe ich verstanden, jedoch die ersten beiden Zeilen kann ich nicht deuten (programmiertechnisch, weil ich die Sprache nur ableiten kann, ich kenne Sie aber nicht).
L1:=ValueWhen(1,H>Ref(HHV(H,13),-1),L);
H1:=ValueWhen(1,L<Ref(LLV(L,13),-1),H);
Was sind das für Punkte?
Die Syntax will mir nicht klar werden. Einmal ein höchstes High der letzten 13 Tage von gestern, dann Low (korrekt?) aber was bedeutet ValueWhen und (1,??
Wäre schon wenn Du einem Meta-Dummie etwas unter die Arme greifen könntest!
Vielen Dank.
Mike
@Mike.
Die ValueWhen Funktion liefert den Wert des DATA ARRAY zu dem Zeitpunkt, als das n-te Auftreten der EXPRESSION wahr gewesen ist.
BEISPIEL
Wie lautet der Schlusskurs, als der MACD das letzte Kaufsignal geliefert hat?
a:=MACD();
b:=Mov(MACD(),9,E);
c1:=Cross( a, b );
ValueWhen(1,c1,C)
----
Vielleicht bekommst du nun mit dieser Anleitung heraus, was die Formel zu bedeuten hat.
Hallo Metatrader,
ist ja richtig cool, was man da machen kann. Ich glaube in MM ist das nicht so einfach umzusetzen, oder? Aber Du als HS-Profi arbeitest bestimmt nicht mit MarketMaker, oder? Ich hab aber irgendwo hier gelesen, dass du bereits mit viel Software gearbeitet hast, deshalb die Frage.
Du machst es nur ein bißchen schwer, weil Du so tierisch abkürzt. Aber ich glaube ich es.
Vielen Dank.
Mike
@ Mike,
ich habe 1999 einmal einen 4 Wochentest von MarketMaker gemacht und habe damals verzweifelt versucht, in die Programmierung von MM einzusteigen. Doch die gesamte Logik ist so umständlich gewesen, dass ich den Löffel geschmissen habe. ;)
MM hatte bereits damals sehr viele interssante Features (z.B. Chart Gallery, Portfolioverwaltung, Filterfunktionen) und eine sehr gute Kursdatenbank mit Fundamentaldaten, aber die Programmierung ...
Ich glaube, dass man die Formel nicht so einfach in MM umsetzen kann. Aber vielleicht wurde die MM-Sprache ja erweitert oder verbessert.
Kann ich in Metastock die Anzeige eines ja/nein - Indikators auf das jeweils letzte Eintreten beschränken? Z. B. zeigt eine Formel nach dem Schema cross(mov1,mov2) als Binary Wave alle wahren Ereignisse an, ich will aber nur das letzte sehen. Am liebsten als Indikator, zur Not als Experte. Sieht jemand eine Möglichkeit?
Danke, Chagall
@Chagall,
suchst du wo etwas:
event:=Cross(Mov(C,10,E),Mov(C,20,E));
A1:=Cum(1);
A2:=LastValue(A1-BarsSince(NW>0));
If(A1<A2,BarsSince(A1>=A2),event)
@ metatrader
ja genau das suchte ich - danke. Zerbreche mir aber bisher vergeblich den Kopf, was NW bedeutet? (der Indikator Builder weiß es auch nicht ;-) )
@ Chagall,
kleiner Tippfehler, so ist es richtig.
event:=Cross(Mov(C,10,E),Mov(C,20,E));
A1:=Cum(1);
A2:=LastValue(A1-BarsSince(event>0));
If(A1<A2,BarsSince(A1>=A2),event)
Hat jemand das System von Henry getestet ?
das System ohne Stops ist nicht überlebensfähig denke ich.
Und Stops können allerhöchstens den Drawdown verbessern. Die Eckzahlen nicht denke ich jedenfalls
Trotzdem das System ist excellent programmiert. Respekt
@metatrader
Ich beschäftige mich auch gerade mit KM. Mich würde aus dem oberen System der Code (isoliert) für das Longmuster interessieren. Könnten Sie mir das kurz darlegen, wie ich mir das Muster über den Expert ansehen kann. Signale interessieren mich nicht. Danke!
Gruß Thomas
@select
was bedeutet denn KM ?
@alle
Henrys System ist in der Form ein reines Umkehrsystem.
Henrys System scheint Trendfolgeeigenschaften zu haben. In Seitwärtsmärkten verliert man Geld jedenfalls mit diesen Parametern. Die Gebühren ruinieren scheinbar das Sytstem. Es reichen schon 0,5%.
Ich will aber nichts davon hören mit "teste doch mal in anderen Märkten"
61735 Kursbalken Test, 6783 Trades dürften genügen, Drawdown=80%, Erholung im Schnitt auf 40%, Payoffratio=1,43, %profitable=28%, Profitfaktor=0,57. Bei jedem Euro Investition bleiben 57 Cent übrig.
Ich werde wahrscheinlich unheimlich viel Zeit verplempern das System zu verbessern. Mal sehen mal soll die Hoffnung nicht aufgeben. Vielleicht probier ich mal den einen oder anderen Stop und Filter,falls ich das überhaupt schaffe es zu programmieren.
Im übrigen liegt die Praxis des Handels weit entfernt von solchen Software-Programmtests
@Mr_Aegon [#87]
"was bedeutet denn KM ?"
Kursmuster! Ich würde gern den "Umkehrpunkt" als KM definieren/sehen wollen. Eine Idee? Kann den Umkehrpunkt aus dem Code nicht rauslesen.
L1:=ValueWhen(1,H>Ref(HHV(H,13),-1),L);
H1:=ValueWhen(1,L<Ref(LLV(L,13),-1),H);
L2:=
If(Ref(L,-1)<L1,Ref(L,-1),If(Ref(L,-2)<L1,Ref(L,-2),If(Ref(L,-3)<L1,Ref(L,-3),If(Ref(L,-4)<L1,Ref(L,-4),If(Ref(L,-5)<L1,Ref(L,-5),If(Ref(L,-6)<L1,Ref(L,-6),If(Ref(L,-7)<L1,Ref(L,-7),If(Ref(L,-
8)<L1,Ref(L,-8),If(Ref(L,-9)<L1,Ref(L,-9),If(Ref(L,-10)<L1,Ref(L,-10),If(Ref(L,-11)<L1,Ref(L,-11),If(Ref(L,-12)<L1,Ref(L,-12),Ref(L,-13)))))))))))));
H2:=If(Ref(H,-1)>H1,Ref(H,-1),If(Ref(H,-2)>H1,Ref(H,-2),If(Ref(H,-3)>H1,Ref(H,-3),If(Ref(H,-4)>H1,Ref(H,-4),If(Ref(H,-5)>H1,Ref(H,-5),If(Ref(H,-6)>H1,Ref(H,-6),If(Ref(H,-7)>H1,Ref(H,-
7),If(Ref(H,-8)>H1,Ref(H,-8),If(Ref(H,-9)>H1,Ref(H,-9),If(Ref(H,-10)>H1,Ref(H,-10),If(Ref(H,-11)>H1,Ref(H,-11),If(Ref(H,-12)>H1,Ref(H,-12),Ref(H,-13)))))))))))));
L3:=
If(Ref(L,-2)<L2,Ref(L,-2),If(Ref(L,-3)<L2,Ref(L,-3),If(Ref(L,-4)<L2,Ref(L,-4),If(Ref(L,-5)<L2,Ref(L,-5),If(Ref(L,-6)<L2,Ref(L,-6),If(Ref(L,-7)<L2,Ref(L,-7),If(Ref(L,-8)<L2,Ref(L,-8),If(Ref(L,-
9)<L2,Ref(L,-9),If(Ref(L,-10)<L2,Ref(L,-10),If(Ref(L,-11)<L2,Ref(L,-11),If(Ref(L,-12)<L2,Ref(L,-12),If(Ref(L,-13)<L2,Ref(L,-13),Ref(L,-14)))))))))))));
H3:=
If(Ref(H,-2)>H2,Ref(H,-2),If(Ref(H,-3)>H2,Ref(H,-3),If(Ref(H,-4)>H2,Ref(H,-4),If(Ref(H,-5)>H2,Ref(H,-5),If(Ref(H,-6)>H2,Ref(H,-6),If(Ref(H,-7)>H2,Ref(H,-7),If(Ref(H,-8)>H2,Ref(H,-
8),If(Ref(H,-9)>H2,Ref(H,-9),If(Ref(H,-10)>H2,Ref(H,-10),If(Ref(H,-11)>H2,Ref(H,-11),If(Ref(H,-12)>H2,Ref(H,-12),If(Ref(H,-13)>H2,Ref(H,-13),Ref(H,-14)))))))))))));
Gruß Thomas
@select
meine Charts könnte ich erst heut abend mir ansehen. Von dem her möchte ich nichts falsches sagen.
Ich hatte auch den Eindruck das dieses System nach Umkehrpunkten sucht.
-----------------------------------------------------------------------------
Ich will mal versuchen zu sagen wie ich es verstehe.
Entschuldigt, falls ich es falsch interpretiere.
L1 dürfte das Low des Kurses (Low einer Kerze) zum Zeitpunkt eines neuen 13 Tage Hoch's sein.
L2 scheint Tage rückwärts zu suchen allerhöchstens bis zum in L1 beschriebenen Ereignis bis ein Low unter diesem Ereignis Low vorliegt. Finde ich z.B. 2 Tage rückwärts schon ein niedriges Low habe ich die Bedingung erfüllt und ich habe mein L2 und suche nicht weiter zurück. (nur wenn ich was umsonst krieg würde ich weiter zurücksuchen, aber trotzdem beim Ergebnis bleiben grins)
Oder anders gesagt ein Umkehrpunkt jedenfalls für diesen Teil ist gefunden (ein niederes Low)
Bei L3 ist es ungefähr auch so, nur mit Vergleich auf L2 beginnend bei 2 Tage vorher rückwärts suchen.
Bei Erfolg (wird L3 gefüllt) wäre das ein weiteres low unter dem vorherigen low für diesen Teil.
Das System könnte also sowas sein wie:
Suche ein niedriges Low (L2) als das Low des letzten 13 Tage Hoch's (L1). Dann ein weiteres Low (L3) unter diesem Low (L2) und schließlich warte bis dein heutiges Close (C) niedriger ist als das letzte Low (L3), dann ist das Verkaufsignal erfüllt und dann gehe short.
Aber das heißt dass man den Tagesschluss (Close) abwarten muss
Das wäre für Short. Für Long muss man in die andere Richtung arbeiten analog.
Während ich die Zeilen schreibe habe ich das jetzt ungefähr so verstanden.
Hoffe geholfen zu haben, wenn es anders ist, lasse ich mir es gern sagen, falls meine grauen Zellen da oben mitspielen
nach Stunden... innere Window-Bearbeitung völlig vergessen.
So könnte/müßte das System arbeiten.
MS 7.22
System Report - 3 Bar Net
System Parameters
System notes Thread 6581 Trenderkenung u. Systemsignale.
Gepostet von Metatrader. Code von Henry u. arbeitet
mit Preisstrukturen
Enter long Fml("3 Bar Net Long")
Enter short Fml("3 Bar Net Short")
Initial equity 1000
Positions Long and short
Entry trade price Close
Entry trade delay 0
Exit trade price Close
Exit trade delay 0
Entry commission 0.5%
Exit commission 0.5%
Interest rate 0%
Margin req. 100%
@ Select,
kein Problem:
Schritt 1: Neuen Indikator anlegen, Name: 3BarNetLong, nachfolgenden Code in den Indikator Builder eingeben und mit Okay bestätigen:
L1:=ValueWhen(1,H>Ref(HHV(H,13),-1),L);
H1:=ValueWhen(1,L<Ref(LLV(L,13),-1),H);
L2:=If(Ref(L,-1)<L1,Ref(L,-1),If(Ref(L,-2)<L1,Ref(L,-2),If(Ref(L,-3)<L1,Ref(L,-3),If(Ref(L,-4)<L1,Ref(L,-4),If(Ref(L,-5)<L1,Ref(L,-5),If(Ref(L,-6)<L1,Ref(L,-6),If(Ref(L,-7)<L1,Ref(L,-7),If(Ref(L,-8)<L1,Ref(L,-8),If(Ref(L,-9)<L1,Ref(L,-9),If(Ref(L,-10)<L1,Ref(L,-10),If(Ref(L,-11)<L1,Ref(L,-11),If(Ref(L,-12)<L1,Ref(L,-12),Ref(L,-13)))))))))))));
H2:=If(Ref(H,-1)>H1,Ref(H,-1),If(Ref(H,-2)>H1,Ref(H,-2),If(Ref(H,-3)>H1,Ref(H,-3),If(Ref(H,-4)>H1,Ref(H,-4),If(Ref(H,-5)>H1,Ref(H,-5),If(Ref(H,-6)>H1,Ref(H,-6),If(Ref(H,-7)>H1,Ref(H,-7),If(Ref(H,-8)>H1,Ref(H,-8),If(Ref(H,-9)>H1,Ref(H,-9),If(Ref(H,-10)>H1,Ref(H,-10),If(Ref(H,-11)>H1,Ref(H,-11),If(Ref(H,-12)>H1,Ref(H,-12),Ref(H,-13)))))))))))));
L3:=If(Ref(L,-2)<L2,Ref(L,-2),If(Ref(L,-3)<L2,Ref(L,-3),If(Ref(L,-4)<L2,Ref(L,-4),If(Ref(L,-5)<L2,Ref(L,-5),If(Ref(L,-6)<L2,Ref(L,-6),If(Ref(L,-7)<L2,Ref(L,-7),If(Ref(L,-8)<L2,Ref(L,-8),If(Ref(L,-9)<L2,Ref(L,-9),If(Ref(L,-10)<L2,Ref(L,-10),If(Ref(L,-11)<L2,Ref(L,-11),If(Ref(L,-12)<L2,Ref(L,-12),If(Ref(L,-13)<L2,Ref(L,-13),Ref(L,-14)))))))))))));
H3:=If(Ref(H,-2)>H2,Ref(H,-2),If(Ref(H,-3)>H2,Ref(H,-3),If(Ref(H,-4)>H2,Ref(H,-4),If(Ref(H,-5)>H2,Ref(H,-5),If(Ref(H,-6)>H2,Ref(H,-6),If(Ref(H,-7)>H2,Ref(H,-7),If(Ref(H,-8)>H2,Ref(H,-8),If(Ref(H,-9)>H2,Ref(H,-9),If(Ref(H,-10)>H2,Ref(H,-10),If(Ref(H,-11)>H2,Ref(H,-11),If(Ref(H,-12)>H2,Ref(H,-12),If(Ref(H,-13)>H2,Ref(H,-13),Ref(H,-14)))))))))))));
Buy:=C>H3;
Sell:=C<L3;
i:=Cum(buy>-1 AND sell>-1)=1;
x:=BarsSince(i OR buy)<=BarsSince(i OR sell)=0;
X=0 AND Ref(X,-1)>0
Schritt 2: Neuen Export anlegen, Name egal
Reiter Trend, Formel für bullish
FmlVar("3BarNetLong","X")=0
Reiter Highlights, Formel für long
FmlVar("3BarNetLong","X")=0
Reiter Symbols, Name Enter Long, Formel für Long
Fml("3BarNetLong")
Reiter Symbols, Name Close Long, Formel für Close Long
FmlVar("3 Bar Net Long","X")<>0 AND Ref(FmlVar("3 Bar Net Long","X"),-1)=0