Jump to content
Tom Next - Daytrading Community

ICHIMOKU


ibelieve

Recommended Posts

Tscha, das heißt, Du bevorzugst diese Werte.

 

Ich bevorzuge gar nichts.

(na vielleicht ziehe ich hübsche Frauen hässlichen vor. aber zur not kann man ja auch das Licht aus machen oder ein Kissen aufs Gesicht legen)

 

Das Hauptsächlich im Backtest Werte mit dem Kürzel mit A am Anfang gekauft werden liegt doch wahrscheinlich daran das AmiBroker immer die ersten Werte aus der Liste nimmt, wenn ich nicht irre.

Link to comment
Share on other sites

  • Replies 79
  • Created
  • Last Reply

Top Posters In This Topic

Das Hauptsächlich im Backtest Werte mit dem Kürzel mit A am Anfang gekauft werden liegt doch wahrscheinlich daran das AmiBroker immer die ersten Werte aus der Liste nimmt, wenn ich nicht irre.

Genauso sieht's für mich aus. Der von DIR konfigurierte/programmierte Amibroker bevorzugt diese Werte, die als erstes in der Liste (alphabetisch sortiert nehm ich mal an, ist eigentlich Standard) auftauchen.

Da DU aber den Amibroker beherrschen solltest und nicht umgekehrt, bist DU auch derjenige, der die Wert bevorzugt :wink2:. Amibroker ist ja nur Dein verlängerter Arm, der in den großen Geldtopf mit der Mausefalle greift.

Link to comment
Share on other sites

:wink2:

 

aus der Traum

 

Mir gefiel ja von Anfang an irgend was an dieser Zeile

DL = Ref( C, 25 ); // delayed close price, or chikou span

nicht.

 

Auch kam ich mit der Anzeige im Chart und den weiteren Berechnungen mit diesem Wert nicht klar.

Habe es aber aus mangelnden Programmierkenntisen einfach so hin genommen.

 

Nun hatten Gestern die 50% "meiner Fachleute" die leider noch nicht hier sind über den Code geschaut und das geschrieben.

Klar,

 

wie schaffst Du es denn, den Kurs in 25 Tagen heute schon zu wissen?

Wenn ich den weiss, dann ist es wirklich einfach :-)

 

DL = ...

 

Also habe ich noch mal geschaut.

 

Der Fehler in der heutigen Berechnung zur Trade Auswahl.

 

Wenn man sich das Bild anschaut sieht man das der DL Wert gleich dem Close ist.

(Den Close in 25 Tagen weiss leider selbst AmiBroker nicht)

 

Von daher wundert es mich eigentlich das diese Zeile im Programm läuft?

Buy = Cross(TL,SL) AND (DL>Close);

Weil ja DL weder < noch > als Close sein kann sondern immer = Close ist.

 

Der Fehler im Backtest.

 

Im Backtest weiss Amibroker wenn er den weiter wie 25 Tage zurück geht ja nun mal den Close in 25 Tagen und rechnet mit dem was da steht.

Sieht dann als Ergebnis zwar gut aus,(genauso ist es ja beim Zig/Zag Indikator. Wenn das Signal wirklich steht sieht es gut aus, aber Real wird es halt oft noch ein stück verschoben)

hilft mir aber nicht wirklich weiter.

 

Da ich vom Programmieren keinen Ahnung habe glaube ich meiner obigen Aussage natürlich nicht und suche die Gegen Probe.

 

Die Bedingung war ja,

 

das der heutige Close > dem Close von vor 25 Tagen ist.

(Wenn das conglom-o bitte noch mal bestätigen könnte, danke)

 

Wenn ich das jetzt so schreibe das ich das auch verstehe sieht das so aus

 

DL = REF ( C,-25)

 

dann muss ich noch diese Zeile anpassen

 

Buy = Cross(TL,SL) AND (DL<Close); Alte Zeile = Buy = Cross(TL,SL) AND (DL>Close);

 

Ich muss nicht > sondern < schreiben da ja DL der Close von vor 25 Tagen ist

 

Dann sollte es so aussehen.

_SECTION_BEGIN("IchimokuBrian20080624");


PosSizePercent = 2;
SetPositionSize(PosSizePercent,spsPercentOfEquity);

SL = ( HHV( H, 26 ) + LLV( L, 26) )/2;// standard, base, or kijun-sen line

TL = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;// turning, conversion, or tenkan-sen line

DL = Ref( C, -25 ); // delayed close price, or chikou span

Span1 = Ref( ( SL + TL )/2, -25 ); //Span1 and Span2 define the clouds

Span2 = Ref( (HHV( H, 52) + LLV(L, 52))/2, -25);



CStyle = ParamToggle("Showcandles?","N|Y");//Choose Candle or Line for Price plot

hue = Param("Hue",140,0,255,1);

sat = Param("Sat",100,0,255,1);

bri = Param("bri",220,0,255,1);



MaxGraph = 8;

Refline = (Span1 + Span2)/2;

Graph0 = Refline;

Graph0Style = 16;//No line plotted, used as a reference line for arrows etc.

if(Cstyle )

Plot(C,"Price",colorBlack,styleCandle);

else

Plot(Close,"Close",colorBlack,styleThick);

Plot(SL,"SL",colorBlue,styleThick);

Plot(TL,"TL",colorRed,styleThick);

Plot(DL,"DL",colorYellow,styleThick);

PlotOHLC(Span1,Span1,Span2,Span2,"Cloud",ColorHSB( Hue,sat,bri),styleCloud);



above = IIf(TL>Span1 AND TL>Span2,1,0);

within = IIf(TL>Span1 AND TL<Span2,1,0);

below = IIf(TL<Span1 AND TL<Span2,1,0);

Buy = Cross(TL,SL) AND (DL<Close);

Sell= Cross(SL,TL) AND (DL>SL);

Short = Cross(SL,TL) AND (DL<Close);
Cover = Cross(TL,SL) AND (DL>SL);



BuyLong = Cross(TL,SL) AND (DL>Close);

StrongBuy = Buy AND above;

MediumBuy = Buy AND within;

WeakBuy = Buy AND below;

StrongSell = Sell AND below;

MediumSell = Sell AND within;

WeakSell = Sell AND above;



IIf( (StrongBuy),PlotShapes(shapeUpTriangle*StrongBuy,colorGreen),0);

IIf( (MediumBuy),PlotShapes(shapeUpArrow*MediumBuy,colorGreen),0);

IIf( (WeakBuy),PlotShapes(shapeHollowUpArrow*WeakBuy,colorIndigo),0);

IIf( (StrongSell),PlotShapes(shapeDownTriangle*StrongSell,colorRed),0);

IIf( (MediumSell),PlotShapes(shapeDownArrow*MediumSell,colorRed),0);

IIf( (WeakSell),PlotShapes(shapeHollowDownArrow*WeakSelL,colorBrown),0);

AddColumn( BuyLong, "BuyLong", 1 );
Filter = BuyLong;
_SECTION_END();

 

An bei dann mal die Test mit den Auswertungen,

Links mit dem Alten, Rechts mit dem Neuen

und die Ernüchterung ist da.

Es gibt halt nicht den heiligen Gral.

 

Test seit Jahresanfang auf den Russel 1000

post-1129-1248496306_thumb.png

post-1129-1248497643_thumb.png

Link to comment
Share on other sites

Mir gefiel ja von Anfang an irgend was an dieser Zeile DL = Ref( C, 25 ); // delayed close price, or chikou span nicht. Auch kam ich mit der Anzeige im Chart und den weiteren Berechnungen mit diesem Wert nicht klar.

Gut. Hör auf Deinen Bauch. Wenn Sachen zu gut aussehen, dann stimmt da meistens was nicht. Ich hab im Übrigen auch schon solche System "entwickelt", die so ne nette Performance zeigten bis ich die Bugs im Code und in meiner Denke gefunden haben. Von daher bist Du in guter Gesellschaft.

 

 

Wie schaut's denn aus, wenn Du die Shortseite einfach weglässt ?! In Deinen Tabellen sah es so aus für mich als ob die Dir vor allem die Probleme bereitet. Eventuell kannst Du da ja mal weiterforschen, damit noch bisschen mehr Gewinn/Trade bei den Longs rausspringt.

Link to comment
Share on other sites

[...]

das der heutige Close > dem Close von vor 25 Tagen ist.

(Wenn das conglom-o bitte noch mal bestätigen könnte, danke)

[...]

An bei dann mal die Test mit den Auswertungen,

Links mit dem Alten, Rechts mit dem Neuen

und die Ernüchterung ist da.

Es gibt halt nicht den heiligen Gral.

Eigentlich sind es 26 Perioden zurück, aber ob man dann im Amibroker 25 (weil er bspw. bei 0 anfängt zu zählen) eingeben muss, weiß ich nicht. Der Vorteil beim Metatrader liegt hier ganz einfach darin, dass er den Ichimoku mitliefert und man somit direkt auf die Elemente zugreifen kann.

 

Der Ansatz, dass der jetzige Close (verschoben dargestellt durch Chikou Span) über dem vor 26 Perioden liegen muss, ist aber korrekt. Wenn Du es jetzt "richtig" programmiert hast, würde es sich ja mit meinen (leicht ernüchternden) Erkenntnissen decken...

Link to comment
Share on other sites

Eigentlich sind es 26 Perioden zurück, aber ob man dann im Amibroker 25 (weil er bspw. bei 0 anfängt zu zählen) eingeben muss, weiß ich nicht.

 

Der Ansatz, dass der jetzige Close (verschoben dargestellt durch Chikou Span) über dem vor 26 Perioden liegen muss, ist aber korrekt.

 

Sollte also so aussehen und die Zählung richtig sein?

post-698-1248532415_thumb.png

Edited by Krümel
Geändertes Bild eingefügt
Link to comment
Share on other sites

Es kann auch sein, dass Du mit 0 anfangen musst zu zählen. Lass Dir am besten einfach mal per Print-Befehl die Schlusskurse der Kerzen vor 25 und 26 Perioden anzeigen. Würde Dir da gerne weiterhelfen, besitze aber den Amibroker nicht. Anhand des Chartbilds erkennst Du dann, welche Zahl Du wählen musst. Korrekt ist, dass die Kerze relevant ist, die Du im Moment mit 26 markiert hast. Warum er bei Dir dann noch diese waagerechte Linie ans Ende des Chikou Span malt, ist mir schleierhaft. Die gehört da eigentlich nicht hin und könnte den Betrachter eher etwas verwirren, wenn er das Konzept verstehen will.
Link to comment
Share on other sites

Warum er bei Dir dann noch diese waagerechte Linie ans Ende des Chikou Span malt, ist mir schleierhaft. Die gehört da eigentlich nicht hin und könnte den Betrachter eher etwas verwirren, wenn er das Konzept verstehen will.

 

Du meinst von dem Bar vor 26 Tagen zum Aktuellen Kurs?

 

Ich glaube das einfachste sollte sein wenn ich mir die Regeln mal genau anschaue und das Ding komplett selber schreibe.

Link to comment
Share on other sites

Ich glaube das einfachste sollte sein wenn ich mir die Regeln mal genau anschaue und das Ding komplett selber schreibe.

Das halte ich für eine großartige Idee :wink2:. Wenn Du Sachen total auseinander nimmst und selbst wiederzusammensetzt, scheint das auf den ersten Blick mehr Arbeit zu sein. Aber Du lernst viel mehr dabei und die Zeit sparst Du später locker wieder ein, wenn Du bspw. Fehler suchst.

Link to comment
Share on other sites

scheint das auf den ersten Blick mehr Arbeit zu sein.

 

Ist ja nicht meine Zeit,

ich warte einfach bis Duncan wieder da ist :wink2: :pfue:

 

Ich muss jetzt dann aber erst noch mal das grundsätzliche lesen.

Wir hatten das ding eigentlich schon vor ein paar Monaten mal wo es im Trader stand.

 

Da hatte es aber eigentlich 2 Wolken,

eine Langfristige und eine kurze, wenn ich nicht irre,

 

Sie wurden eigentlich auch etwas in die Zukunft gezeichnet.

 

war wohl eine Wochen Wolke und ein mal die Tageskurs Wolke.

Kann mich aber nicht mehr so genau dran erinnern.

War die Sache wo es auch um den digital Stochastic nach Philip Kahler ging.

 

Wir hatten es aber nie geschafft das die Wolken oder der Digi wirklich gleich aussah wie bei Kahler.

Irgend wie immer etwas Verschiebung drin :sad:

 

/* ICHIMOKU CHART FOR DAY / WEEK Screen*/

DSL=(HHV(H,26)+LLV(L,26))/2;
DTL=(HHV(H,9)+LLV(L,9))/2;
DSp1=((DSL+DTL)/2);
DSp2=((HHV(H,52)+LLV(L,52))/2);

TimeFrameSet( inWeekly); // switch to Weekly frame 
WSL=(HHV(H,26)+LLV(L,26))/2;
WTL=(HHV(H,9)+LLV(L,9))/2;
WSp1=((WSL+WTL)/2);
WSp2=((HHV(H,52)+LLV(L,52))/2);
TimeFrameRestore(); // restore time frame to original 

WSP1e = TimeFrameExpand( WSP1, inWeekly ); 
WSP2e = TimeFrameExpand( WSP2, inWeekly );

MP=(( O + C ) / 2);

//Short_S1 = MP < WSp1e AND MP < WSp2e AND MP < DSP1 AND MP < DSP2;
//LONG_S1 = MP > WSp1e AND MP > WSp2e AND MP > DSP1 AND MP > DSP2;

Short_S1 = MP < Ref(WSp1e,-115) AND MP < Ref(WSp2e,-115) AND MP < Ref(DSP1,-25) AND MP < Ref(DSP2,-25);
LONG_S1 = MP > Ref(WSp1e,-115) AND MP > Ref(WSp2e,-115) AND MP > Ref(DSP1,-25) AND MP > Ref(DSP2,-25);

Color=IIf (LONG_S1,colorGreen,IIf(Short_S1,colorRed,Graph1Color = 0));

/* plot color ribbon */
Plot( 1, "", Color, styleArea | styleOwnScale | styleNoLabel, -0.1, 50 ); 
Plot(C,"Price",Color,styleBar);

PlotOHLC (WSp1e,WSp1e,WSp2e,WSp2e,"Weekly",colorLightBlue,styleCloud,0,0,115);
PlotOHLC (DSp1,DSp1,DSp2,DSp2,"Daily",colorGreen,styleCloud,0,0,25);

post-1129-1248528245_thumb.png

Link to comment
Share on other sites

Ja, es war eine Wochenwolke und eine Tageswolke, hab zufällig den Traders hier.

 

Longtrend, wenn Tageswolke über Wochenwolke und Kurs über Tageswolke

Short umgekehrt.

Den Digitalstochastik hat er dann als Entry genommen, in Richtung des ermittelten Trend.

 

Ich habe bei ihm den Code angefordert,

dann kann ich das hoffentlich mal nachstellen.

Link to comment
Share on other sites

Eigentlich sind es 26 Perioden zurück, aber ob man dann im Amibroker 25 (weil er bspw. bei 0 anfängt zu zählen) eingeben muss, weiß ich nicht.

 

schon blöd wenn man keine Ahnung hat und langsam denkt :wink2:

 

Mal angenommen Amibroker fängt mit 0 an,

dann wäre ja die 25 Richtig.

 

Aber wie sieht es den dann hier bei aus?

 

SL = ( HHV( H, 26 ) + LLV( L, 26) )/2;// standard, base, or kijun-sen line

TL = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;// turning, conversion, or tenkan-sen line

 

Müsste ich dann nicht auch hier einen weniger zählen?

Link to comment
Share on other sites

@ibelieve

 

OT - muss aber jetzt an der Stelle sein.

Schau mal,

Du zitierst conglom-o und setzt direkt darunter das Statement

 

schon blöd wenn man keine Ahnung hat und langsam denkt :pfue:

 

 

Jetzt überlege mal, ich hätte den Satz direkt an eines Deiner Zitate angehängt.

Was hättest Du in dem Moment gedacht :wink2: ? Ehrlich!

Link to comment
Share on other sites

Welchen?

Für welches Programm?

 

Für TS5. Ichimoku ist bereits dabei,

der Digitale Stochastik hat mir gefehlt, danke für den Link.

 

Ich hoffe ich erhalte einen Arbeitsbereich, der dann so aussieht wie das Bild im Traders....

 

Kenne mich in Amibroker leider gar nicht aus....

Link to comment
Share on other sites

So, habe das ganze mal auf die Sachen Reduziert die ich verstehe.

 

Schaut das jetzt so aus

_SECTION_BEGIN("IchimokuBrianneu");


PosSizePercent = 3;
SetPositionSize(PosSizePercent,spsPercentOfEquity);

SL = ( HHV( H, 26 ) + LLV( L, 26) )/2;// standard, base, or kijun-sen line

TL = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;// turning, conversion, or tenkan-sen line

DL =  C; // delayed close price, or chikou span

Span1 = Ref( ( SL + TL )/2, -25 ); //Span1 and Span2 define the clouds

Span2 = Ref( (HHV( H, 52) + LLV(L, 52))/2, -25);

hue = Param("Hue",140,0,255,1);

sat = Param("Sat",100,0,255,1);

bri = Param("bri",220,0,255,1); 




Plot(SL,"SL",colorBlue,styleThick);

Plot(TL,"TL",colorRed,styleThick);

Plot(DL,"DL",colorLime,styleThick,0,0,-25);

PlotOHLC(Span1,Span1,Span2,Span2,"Cloud",ColorHSB( Hue,sat,bri),styleCloud);



above = IIf(TL>Span1 AND TL>Span2,1,0);

within = IIf(TL>Span1 AND TL<Span2,1,0);

below = IIf(TL<Span1 AND TL<Span2,1,0);

Buy = Cross(TL,SL) AND (C > Ref(Close,-25));

Sell= Cross(SL,TL) AND (DL > SL);

Short = Cross(SL,TL) AND (C < Ref(Close,-25));
Cover = Cross(TL,SL) AND (DL>SL);



BuyLong = Cross(TL,SL) AND (C > Ref(Close,-25));

StrongBuy = Buy AND above;

MediumBuy = Buy AND within;

WeakBuy = Buy AND below;

StrongSell = Sell AND below;

MediumSell = Sell AND within;

WeakSell = Sell AND above;



IIf( (StrongBuy),PlotShapes(shapeUpTriangle*StrongBuy,colorGreen),0);

IIf( (MediumBuy),PlotShapes(shapeUpArrow*MediumBuy,colorGreen),0);

IIf( (WeakBuy),PlotShapes(shapeHollowUpArrow*WeakBuy,colorIndigo),0);

IIf( (StrongSell),PlotShapes(shapeDownTriangle*StrongSell,colorRed),0);

IIf( (MediumSell),PlotShapes(shapeDownArrow*MediumSell,colorRed),0);

IIf( (WeakSell),PlotShapes(shapeHollowDownArrow*WeakSelL,colorBrown),0);

AddColumn( BuyLong, "BuyLong", 1 );
Filter = BuyLong;
_SECTION_END();

 

Ein Problem habe ich jetzt mit der Sell Bedingung.

 

Sell= Cross(SL,TL) AND (DL > SL);

 

delayed close price, or chikou span > standard, base, or kijun-sen line

 

heist das der Close heute > der kijun-sen line vor 26 Tagen sein muss?

Kann ich mir jetzt irgend wie nicht vorstellen.

 

Wäre nett wenn mal irgend wer ein Aktuelles Bild mit dem Indi einstellen könnte so das ich mal das aussehen der Linien vergleichen könnte.

post-1129-1248535652_thumb.png

Link to comment
Share on other sites

Bei den meisten Beschreibungen die ich finde steht ja das,

Ichimoku Kinko Hyo wurde in einer Zeit entwickelt, als eine Trading-Woche aus 6 Handelstagen bestand. Bedingt durch die heutige 5-tägige Handelswoche müssten die Perioden auf 7, 22, und 44 modifiziert werden.

 

Von daher mal der angepasste Code.

Wo bei ich noch doppelt testen werde um zu schauen was besser geht.

Wenn man sich mal über die Regeln klar ist kann man dann auch mal den Optimizer drüber laufen lassen um zu schauen wie anfällig das System für veränderungen der Werte ist.

 

_SECTION_BEGIN("IchimokuBriann7-22-44");


PosSizePercent = 10;
SetPositionSize(PosSizePercent,spsPercentOfEquity);

SL = ( HHV( H, 22 ) + LLV( L, 22) )/2;// standard, base, or kijun-sen line

TL = ( HHV( H, 7 ) + LLV( L, 7 ) )/2;// turning, conversion, or tenkan-sen line

DL =  C; // delayed close price, or chikou span

Span1 = ( SL + TL )/2; //Span1 and Span2 define the clouds

Span2 = (HHV( H, 44) + LLV(L, 44))/2;

hue = Param("Hue",140,0,255,1);

sat = Param("Sat",100,0,255,1);

bri = Param("bri",220,0,255,1); 




Plot(SL,"SL",colorBlue,styleThick);

Plot(TL,"TL",colorRed,styleThick);

Plot(DL,"DL",colorLime,styleThick,0,0,-21);

PlotOHLC(Span1,Span1,Span2,Span2,"Cloud",ColorHSB( Hue,sat,bri),styleCloud,0,0,21);



above = IIf(TL>Span1 AND TL>Span2,1,0);

within = IIf(TL>Span1 AND TL<Span2,1,0);

below = IIf(TL<Span1 AND TL<Span2,1,0);

Buy = Cross(TL,SL) AND (C > Ref(Close,-21));

Sell= Cross(SL,TL) AND (DL > SL);

Short = Cross(SL,TL) AND (C < Ref(Close,-21));
Cover = Cross(TL,SL) AND (DL>SL);



BuyLong = Cross(TL,SL) AND (C > Ref(Close,-21));

StrongBuy = Buy AND above;

MediumBuy = Buy AND within;

WeakBuy = Buy AND below;

StrongSell = Sell AND below;

MediumSell = Sell AND within;

WeakSell = Sell AND above;



IIf( (StrongBuy),PlotShapes(shapeUpTriangle*StrongBuy,colorGreen),0);

IIf( (MediumBuy),PlotShapes(shapeUpArrow*MediumBuy,colorGreen),0);

IIf( (WeakBuy),PlotShapes(shapeHollowUpArrow*WeakBuy,colorIndigo),0);

IIf( (StrongSell),PlotShapes(shapeDownTriangle*StrongSell,colorRed),0);

IIf( (MediumSell),PlotShapes(shapeDownArrow*MediumSell,colorRed),0);

IIf( (WeakSell),PlotShapes(shapeHollowDownArrow*WeakSelL,colorBrown),0);

AddColumn( BuyLong, "BuyLong", 1 );
Filter = BuyLong;
_SECTION_END();

 

Hier im Code möchte ich eine Stelle etwas genauer Erklären.

 

Die Versetzung der Wolke wird im Ursprünglichen Code ja so erreicht,

Span1 = Ref( ( SL + TL )/2, -25 ); //Span1 and Span2 define the clouds

Span2 = Ref( (HHV( H, 52) + LLV(L, 52))/2, -25);

über die REF wird die Anzeige vor 26 Tagen Heute angezeigt.

 

Jetzt ist es aber ja hier so, das ich mir eigentlich die Wolke schon 26 Tage in der Zukunft anzeigen lasse.

(Ist ja nichts magisches da es ja schon heute bekannt ist wie Sie in 26 Tagen aussieht)

 

Dann sieht das ganze im Code so aus,

Span1 = ( SL + TL )/2; //Span1 and Span2 define the clouds

Span2 = (HHV( H, 52) + LLV(L, 52))/2;

PlotOHLC(Span1,Span1,Span2,Span2,"Cloud",ColorHSB( Hue,sat,bri),styleCloud,0,0,25);

 

Ich nehme das REF bei der Span Berechnung weg weil ich Sie vom heutigen Tag will,

und versetze die Anzeige in der Plot Zeile durch die letzte Zahl um 26 Einheiten in die Zukunft.

 

 

Zu den Glattstell Regeln ist mir noch nichts passendes eingefallen.

Die aus dem Ursprünglichen Code sind ja eigentlich mit Vorsicht zu geniessen da Sie auf der Fehlerhaften Berechnung des DL(delayed close price, or chikou span) Wertes beruhen.

 

Zu den Kaufbedingungen muss man sich wohl erst mal klar sein was man will.

 

Laut Beschreibung sollte ein Long Signal über der Wolke sicherer sein als unter der Wolke.

Bei den meisten Charts die ich mir jetzt angeschaut habe sieht es aber so aus,

das wenn ich das Signal unter der Wolke nicht nahm,

den größten Teil der Bewegung verpasste,

und dann am Ende der Bewegung über der Wolke kaufte.

 

Von daher muss man das alles dann in einem sehen,

Trendhandel oder Ausbruch = Kaufpunkt = Stop

 

Wie bei jedem Trendfolge System sind auch hier die größeren Seitwärtsbewegungen Tödlich.

 

Als Bild ein Beispiel von vielen wo man sieht was man verpasst wenn man erst über der Wolke kauft.

post-1129-1248586219_thumb.png

Link to comment
Share on other sites

Wie bei jedem Trendfolge System sind auch hier die größeren Seitwärtsbewegungen Tödlich.
Nicht ganz - wie bei jedem anderen Handelsstil ist auch hier nicht der Einstieg sondern der Ausstieg entscheidend (ist so ein Punkt, auf den wir in unserern Sendungen tagtäglich erneut hinweisen müssen). Dann endet das auch nicht tödlich.
Link to comment
Share on other sites

Ist ja nicht meine Zeit,

ich warte einfach bis Duncan wieder da ist :pfue: :wink2:

Ha ha :sad: ... :sad:
war wohl eine Wochen Wolke und ein mal die Tageskurs Wolke.
jup.
Kann mich aber nicht mehr so genau dran erinnern.

War die Sache wo es auch um den digital Stochastic nach Philip Kahler ging.

 

Wir hatten es aber nie geschafft das die Wolken oder der Digi wirklich gleich aussah wie bei Kahler.

Irgend wie immer etwas Verschiebung drin

alte Mail aus dem Archiv:

Hi,

das ist der gleiche Artikel, so dass Du den aus dem Traders nicht mehr brauchst … nimm einfach mal den Code von Kahler (erste Mail) und packe den in TradeSignal dann siehst Du den Unterschied. Ich hoffe es ist erkennbar was ich meine … hast Du eine Idee dazu? Wenn die Entrys besser werden würden dann wäre es für mich perfekt …

TradeSignal -> Code von Kahler

Digi1_nach_Kahler.jpg

AmiBroker -> mein alter Code

Digi2_AmiBroker.jpg

 

//digital Stochastic nach Philip Kahler
periods = Param( "Periods", 5, 1, 200, 1 );
KAdjust = Param( "%K avg", 3, 1, 200, 1 );
DAdjust= Param( "%D avg", 3, 1, 200, 1 );

KAdjusted = StochK(periods,KAdjust);
DAdjusted = StochD(periods,KAdjust,DAdjust);

CON=((22*KAdjusted)+(8*DAdjusted))/30;

summ=IIf(CON > 50,1,-1);
Plot( Summ, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
Plot( EMA(Summ,periods), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );

_SECTION_BEGIN("ATR");
periods = Param( "Periods", 15, 1, 200, 1 );
InsideDay = H < Ref(High,-1) AND Low > Ref(Low,-1);
Plot(IIf(InsideDay AND LLV(ATR(6),6),ATR(periods),0), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();

 

Antwort:

hab hier was gefunden,

http://www.intalus.de/de/produkte/tradesig...ert-trading.php

 

kann es sein das der orginal länger auf der 1 bleibt?

bei amibroker kommt er doch so gut wie nie auf 1.

und er hat schwankungen die er bestimmt nicht machen soll.

den rest schaue ich mir morgen an, mach jetzt schluss.

 

Das ist so ziemlich unser alter Stand, mal sehen, ob ich das alte System auch noch finde ...Gruß Duncan

Link to comment
Share on other sites

Von daher mal der angepasste Code.

Wo bei ich noch doppelt testen werde um zu schauen was besser geht.

Wenn man sich mal über die Regeln klar ist kann man dann auch mal den Optimizer drüber laufen lassen um zu schauen wie anfällig das System für veränderungen der Werte ist.

Hi,

schau Dir das mal an: Amibroker Lib ist interessant wie dort DL definiert ist. Vielleicht sollten wir an dieser Stelle mal eine entsprechend Frage platzieren.

Gruß Duncan

PS: Und noch ein Code zum spielen ... :wink2:

/*
ICHIMOKU CHART

A bullish signal is issued when the Tenkan-Sen (RED line) crosses the Kijun-Sen (BLUE line) from below. On the other hand, a bearish signal is issued when the Tenkan-Sen crosses the Kijun-Sen from above.

Moreover, there are, in fact, different levels of strength for the buy and sell signals of an Ichimoku chart.
First, if there was a bullish crossover signal and the crossover occurred above the Kumo (or WHITE clouds), this would be considered a very strong buy signal (indicated with three green up arrows). In contrast, if there was a bearish crossover signal and the crossover occurred below the Kumo, this would be considered a very strong sell signal (indicated with three red down arrows, as above).

Secondly, a normal buy or sell signal would be issued if the crossover took place within the Kumo (or clouds). These signals would be indicated with two green up arrows, for a buy signal, and two red down arrows, for a sell signal.

Thirdly, a weak buy signal would be issued if there was a bullish crossover that occurred below the Kumo (or clouds). This is indicated with only one green up arrow (as above). On the other hand, a weak sell signal would be issued if there was a bearish crossover that occurred above the Kumo. This is indicated with only one red down arrow.

Another striking feature of the Ichimoku charting technique is the identification of support and resistance levels. These levels can be predicted by the presence of Kumo (or WHITE clouds). The Kumo can also be used to help identify the prevailing trend of the market. If the BLACK price line is above the Kumo, the prevailing trend is said to be up. And if the price is below the Kumo, the prevailing trend is said to be down.

A final feature of the Ichimoku chart is the PURPLE line, or Chikou Span (or Lagging Span). This line can be used to determine the strength of the buy or sell signal. If the Chikou Span is below the closing price for 26 periods ago and a sell signal is issued, then the strength is with sellers, otherwise it is a weak sell signal. Conversely, if there was a buy signal and the Chikou Span is above the price for 26 periods ago, then there is strength to the upside, otherwise, it can be considered a weak buy signal. This feature can also be incorporated into the other signals.
*/

SL = ( HHV( H, 26 ) + LLV( L, 26) )/2;
TL = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;
DL = Ref( C, 25 );
Span1 = Ref( ( SL + TL )/2, -25 );
Span2 = Ref( (HHV( H, 52) + LLV(L, 52))/2, -25);

MaxGraph = 6;

Plot(SL,"SL",colorBlue,styleThick); // standard, base, or kijun-sen line
Plot(TL,"TL",colorRed,styleThick); // turning, conversion, or tenkan-sen line
Plot(DL,"DL",colorViolet,styleLine); // delayed, lagging, or chikou span
Plot(Span1,"A",colorWhite,styleLine); // senkou span A, kumo, or white clouds
Plot(Span2,"B",colorWhite,styleLine); // senkou span B, kumo, or white clouds
Plot(Close,"Close",colorBlack,styleLine); // price close

Buy1 = IIf(Cross(TL,SL) AND TL>Span1 AND TL>Span2,1,0);
Buy2 = IIf(Cross(TL,SL) AND ( (TL>Span1 AND TL<Span2) OR (TL<Span1 AND TL>Span2) ),1,0);
Buy3 = IIf( (Buy1 OR Buy2) AND C>Ref(DL,-26),1,0);

Short1 = IIf(Cross(SL,TL) AND SL<Span1 AND SL<Span2,1,0);
Short2 = IIf(Cross(SL,TL) AND ( (SL>Span1 AND SL<Span2) OR (SL<Span1 AND SL>Span2) ),1,0);
Short3 = IIf( (Short1 OR Short2) AND C<Ref(DL,-26),1,0);

IIf( (Buy1),PlotShapes(shapeDownArrow*Buy1,colorGreen),0);
IIf( (Short1),PlotShapes(shapeUpArrow*Short1,colorRed),0);

Edited by duncan
Link to comment
Share on other sites

Das ist so ziemlich unser alter Stand, mal sehen, ob ich das alte System auch noch finde ...Gruß Duncan

 

Das alte System, mit ganz vielen Testzeilen ...

[size="1"]/* ICHIMOKU CHART FOR DAY / WEEK Screen*/
//WERT=0.5;
//CON1= Close > WERT AND MA( V * C * 100, 5 ) > 500000;
CON1 = 1;
//var def
LONGSTOP = 0;
ShortSTOP = 0;

DSL = ( HHV( H, 26 ) + LLV( L, 26 ) ) / 2;
DTL = ( HHV( H, 9 ) + LLV( L, 9 ) ) / 2;
DSp1 = Ref( ( DSL + DTL ) / 2, -25 );
DSp2 = Ref( ( HHV( H, 52 ) + LLV( L, 52 ) ) / 2, -25 );

TimeFrameSet( inWeekly ); // switch to Weekly frame
WSL = ( HHV( H, 26 ) + LLV( L, 26 ) ) / 2;
WTL = ( HHV( H, 9 ) + LLV( L, 9 ) ) / 2;
WSp1 = Ref( ( WSL + WTL ) / 2, -25 );
WSp2 = Ref( ( HHV( H, 52 ) + LLV( L, 52 ) ) / 2, -25 );
TimeFrameRestore(); // restore time frame to original

WSP1e = TimeFrameExpand( WSP1, inWeekly );
WSP2e = TimeFrameExpand( WSP2, inWeekly );

MP = ( ( O + C ) / 2 );

Short_S1 = MP < WSp1e AND MP < WSp2e AND ( MP < DSP1 OR MP < DSP2 );

LONG_S1 = MP > WSp1e AND MP > WSp2e AND ( MP > DSP1 OR MP > DSP2 );

ROCL = IIf( ROC( Close, 200 ) > 0, 1, 0 );
ROCS = IIf( ROC( Close, 200 ) < 0, 1, 0 );

Color = IIf ( LONG_S1, colorGreen, IIf( Short_S1, colorRed, Graph1Color = 0 ) );
Color2 = IIf( ROCL, colorGreen, IIf( ROCS, colorRed, colorYellow ) );
/* plot color ribbon */
Plot( 1, "", Color, styleArea | styleOwnScale | styleNoLabel, -0.1, 50 );
Plot( 2, "", Color2, styleArea | styleOwnScale | styleNoLabel, -0.1, 50 );
Plot( C, "Price", Color, styleBar );
//_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} "));

PlotOHLC ( WSp1e, WSp1e, WSp2e, WSp2e, "Weekly", colorLightBlue, styleCloud );
PlotOHLC ( DSp1, DSp1, DSp2, DSp2, "Daily", colorGreen, styleCloud );

//digital Stochastic nach Philip Kahler
periods = Param( "Periods", 5, 1, 200, 1 );
KAdjust = Param( "%K avg", 3, 1, 200, 1 );
DAdjust = Param( "%D avg", 3, 1, 200, 1 );

KAdjusted = StochK( periods, KAdjust );
DAdjusted = StochD( periods, KAdjust, DAdjust );

CON = ( ( 22 * KAdjusted ) + ( 8 * DAdjusted ) ) / 30;

summ = IIf( CON > 50, 1, -1 );

DSS = Optimize( "digiStoch_Short", 0.5, 0.50, 1, 0.05 );
Short_S2 = IIf( Ref( EMA( Summ, periods ), -1 ) > DSS, 1, 0 );
//Plot( Summ, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
//Plot( EMA(Summ,periods), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );

LONGSTOP = IIf( ( L > Ref( L, -1 ) AND Ref( L, -1 ) < Ref( L, -2 ) ), Ref( L, -2 ), IIf( LONGSTOP < Ref( L, -2 ), Ref( L, -2 ), LONGSTOP ) );
ShortSTOP = IIf( ( H > Ref( H, -1 ) AND Ref( H, -1 ) < Ref( H, -2 ) ), Ref( H, -2 ), IIf( ShortSTOP < Ref( H, -2 ), Ref( H, -2 ), ShortSTOP ) );
STOP = IIf ( LONG_S1, LONGSTOP, ShortSTOP );

//LONG
DSL = Optimize( "digiStoch_Short2", -0.75, -1, 0, 0.05 );
Long_S2 = IIf( Ref( EMA( Summ, periods ), -1 ) < DSL, 1, 0 );

Buy = IIf( ( Long_S1 AND Long_S2 AND Ref( Summ, -1 ) < Summ )AND CON1, 1, 0 );
//Sell = IIf((Ref(Summ,-1) > Summ),1,0);
//Sell=0;
//P=Optimize("perst",18,1,20,1);
Sell = IIf( Low < STOP, 1, 0 );
SellPrice = STOP;

//Buy = ExRem( Buy, Sell );
//Sell = ExRem( Sell, Buy );

//PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorGreen, colorRed ) );

//SHORT
Short = IIf( ( Short_S1 AND Short_S2 AND Ref( Summ, -1 ) > Summ )AND CON1, 1, 0 );
//RSIC=Optimize("RSIC",12,1,20,1);
RSIC = 12;
//Cover = IIf((Ref(Summ,-1) < Summ)OR RSI(3)<5,1,0);
//Cover = IIf((Ref(Summ,-1) < Summ),1,0);
DSS2=Optimize("digiStoch_Short2",-0.75,-1,0,0.05);
Cover = IIf((Ref(EMA(Summ,periods),-1)< DSS2 AND Ref(EMA(Summ,periods),-1) < EMA(Summ,periods)) ,1,0);
//Cover = IIf( High > STOP, 1, 0 );
//CoverPrice = STOP;

//Short = ExRem( Short, Cover );
//Cover = ExRem( Cover, Short );
//Cover=0;
//P=Optimize("ptstop",1,1,20,1);
//X=Optimize("factor",2.7,0.1,3,0.1);
//ApplyStop(stopTypeTrailing, stopModePoint, x*ATR(p), True, True );

//PlotShapes( Cover * shapeUpArrow + Short * shapeDownArrow, IIf( Cover, colorGreen, colorRed ) );
//BACKTEST
SetTradeDelays( 1, 0, 1, 0 );
//Positionsgröße
Size = 10;//% des verfügbaren Kapital bei 10.0000€ odr 10 % bei 100.000€
SetPositionSize( Size, spsPercentOfEquity ); // kaufe Shares für max. x %[/size]

Gruß Duncan

PS:

digi_day_week_beispiel.jpg

blau ist die Wolke für den Wochenchart und grün für den Tageschart ... das sollte man sich nun auf Trendmärkte ansehen Forex, etc.

digi_day_week_beispiel2.jpg

andere Code basis

[size="1"]/* ICHIMOKU CHART FOR DAY / WEEK Screen*/
//WERT=9;
//CON1= Close > WERT AND MA( V * C * 100, 5 ) > 500000;
CON1=1;

DSL = ( HHV( H, 26 ) + LLV( L, 26 ) ) / 2;
DTL = ( HHV( H, 9 ) + LLV( L, 9 ) ) / 2;
DSp1 = Ref( ( DSL + DTL ) / 2, -25 );
DSp2 = Ref( ( HHV( H, 52 ) + LLV( L, 52 ) ) / 2, -25 );

TimeFrameSet( inWeekly ); // switch to Weekly frame
WSL = ( HHV( H, 26 ) + LLV( L, 26 ) ) / 2;
WTL = ( HHV( H, 9 ) + LLV( L, 9 ) ) / 2;
WSp1 = Ref( ( WSL + WTL ) / 2, -25 );
WSp2 = Ref( ( HHV( H, 52 ) + LLV( L, 52 ) ) / 2, -25 );
TimeFrameRestore(); // restore time frame to original

WSP1e = TimeFrameExpand( WSP1, inWeekly );
WSP2e = TimeFrameExpand( WSP2, inWeekly );

MP=(( O + C ) / 2);

Short_S1 = MP < WSp1e AND MP < WSp2e AND (MP < DSP1 OR MP < DSP2);
LONG_S1 = MP > WSp1e AND MP > WSp2e AND (MP > DSP1 OR MP > DSP2);

Color = IIf ( LONG_S1, colorGreen, IIf( Short_S1, colorRed, Graph1Color = 0 ) );

/* plot color ribbon */
Plot( 1, "", Color, styleArea | styleOwnScale | styleNoLabel, -0.1, 50 );
Plot( C, "Price", Color, styleBar );
//_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} "));

PlotOHLC ( WSp1e, WSp1e, WSp2e, WSp2e, "Weekly", colorLightBlue, styleCloud );
PlotOHLC ( DSp1, DSp1, DSp2, DSp2, "Daily", colorGreen, styleCloud );

//digital Stochastic nach Philip Kahler
periods = Param( "Periods", 5, 1, 200, 1 );
KAdjust = Param( "%K avg", 3, 1, 200, 1 );
DAdjust= Param( "%D avg", 3, 1, 200, 1 );

KAdjusted = StochK(periods,KAdjust);
DAdjusted = StochD(periods,KAdjust,DAdjust);

CON=((22*KAdjusted)+(8*DAdjusted))/30;

summ=IIf(CON > 50,1,-1);
//Plot( Summ, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
//Plot( EMA(Summ,periods), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );

//LONG

Buy = IIf((Long_S1 AND Ref(Summ,-1) < Summ)AND CON1,1,0);
//Sell = IIf((Ref(Summ,-1) > Summ),1,0);
Sell=0;
P=Optimize("perst",18,1,20,1);
ApplyStop(stopTypeTrailing, stopModePoint, 3*ATR(p), True, True );

//Buy = ExRem( Buy, Sell );
//Sell = ExRem( Sell, Buy ); 

PlotShapes(Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorGreen, colorRed ) ); 

//SHORT
Short = IIf((Short_S1 AND Ref(Summ,-1) > Summ)AND CON1,1,0);
RSIC=Optimize("RSIC",12,1,20,1);
//Cover = IIf((Ref(Summ,-1) < Summ)OR RSI(3)<5,1,0);
Cover = IIf((Ref(Summ,-1) < Summ),1,0);

Short = ExRem( Short, Cover ); 
Cover = ExRem( Cover, Short );

PlotShapes( Cover * shapeUpArrow + Short * shapeDownArrow, IIf( Cover, colorGreen, colorRed ) );
//BACKTEST
//Positionsgröße
Size = 25;//% des verfügbaren Kapital bei 10.0000€ odr 10 % bei 100.000€
SetPositionSize( Size, spsPercentOfEquity ); // kaufe Shares für max. 50 %[/size]

Edited by duncan
Link to comment
Share on other sites

Nicht ganz - wie bei jedem anderen Handelsstil ist auch hier nicht der Einstieg sondern der Ausstieg entscheidend (ist so ein Punkt, auf den wir in unserern Sendungen tagtäglich erneut hinweisen müssen). Dann endet das auch nicht tödlich.

 

Jein,

Es bringt aber doch meist Verluste.

Halte ich den Stop zu eng, verpasse ich zu viele gute Trends,

fahre ich einen weiten Stop gleichen die wenigen guten Trades das Minus nicht aus.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...