Jump to content
Tom Next - Daytrading Community

Recommended Posts

Posted

Dann starte ich mal die Kitchen mit dem Large Range Day (LRD) System. Einerseits weil die Kitchen noch so unbenutzt aussieht, andererseits weil das System spannend klingt.

Das Thema wurde bereits hier und hier behandelt. Ich habs jetzt aber nochmal als eigenes Kitchen-Topic gestartet um ein "Beispieltopic" für die Kitchen zu haben.

 

Systemlogik

Es gibt immer wieder Tage mit sehr großer Range (lange Kerze), meist haben solche Tage nicht nur lange Dochte sondern auch einen großen Kerzenkörper. Sprich an einem solchen Large-Range-Day hat ein starker Move in eine Richtung stattgefunden.

 

Auf dieser Erkenntnis aufbauend, könnte man versuchen den "Aufbau" eines solchen LRD zu erkennen und die restliche Bewegung mitzugehen.

 

Einstiegsregeln

Steigt der Kurs über MAX(DailyOpen, DailyLow + DailyATR) -> BUY

Fällt er unter MIN(DailyOpen, DailyHigh - DailyATR) -> SELL

 

Stop/Exit

Initial und Trailingstop bei DailyHigh - DailyATR bzw. DailyLow + DailyATR

Am Ende des Tages werden alle Trades geschlossen.

TP gibt es keinen.

  • Upvote 2
Posted

Und hier die Version 1.0:

 

eLRD.mq4

 

Die interessanten Codestellen:

Einstieg:

bullet_go.png

int calcEntrySignal() {
 int result= FLAT;
 
 static double last_close= 0;
 double atr= iATR(Symbol(),PERIOD_D1,ATRPeriod,1);
 double short_trigger= iHigh(Symbol(),PERIOD_D1,0) - atr;
 double long_trigger= iLow(Symbol(),PERIOD_D1,0) + atr;
 
 if(last_close <= long_trigger && Close[0] > long_trigger) {
   result |= LONG;
   showArrow("SignalLong_"+Bars,High[0],Time[0],Green,SYMBOL_ARROWUP);  
 }
   
 if(last_close >= short_trigger && Close[0] < short_trigger) {
   result |= SHORT;
   showArrow("SignalShort_"+Bars,High[0],Time[0],Red,SYMBOL_ARROWDOWN);
 }
 
 last_close= Close[0];
 
 //if a signal in both directions is forbidden do
 if(result == BOTH)
   result= FLAT;
 
 return(result);
}

Trailing:

bullet_go.png

double calcNewTrailingStop(double curStop,int orderType) {
 double trailStop = 0;
 double atr= iATR(Symbol(),PERIOD_D1,ATRPeriod,1);
 if(orderType == OP_BUY)
   trailStop= iHigh(Symbol(),PERIOD_D1,0) - atr;
 if(orderType == OP_SELL)
   trailStop= iLow(Symbol(),PERIOD_D1,0) + atr;
 
 if ((orderType == OP_BUY && trailStop > 0.0 && trailStop > curStop)
    || (orderType == OP_SELL && trailStop > 0.0 && (curStop == 0 || trailStop < curStop)) ) {
   return(trailStop);  //neuer TrailingStop 
 } else
    return(curStop);  //alter TrailingStop: d.h. keine Änderung notwendig
}

InitSL:


double calcInitStopDiff(int orderType) {
 double atr= iATR(Symbol(),PERIOD_D1,ATRPeriod,1);
 return(atr);
}

 

 

Erste Tests sehen gar nicht so schlecht aus. Die Exitstrategie sollte man scheinbar besser weglassen und die Trades auch über mehrere Tage laufen lassen. Ein typischer Trendfolger halt ;)

  • Upvote 8
Posted

 

 

Erste Tests sehen gar nicht so schlecht aus. Die Exitstrategie sollte man scheinbar besser weglassen und die Trades auch über mehrere Tage laufen lassen. Ein typischer Trendfolger halt ;)

 

Es gab von der Strategie eine Version die glaube ich bis max 3 Tage im Trade blieb und wurde getrennt von der Originalen Gehandelt der SL wurde immer auf das Vortagestief mitgezogen und am dritten Tag wurde der Tade geschlossen falls er nicht ausgestoppt wurde.

 

Muss man mal versuchen ob es geht werde mich da Morgen mal dran versuchen es zu Testen.

 

LG ST

Posted

Hi,

ich hab mal gehört das das LRD System in Seitwärtstrends nicht so gut arbeitet.

Da müsste man noch so eine Erkennung reinbauen das es dann nicht handelt.

 

thomas

Posted

ich hab mal gehört das das LRD System in Seitwärtstrends nicht so gut arbeitet.

Da müsste man noch so eine Erkennung reinbauen das es dann nicht handelt.

Hallo Thomas :Howdy:

Wie meinst du das denn genau ? Der Range Bar gibt ja sozusagen schon die Range (dann eventuell Seitwärts) der Bewegung vor.

Oder meinst du deine Aussage auf eine bereits bestehende Seitwärtsphase bezogen ?

 

Wenn wir Seitwärtsphasen im voraus feststellen könnten, wären die Trader, speziell Trendfolger dieses Planeten sicherlich ein großes Stück weiter. ^^

Posted

Hi,

ich hab mal gehört das das LRD System in Seitwärtstrends nicht so gut arbeitet.

Da müsste man noch so eine Erkennung reinbauen das es dann nicht handelt.

 

thomas

 

Stimmt hab da auch schon einen weg gefunden das abzustellen berichte das auch Morgen.

Posted

Hallo Thomas :Howdy:

Wie meinst du das denn genau ? Der Range Bar gibt ja sozusagen schon die Range (dann eventuell Seitwärts) der Bewegung vor.

Oder meinst du deine Aussage auf eine bereits bestehende Seitwärtsphase bezogen ?

 

Wenn wir Seitwärtsphasen im voraus feststellen könnten, wären die Trader, speziell Trendfolger dieses Planeten sicherlich ein großes Stück weiter. ^^

 

Hi Vola,

ich glaub so gut gibt der Rangebar den Trend das noch nicht vor.

Also ich meine wenn der Trend in einer längeren Seitwärtsphase ist, also praktisch kaum was los ist am Markt dann verbrät das LRD-System einfach nur Geld.

Dann hilft auch nix der Rangebar. Im Prinzip müsste man das LRD-System dann abschalten.

 

Richtig Geld verdient man mit dem LRD-System wenn ordentlich Bewegung im Markt ist. Starker Aufwärtstrend, starker Abwärtstrend etc...

 

Ich finde man müsste da noch mehrere Trendindikatoren zusätzlich einbauen. Ich hab leider noch zuwenig Ahnung welche Indikatoren man verwenden könnte.

thomas

Posted

Ich finde an der Einstiegsregel/ bzw. Lotgrössenberechnung müsste man noch etwas machen.

 

"

Einstiegsregeln

Steigt der Kurs über MAX(DailyOpen, DailyLow + DailyATR) -> BUY

Fällt er unter MIN(DailyOpen, DailyHigh - DailyATR) -> SELL

"

 

Also die Bedingung (if than -> BUY)

ist etwas hart. Das müsste man aufweichen.

 

a) Steigt der Kurs "leicht" über MAX(DailyOpen, DailyLow + DailyATR) -> BUY (kleine Lotgrösse)

b) Steigt der Kurs "mittel" über MAX(DailyOpen, DailyLow + DailyATR) -> BUY (mittlere Lotgrösse)

c) Steigt der Kurs "stark" über MAX(DailyOpen, DailyLow + DailyATR) -> BUY (grössere Lotgrösse)

 

 

Und noch ne andere Sache ist mir aufgefallen.

Die letzten Tage davor werden überhaupt nicht beachtet.

Ich finde diese Information müsste man auch verwenden.

 

Macht das einen Unterschied wenn der z.b. c) 3 Tage hintereinander in Folge auftritt?

Im Prinzip müsste dann doch ein stärkerer Trend vorhanden sein als wenn nur a) auftritt.

 

Das sind nur so ein paar Überlegungen.

thomas

Posted

Thx an alle für die Rückmeldung und Beteiligung.

 

Da die Idee des Systems nicht von mir ist und ich derzeit leider nicht viel Zeit habe: Der Code ist OpenSource, wer will darf ihn gerne erweitern ;)

 

bzgl. gestaffelte Einstiege: Da man auf tickbasis reagiert, ist die erste erreichte Schwelle immer "leicht" darüber. Meinst du also ein pyramidisieren wenn der Kurs nach durchbrechen des Triggers weiterläuft?

 

@Tage davor einbeziehen: klingt interessant, Vorschläge wie man das am besten macht?

  • Upvote 1
Posted

Thx an alle für die Rückmeldung und Beteiligung.

 

Da die Idee des Systems nicht von mir ist und ich derzeit leider nicht viel Zeit habe: Der Code ist OpenSource, wer will darf ihn gerne erweitern ;)

 

bzgl. gestaffelte Einstiege: Da man auf tickbasis reagiert, ist die erste erreichte Schwelle immer "leicht" darüber. Meinst du also ein pyramidisieren wenn der Kurs nach durchbrechen des Triggers weiterläuft?

 

@Tage davor einbeziehen: klingt interessant, Vorschläge wie man das am besten macht?

Hi Mythos,

werde da mal ab morgen loslegen und ein bissel probieren.

 

zu tickbasis) Das stimmt, so genau hab ich noch nicht drüber nachgedacht. Da werde ich wohl ein bissel probieren müssen. Es geht ja darum festzustellen ob am jetzigen Tag mehr los ist als am vorherigen. Man hat ja nur den

auslösenden Trigger.

 

Da fällt mir spontan ein:

a) Zeitpunkt wann er ausgelöst hat

b) Was für ein Volumen ist bis zu diesem Zeitpunkt schon aufgetreten (vergleich mit Vortag)

... puh... da kann man einiges machen, werde einfach mal rumprobieren und das Ergebniss dann mal vorstellen.

 

thomas

Posted
Vorsicht bei den TradingHour-Parametern. Dein Beispielset darf nur mehr ein paar Stunden am Tagen (nicht durchgehend, immer wieder zwischen drin) Trades eröffnen, das geht irgendwie gegen die Idee des LRD oder?
Posted

Vorsicht bei den TradingHour-Parametern. Dein Beispielset darf nur mehr ein paar Stunden am Tagen (nicht durchgehend, immer wieder zwischen drin) Trades eröffnen, das geht irgendwie gegen die Idee des LRD oder?

Hi,

ich hab mir das nochmal durchgelesen.

Nach der Large-Range-Idee wird der Kurs in der nähe des Tageshochs oder Tagestiefs schliessen.

Man brauch also nach dem ersten Trigger nur noch bis zum Handelsende die Position laufen lassen.

Wenn der Markt nicht mehr so liquide ist sollte man die Position schliessen.

So gegen 21 Uhr.

 

Hört sich alles ganz einfach an :-) So die Theorie.

 

Also pro Tag nur ein Trade so wie ich das verstanden hab.

 

Wenn der EuroUsd stark am Tag schwankt geht die Strategie bestimmt nicht auf?

Im Buch hatte er ein Beispiel für den DAX aufgezeigt.

 

thomas

  • 6 months later...
Posted

Stimmt hab da auch schon einen weg gefunden das abzustellen berichte das auch Morgen.

 

Ich schau mir grad das System nochmal genauer an und wollte mal fragen ob das "Morgen" schon war ;)

 

An sich sieht es ja recht gut aus.

Posted

Hab ein bissl weiter getestet und ein paar "spannende" Erkenntnisse:

 

Also der ATR Filter (und auch andere Filter in diese Richtung) helfen vor 1.1.2012 wunderbar. Da geht der PF von 1.98 auf bis zu 4 rauf. Im Jahr 2012 hilft es leider nicht mehr viel bzw. verschlechtert das Ergebnis eher.

 

Sehr interessant ist auch die Erweiterung auf mehrere Tage: Im Jahr 2011 ist der Gewinn beim Schließen der Position am Abend auf ca 6000 bei 1000 Risiko pro Trade. Erweitert man die Haltedauer auf bis zu 2 Tage geht der Gewinn auf 20000.

 

Im Jahr 2012 ist es dann umgekehrt:

Mit Schließen am Abend: ca 6000 Gewinn (PF 1.46) bisher

Haltedauer 2 Tage: 4500 Gewinn (PF 1.18)

 

2010 is sehr ähnlich wie 2011. Es scheint, als wären vor 2012 mehr Trends die mehrere Tage halten und inzwischen die Bewegungen stärker schwanken und es stärker rauf und runter geht.

 

Aus dem Grund hab ich jetzt noch einen "EveningStop" eingebaut, sprich wenn es über mehrere Tage geht, wird jeweils am Abend der Stop stärker als üblich nachgezogen, damit nicht zuviele Gewinne abgegeben werden.

 

Das sorgt vor 2012 natürlich dafür das man deutlich unter den 20000 zurückbleibt. Aber mit ca 7700 ist es zumindest besser als mit schließen der Position am selben Tag.

Und das schöne: diese Performance geht konstant weiter ins Jahr 2012, auch hier liegt der Gewinn im Moment bei ca. 8000.

 

Hier sind aber noch keine ATR-Filter drauf, die kommen jetzt als nächstes.

  • Upvote 2
Posted

Es scheint, als wären vor 2012 mehr Trends die mehrere Tage halten und inzwischen die Bewegungen stärker schwanken und es stärker rauf und runter geht.

Das deckt sich voll und ganz mit meinen Erkenntnissen. Vor 2012 war ich in höheren Zeitrahmen unterwegs, um mehrtägige Trends mitzunehmen. Seit 2012 (insbesondere ab etwa April) musste ich die Zeitrahmen sukzessive verkleinern, um Trendschwünge zu ergattern.

 

Das Problem ist, dass ich viele EAs live habe und diese Umstellung viel Geld kostet, da es einige Wochen dauert, die neuen Umstände zu erkennen und die "neuen" Marktbedingungen zu akzeptieren und zu adaptieren. Nächstes Jahr im Backtest ist die Sachlage wieder mal vollkommen klar...

 

Daher ist der ATR ideal, um Rauschen, Schwankungsbreiten und somit Large Range Days zu filtern. Aber auch er braucht eine Periodenlänge, womit wir wieder beim Zeitrahmen wären. Somit bräuchte man noch einen Indikator, der Rückschlusse auf die Periodenlänge für den ATR liefert. Hat da jemand eine geniale Idee? Was ist mit dem Abstand zwischen zwei Swing-Punkten?

Posted

Das deckt sich voll und ganz mit meinen Erkenntnissen. Vor 2012 war ich in höheren Zeitrahmen unterwegs, um mehrtägige Trends mitzunehmen. Seit 2012 (insbesondere ab etwa April) musste ich die Zeitrahmen sukzessive verkleinern, um Trendschwünge zu ergattern.

 

Dann bin ich wohl nicht der einzige dem es so ergeht.

Seit Februar 2012 bin ich ja wieder im Livehandel (Intraday) mit etwas größeren Positionen im Markt unterwegs.

 

Was 2010 und 2011 mit kleinerem Spielgeld noch wunderbar funktionierte, bringt mich aktuell dazu, graue Haare im Zeitraffer entstehen zu lassen.

Die Trends sind einfach kürzer geworden, der Markt schneller und volatiler (FX) und man muß in einer Position schneller reagieren (Kommt mir zumindest so vor)

 

 

Das Problem ist, dass ich viele EAs live habe und diese Umstellung viel Geld kostet, da es einige Wochen dauert, die neuen Umstände zu erkennen

 

 

Vllt. tröstet es dich ein wenig, im manuellen Handel kostet dieser Umstand durch ständiges Intraday drehen der Positionen ebenso ne Menge an Gebühren und SL`s.

Posted

Vllt. tröstet es dich ein wenig

Nein, tröstet mich nicht http://www.tom-next.de/community//public/style_emoticons/default/dash1.gif http://www.tom-next.de/community//public/style_emoticons/default/hilarious.gif

Posted

Nein, tröstet mich nicht http://www.tom-next.de/community//public/style_emoticons/default/dash1.gif http://www.tom-next.de/community//public/style_emoticons/default/hilarious.gif

 

Schade eigentlich, ist doch alles immer nur eine Betrachtungsweise der Situation.

 

Andere Idee:

 

Wir könnten das ganze umgehen, indem wir die Positionsgrößen miteinander austauschen und dann prozentual die Verluste gegenrechnen.

Wer mehr bzw. weniger hat überweist dem anderem einfach die Hälfte der virtuell entstandenen Verluste.

Und wir würden Gebühren sparen !

 

Daher ist der ATR ideal, um Rauschen, Schwankungsbreiten und somit Large Range Days zu filtern. Aber auch er braucht eine Periodenlänge, womit wir wieder beim Zeitrahmen wären. Somit bräuchte man noch einen Indikator, der Rückschlusse auf die Periodenlänge für den ATR liefert. Hat da jemand eine geniale Idee? Was ist mit dem Abstand zwischen zwei Swing-Punkten?

 

Zwei Swingpunkte der Vergangenheit zu berechnen (Timeframe xyz) aus den jeweiligen Berechnungen einen Durchschnitt zu nehmen und das dann mit dem ATR zu verbinden ist vllt. mal einen Versuch wert. Man hätte dann wenigstens einen Quotienten der sich auf den Handels / berechnenden Zeitrahmen bezieht.

Posted

Andere Idee:

 

Wir könnten das ganze umgehen, indem wir die Positionsgrößen miteinander austauschen und dann prozentual die Verluste gegenrechnen.

Wer mehr bzw. weniger hat überweist dem anderem einfach die Hälfte der virtuell entstandenen Verluste.

Klingt irgendwie nach Euro-Bonds http://www.tom-next.de/community//public/style_emoticons/default/shok.gif

 

Zwei Swingpunkte der Vergangenheit zu berechnen (Timeframe xyz) aus den jeweiligen Berechnungen einen Durchschnitt zu nehmen und das dann mit dem ATR zu verbinden ist vllt. mal einen Versuch wert.

Jetzt wo ich es nochmals aus deiner Feder lese, stellt sich mir die Frage: beißt sich da nicht die Katze in den Schwanz? Ziel ist es für den ATR eine Längenbestimmung zu erhalten. Um jedoch Durchschnitte von Swingpunktabständen zu errechnen brauchen wir wieder Timeframe und Länge. Woher kommt denn dann diese Länge?

Posted

Klingt irgendwie nach Euro-Bonds http://www.tom-next.de/community//public/style_emoticons/default/shok.gif

 

Das hast du jetzt gesagt, somit wird dir der Weg in die Politik wohl endgültig verwehrt sein.

So offen stellt man solch brisante Themen nicht an den Pranger :laugh:

 

Jetzt wo ich es nochmals aus deiner Feder lese, stellt sich mir die Frage: beißt sich da nicht die Katze Idee in den Schwanz? Ziel ist es für den ATR eine Längenbestimmung zu erhalten. Um jedoch Durchschnitte von Swingpunktabständen zu errechnen brauchen wir wieder Timeframe und Länge. Woher kommt denn dann diese Länge?

 

Die Länge des ATR auf die durchschnittlichen Swingpunkte berechnend meinte ich.

Also die Idee wäre, die Länge aus einem höherem TF zu nehmen und die berechneten Werte auf den Handelszeitramen zu adaptieren.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...