Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sten« (18. August 2009, 02:17)
PnLtobePositive
unregistriert
Zitat
Das ist ein Punkt, der einer längeren Erklärung bedarf! Ich werde dazu gesondert schreiben
Zitat
Ist es das Dilemma des diskretionären Traders, oder ärgert es dich auch wenn dein System daneben liegt?
Zitat
...sich nicht darüber zu freuen wie viel man verdient hat!
Zitat
Macht man an einem Tag zu viele Fehler hintereinander handelt man einfach nicht mehr weiter.
Zitat
Wenn Dein System real an den Märkten handelt kommst Du vielleicht einmal in den Genuss (ich hoffe für dich dass das nie der Fall sein wird), einen der oben genannten Fehler zu machen!
Zitat
Gewinne werden dagegen meist emotionslos registriert!
Zitat
global Calc periodenZählerTäglich: Abschnitt(p, 1, y, l); //zählt täglich von 1,2 bis 56
{Test Bewegungsstop}
//Einschränkungen:
//1.) nur Intraday und keine Übernachtpositionen
//2.) Trades erst ab 2.Tagesperiode
global Const rundenAufStellenNachKomma: 0; //Stopwert runden, z.B. 2: 1.23456 -> 1.23
global Const pufferInProzVomKurs: [pufferInProzVomKurs:0.1,0.01,1,0.01,1,0.01,3]; //soviel Kursrauschen zulassen bevor ausstopt
global Const faktor: [faktor:2.0,0,3,0,3,0.1,3]; //faktor * Durchschnittskerzengröße ... Referenzkerzengröße
global Calc REFn1_pufferInTicks: Prec(Ref(Close, -1)/100 * pufferInProzVomKurs, rundenAufStellenNachKomma);
global Calc REFn1_isPositiveKerze: Ref(Open, -1) < Ref(Close, -1); //d.h. weiße Kerze
global Const periodeFürDurchschnitt: 10;
global Calc REFn1_größeReferenzKerzenkörper: Prec(faktor * Ref(SUM(ABS(Open-Close), periodeFürDurchschnitt)/periodeFürDurchschnitt, -1), rundenAufStellenNachKomma); //brauche Bezugsgröße für Einschätzung der Kerzengröße = faktor * durchschnittskerzenGröße
global Calc REFn1_isGroßerKerzenkörper: REFn1_größeReferenzKerzenkörper <= Ref(ABS(Open-Close), -1);
global Calc isAußenstab: REFn1_isPositiveKerze AND REFn1_isGroßerKerzenkörper;
//falls Innenstab, d.h. negative oder kleine Kerze, dann nimm weiten Stop
global Calc stopLevelWeit: Schalter(0, periodenZählerTäglich = 1, Low, Ref(isAußenstab, -1)=1 AND isAußenstab=1, Ref(Low, -2)) - REFn1_pufferInTicks; //Stoplevel erhöht sich permanent, bei neutraler Kerze, d.h. 2 große Kerzen hintereinander in richtiger Richtung
//falls Außenstab (d.h. Durchbruchskerze), dann nimm engen Stop
global Calc stopLevelEng: MARef(Low, -1) - REFn1_pufferInTicks, stopLevelWeit); //nimm immer den engeren
//if Außenstab, dann eng, sonst weiter Stop
global Calc bewegungsStop_long: If(isAußenstab, stopLevelEng, stopLevelWeit);
//visualisiere Ausgestopt
global Calc ausgestopt: bewegungsStop_long >= low;
{Enter-Regeln}
global Calc enterLong: periodenZählerTäglich > 1 AND periodenZählerTäglich < 5 AND LastDP(C) < Ref(Close, -1);
global Calc exitLong: bewegungsStop_long >= Ref(Low, -1);
global Calc enterShort: periodenZählerTäglich > 1 AND periodenZählerTäglich < 5 AND LastDP(C) > Ref(Close, -1);
Zitat
Max("alter Kurslevel", Ref(Low, -2)) ... gibt es im Schalter() vielleicht eine interne Variable, wie der alte Wert war?
J79
unregistriert