Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Teil 1: Indikatorentwicklung 1-2-3-Detektion

Geschrieben

EDIT by Krümel: Beginn der Diskussion :yep:

das ich nicht der programmiere bin sieht man wohl auch daran das ich zu faul war alles um zu schreiben.

 

deshalb der RSI wert auf den stochastic,

also nicht verwirren lassen

RSIwert = 3;
ST = 2;
stoppt_long = IIf(StochK(RSIwert,ST)< 50 AND LowestSince(Cross(50,StochK(RSIwert,ST)),L,2)<LowestSince(Cross(50,StochK(RSIwert,ST)),L,1),
LowestSince(Cross(50,StochK(RSIwert,ST)),L,2),LowestSince(Cross(50,StochK(RSIwert,ST)),L,1));

stoppt_short = IIf(StochK(RSIwert,ST)> 50 AND HighestSince(Cross(StochK(RSIwert,ST),50),H,2)>HighestSince(Cross(StochK(RSIwert,ST),50),H,1),
HighestSince(Cross(StochK(RSIwert,ST),50),H,2),HighestSince(Cross(StochK(RSIwert,ST),50),H,1));


Plot(stoppt_long,"",colorBlack,4);
Plot(stoppt_short,"",colorRed,4);

 

in den beiden mit dem pfeil gekennzeichneten fällen sollte der stop halt erst eine bewegung später nachgezogen werden.

post-1129-1242819602_thumb.png

  • Antworten 144
  • Aufrufe 20,8Tsd
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

Veröffentlichte Bilder

Featured Replies

Geschrieben
  • Autor
Da ist mir jedes Mittel recht und ich gehe über Leichen :smile:

 

Ich hoffe Dir bleibt in Erinnerung wer dich auf die Idee brachte :wink:

 

Wenn auch nur ein bisschen, aber etwas hänge ich an meinem Leben :sad:

Geschrieben
Ich hoffe Dir bleibt in Erinnerung wer dich auf die Idee brachte :wink:

Aber sicher :sad:

 

 

Wenn auch nur ein bisschen, aber etwas hänge ich an meinem Leben :smile:

Ich dachte ja auch eher an die eine oder andere Formel, die dabei unter die Räder kommt.

Geschrieben
Kannst Du mir das als Formel hinschreiben, bitte, bitte :wink:.

 

Wenn du so lieb bitte sagts :smile: , nochmal genauer:

ich rechne derzeit jeden Bar einen normalen EMA, krieg also viele ema Werte.

Daraus wird dann ein neuer "Chart" mit den Werten NewHigh=High - ema, NewLow= Low - ema, NewClose = Close - ema

 

jetzt klarer, oder besser als Codeschnippsel?

 

Und auf diesen neuen Werten wird dann der Stochastic berechnet der eben genau die ausschwünge berechnet.

Die neu-modifizierte Variante wär dann noch atr= ATR(...), NewHigh = (High-ema)/atr.

Wodurch die kleinen Schwünge im Vergleich nicht untergehen..

 

Am Ende ist das Ganze natürlich keine Stochastik mehr,

 

Es ist eben ein Trend und Volatilitätsbereinigter Kursschwingungsindikator... Brauchen wir nur noch einen tollen Namen (ich wüsste einen, aber der klingt seltsam)

 

Hier noch ein Bildchen:

von oben nach unten: originalkurs, mit ATR 0 (also keine Volabereinigung), ATR 3, ATR 13, und unten der Stochastic auf den jeweiligen (weiß-ATR0,Aqua-ATR3,rot-ATR13)

Stochastic und EMA Period jeweils 13

REmTrendRemATRMitStoch.png

Man sieht schön wie die stärke der Schwingungen angeglichen wird. Parameter sind derzeit noch eher zufällig.

 

bzgl MA: ich hab mir auch schon überlegt obs besser is den EMA auf den (H+L+C)/3 zu rechnen oder so...

 

EDIT: was mir grad beim Bildchen schaun gekommen is: wieso den Umweg über den Stochastic, und nicht direkt den Abstand vom MA nehmen? obwohl.. nö vergiss es, blöde idee..

Geschrieben
  • Autor
Hier noch ein Bildchen:

 

ich bin gedanklich zwar noch nicht ganz so weit,

finde es aber sehr Interessant, Danke.

 

Muss jetzt erst mal mit der Familie zum Trödelmarkt im Ort.

Geschrieben
ich rechne derzeit jeden Bar einen normalen EMA, krieg also viele ema Werte.

Ja, das mach ich ja auch.

 

Daraus wird dann ein neuer "Chart" mit den Werten NewHigh=High - ema, NewLow= Low - ema, NewClose = Close - ema

 

Und auf diesen neuen Werten wird dann der Stochastic berechnet der eben genau die ausschwünge berechnet.

Codeschnipsel kann ich selbst :sad:. Die Berechnung erfolgt ja auch barweise, nur das man das 'i' im Amibroker so nicht sieht. Das ist quasi implizit da. Sprich, ich arbeite in dem Code auf dem i.ten Bar.

NeuerKursC = C - EMA(C,ZeitTrendberechnung);

 

//Trendbereinigung auch für High und Low vornehmen

NeuerKursH = H - EMA(C,ZeitTrendberechnung);

NeuerKursL = L - EMA(C,ZeitTrendberechnung);

 

Hi2 = HHV(NeuerKursH, Zeit);

Li2 = LLV(NeuerKursL, Zeit);

 

Stoch2 = (NeuerKursC - Li2) / (Hi2 - Li2) *100;

 

Was ist denn bei Dir ein "normaler EMA"? Nen Ema, der auf dem Close berechnet wird ? http://www.tradesignalonline.com/Lexicon/D...ponential+(EMA) Und was unterscheidet dann unsere beiden Varianten ? Und v.a. hebt sich das ema am Ende bei Dir nicht auch aus der Grundformel raus ? :smile:

 

:sad:

(C-LL)/(HH-LL) *100 //die *100 lass ich im weiteren mal weg, ist eh nur nen Skalierungsfaktor

 

... ich setze mal Deinen Pseudocode ein....

 

= (NewClose - LowerLow(NewLow, Periode))/(HigherHigh(NewHigh,Periode) - LowerLow(NewLow, Periode))

 

= ?

 

Es ist eben ein Trend und Volatilitätsbereinigter Kursschwingungsindikator... Brauchen wir nur noch einen tollen Namen (ich wüsste einen, aber der klingt seltsam)

Trend- und Volatilitätsbereinigter Kursschwingungsindikator... :wink:, das klingt verdammt EXAKT. Aber jeder Marketingmanager wird Dir den Namen um die Ohren hauen. Was schwebt Dir denn als besserer Name so vor ? *neugierig guck*

Geschrieben

Ja ein EMA auf den Close, aber wie gesagt bin ich mit dem Close nit ganz glücklich.

Und was unterscheidet dann unsere beiden Varianten ? Und v.a. hebt sich das ema am Ende bei Dir nicht auch aus der Grundformel raus ?

Die gecodeten Varianten unterscheided glaub ich nix, aber deine händische Rechnung passt nicht zu deinem Code ;)

 

Das T das du von High,Low und Close abziehst is immer ein anderes.

Zahlenbeispiel:

H/L/C | EMA | New H/L/C

3,2,2 | 1.5 | 1.5,0.5,0.5

4,1,3 | 2 | 2,-1,1

4,2,3 | 3.5 | 0.5,-1.5,-0.5

6,5,5 | 4 | 2,1,1

3,2,2 | 3 | 0,-1,-1

 

also original HH = 6 (am 4.), LL =1 (am 2.) aktuelles Close = 2, Stochastic = (2-1)/(6-1)= 0.2

 

neue Werte: HH = 2 (am 2. und 4.), LL= -1.5 (am 3.), aktuelles Close= -1, Stochastic = (-1 - -1.5)/(2- -1.5)=0.5/3.5 = 0.14

 

Zahlenwerte sind fiktiv und sinnlos aber vielleicht hilfts fürs Verständniss...

 

Trend- und Volatilitätsbereinigter Kursschwingungsindikator... :wink:, das klingt verdammt EXAKT. Aber jeder Marketingmanager wird Dir den Namen um die Ohren hauen. Was schwebt Dir denn als besserer Name so vor ? *neugierig guck*

 

bullet_go.png

Swinger
:smile: (weil so schön hin und her schwingt....)
Geschrieben

ok, ich weiß jetzt, wo mein Denkfehler war.

 

LL und HH sind ja das Ergebnis von der Extremwertberechnung (Minimum im Low in dem definierten Intervall bzw. Maximum im High). Da hebt sich natürlich nichts weg mit dem C_i-T_i, welches ja nur ein fester Wert ist zum Zeitpunkt i (bzw. Bar i). LL und HH kriegen als Input aber Vektoren. :smile:

Geschrieben
Ja ein EMA auf den Close, aber wie gesagt bin ich mit dem Close nit ganz glücklich.

Ich auch nicht. Ich hab gelesen, historisch bedingt rechnet man viel mit dem Close, weil es damals - zu unser Großväterzeiten wahrscheinlich :sad: nix anderes als den Close gab.

 

Da können wir Jungen uns getrost was besseres ausdenken. :sad:

 

Die gecodeten Varianten unterscheided glaub ich nix, aber deine händische Rechnung passt nicht zu deinem Code ;)

Richtig, ich hab nochmal nen Blatt Papier vollgemalt mit Formeln, da hab ich das dann auch gemerkt, dass da der Denkfehler war. Aber Danke Dir natürlich trotzdem :wink: .

 

bullet_go.png

Swinger
(weil so schön hin und her schwingt....)

Pfui, das ist nicht FSK 12 ! :smile:

Geschrieben
Ja ein EMA auf den Close, aber wie gesagt bin ich mit dem Close nit ganz glücklich.

(O+H+L+C)/4 (zumindest auf Tagescharts) als bester Schätzer: man hat zumindest 4 statt nur 1 Datenpunkt

bzw. (H+L+C)/3 Intraday (denn da liegen der Open des neuen und der Close des alten ja meist recht nah beieinander, so dass der Kurs übergewichtet wäre einmal als Close im Bar davor und dann gleich nochmal als Open im Folgebar, vermute ich mal).

Geschrieben
Pfui, das ist nicht FSK 12 ! :smile:

Ein Schelm wer schlimmes dabei denkt... Es ist ja ein Swing-Indikator... :wink:

 

Ich bin auch für (H+L+C)/3, werds aber bei Gelegenheit als Parameter rein packen. bin auch mit dem MA nit ganz zufrieden... kennt ihr den KAMA?

Geschrieben
kennt ihr den KAMA?

Schon mal gehört, aber bei Tradesignal taucht der so nicht auf. D.h. ich hab noch nicht damit rumexperimentiert :smile: .

Geschrieben

Ich hab mal die Stochastik ohne Trendbereinigung einfach nochmal durch die Stochastik-Formel geschoben.

 

Das Ergebnis finde ich fast noch schöner, denn es werden ja dabei die Schwingungen aus der Stochastik rausgezogen. Normiert auf 1-100 ist es auch.

 

 

Schwarze Linie = die Stochastik der Stochastik^^

Rote Linie = Stochastik Pur

Blaue Linie = Trendbereinigte Stochastik (EMA(Close) von High,Low und Close abgezogen)

stochastik2.png

Geschrieben

wäre das System denn zwingend auf die Original-Stochastik angewiesen?

 

Je nachdem obs das in eurer Software gibt, wäre vielleicht auch der StochCCI (Stochastik + CCI kombiniert) oder der StochRSI nicht schlecht, hab mal alle drei übereinander geplottet:

 

Stochastiks.png

Geschrieben
Ich hab mal die Stochastik ohne Trendbereinigung einfach nochmal durch die Stochastik-Formel geschoben.

 

auch ne interessante idee! wie reagiert das Ding bei vola-änderungen?

 

EDIT

@ronner: hast du Formeln zu den modifizierten Stochastic?

Geschrieben
auch ne interessante idee! wie reagiert das Ding bei vola-änderungen?

Ich glaub', da sollte es recht robust sein, denn es wird ja dann die HH und LL von der Stochastik genommen und der Verlauf der Stochastik in diesem normierten Raum betrachtet. Die Vola sollte da neutralisiert werden. Zumindest schwingt das Teil konsistent zwischen den Extrembereichen hin und her, egal, was der Markt macht.

Geschrieben
  • Autor
Ich hab mal die Stochastik ohne Trendbereinigung einfach nochmal durch die Stochastik-Formel geschoben.

 

Das Ergebnis finde ich fast noch schöner, denn es werden ja dabei die Schwingungen aus der Stochastik rausgezogen. Normiert auf 1-100 ist es auch.

 

Wie bitte ?

 

habe mich aber eigentlich mit der Trendbereinigung und einer Limitierung auf 0 und 100 angefreundet.

 

Ein Problem ist die Richtigen Einstellungen zu finden.

Man findet immer stellen da klappt es so besser und dann wieder Stellen da geht es mit einer anderen Einstellung besser.

 

Die Frage die ich mir stelle ist ob jedes weitere verfeinern nicht einer über Optimierung gleich kommt?

Man testet es auf bestimmte Werte, hat aber vielleicht dann in der Allgemeinheit ein schlechteres Bild.

 

2 Fragen hätte ich noch,

gibt es hier Leute die Aktien EOD handeln und Interesse an der Suche nach passenden Einstiegen haben?

 

und noch eine für Krümel :top:

Wenn ich eine einfache Abfrage für den Trend mache,

z.B.

 

Highest_Short_Stopp > REF (Highest_Short_Stopp,-1)

 

teste er er dann immer nur die letzten beiden Bars,

oder die letzte Veränderung.

Soll heisen,

ist der Stop jetzt schon 5 Bars gleich geblieben sagt er 0 ?

(Ich hoffe Du verstehst was ich meine. Aber wer einen PC versteht sollte auch meine dumme Ausdrucksweise verstehen)

 

Wie ich im Moment schaue.

 

Edit,

noch ein Bild wie es bei passenden Werten aussieht.

//------------------------------------------------------------------------------
// Param block
Zeit = Param("Zeit Stochastic",5,1,300,1);

//Periode des gleitenden Durchschnitts, der als "Trend"
//aus dem aktuellen Kurse (Close,High,Low) rausgerechnet werden soll.
ZeitTrendberechnung = Param ("Zeit Trendberechnung",10,1,300,1);

//Zeit2 sollte identisch sein in der Periode zu Zeit, ich hab's mal entfernt
//damit man nicht versehentlich die falschen Parameter für Stoch2 verwendet
//Zeit2 = Param ( "Zeit neue Stochastic",5,1,300,1);

//--------------------------------------------------------------------------
//Stochastic berechne ich derzeit über: (C-LL)/(HH-LL)*100
//Zeit = 5;
Hi=HHV( High, Zeit );
Li=LLV( Low, Zeit );

Stoch = (C - Li) / (Hi - Li) *100;


//-------------------------------------------------------------------------
//Das Problem der mit andauerndem Trend steigenden Tiefpunkten in der
//Stochastik (Long) bzw. zunehmend fallenden Hochpunkten in Shorttrends kann
//so recht gut gelöst werden.
//Grundidee: die Stochastik von dem aktuell vorherrschenden Trend bereinigen.
//den Kurs vom Trend bereinigen, indem man den gleitenden Durchschnitt abzieht
//(z.B. nen EMA).
//Neuer.Kurs = Close-EMA(Close, MA_Periode); //Pseudo-Code
//stoch = Stochastik(Neuer.Kurs,Stoch_Periode);

NeuerKursC = C - EMA(C,ZeitTrendberechnung);

//Trendbereinigung auch für High und Low vornehmen
NeuerKursH = H - EMA(H,ZeitTrendberechnung);
NeuerKursL = L - EMA(L,ZeitTrendberechnung);

//Zeit2 = 25;
Hi2 = HHV(NeuerKursH, Zeit);
Li2 = LLV(NeuerKursL, Zeit);

Stoch2 = (NeuerKursC - Li2) / (Hi2 - Li2) *100;
Stoch2 = IIf(Stoch2 > 100, 100, Stoch2);
Stoch2 = IIf(Stoch2 < 0, 0, Stoch2);


//Plot(Stoch ,"Stoch",colorRed,1);
//Plot(Stoch2 ,"Stoch2",colorBlue,1);

Stoch_Period = 3;
Stoch_Smooth = 2;

//Stoch_Upper_Value = 60;
//Stoch_Lower_Value = 40;


//Schwellwerte
Stoch_Cross_Upper_Value = 90;
Stoch_Cross_Lower_Value = 10;
Stoch_Cross_Lower_Value_High = 50;
Stoch_Cross_Upper_Value_High = 50;




//Stochastik berechnen
Stoch_Value = Stoch2;


//-----------------------------------------------------------------------------
//Wann kreuzt die Stochastik die 2 Schwellwerte (von oben nach unten/ von unten nach oben)
//Bei Kreuzpunkt enthält das Array an der Stelle 1, sonst 0.

//Stochastik kreuzt Schwellwert von oben nach unten (fallende Stochastikwerte)
Stoch_Cross_Below_Lower_Threshold = Cross(Stoch_Cross_Lower_Value,Stoch_Value);

//Stochastik kreuzt Schwellwert von unten nach oben (steigende Stochastikwerte)
Stoch_Cross_Above_Lower_Threshold = Cross(Stoch_Value,Stoch_Cross_Lower_Value);

//-----------------------------------------------------------------------------
//Stochastik kreuzt Schwellwert von oben nach unten (fallende Stochastikwerte)
Stoch_Cross_Below_Upper_Threshold = Cross(Stoch_Cross_Upper_Value,Stoch_Value);

//Stochastik kreuzt Schwellwert von unten nach oben (steigende Stochastikwerte)
Stoch_Cross_Above_Upper_Threshold = Cross(Stoch_Value,Stoch_Cross_Upper_Value);


//-------------------------------------------------------------------------------------
/* Long-Stopp:

Stochastik hat unteren Schwellwert von unten nach oben gekreuzt. Man geht in diesem
Falle davon aus, dass eine Korrektur vollendet wurde.
gesucht wird das tiefste Tief seither. */

//Bestimme tiefstes Tief nachdem die Stochastik den Schwellwert zum letzten Mal von
//oben nach unten gekreuzt hat
Long_Stopp1 = LowestSince(Stoch_Cross_Below_Lower_Threshold,Low,1);
//... für die letzten beiden Male, so dass am Ende das tiefere Tief gefunden werden kann
Long_Stopp2 = LowestSince(Stoch_Cross_Below_Lower_Threshold,Low,2);

//Berechne Stoppwert
Lowest_Long_Stopp = IIf(Long_Stopp1 > Long_Stopp2 AND Stoch_Value > Stoch_Cross_Lower_Value, Long_Stopp1, Long_Stopp2);

//Berechne Stoppwert
//Lowest_Long_Stopp = IIf(Long_Stopp1 < Long_Stopp2, Long_Stopp1, Long_Stopp2);


//Zeichne Stoppwert in den Chart
Plot(Lowest_Long_Stopp,"",colorGreen,4);


//-------------------------------------------------------------------------------------
/* Short-Stopp:

Stochastik hat oberen Schwellwert von oben nach unten gekreuzt. Man geht in diesem
Falle davon aus, dass eine Korrektur vollendet wurde.
gesucht wird das höchste Hoch seither. */

//Bestimme höchstes Hoch nachdem die Stochastik den Schwellwert zum letzten Mal von
//unten oben gekreuzt hat
Short_Stopp1 = HighestSince(Stoch_Cross_Above_Upper_Threshold,High,1);
//... für die letzten beiden Male, so dass am Ende das höhere Hoch gefunden werden kann
Short_Stopp2 = HighestSince(Stoch_Cross_Above_Upper_Threshold,High,2);

Highest_Short_Stopp = IIf(Short_Stopp1 < Short_Stopp2 AND Stoch_Value < Stoch_Cross_Upper_Value , Short_Stopp1, Short_Stopp2);

//Berechne Stoppwert
//Highest_Short_Stopp = IIf(Short_Stopp1 > Short_Stopp2, Short_Stopp1, Short_Stopp2);


//Zeichne Stoppwert in den Chart
Plot(Highest_Short_Stopp,"",colorRed,4);

post-1129-1245075369_thumb.png

Bearbeitet von ibelieve

Geschrieben
habe mich aber eigentlich mit der Trendbereinigung und einer Limitierung auf 0 und 100 angefreundet.

Aber ich nicht :top:. Wenn Dir die Trendbereinigung besser gefällt, lass sie halt drin, ich zwing Dir da nix auf ;).

 

Die Frage die ich mir stelle ist ob jedes weitere verfeinern nicht einer über Optimierung gleich kommt?

Man testet es auf bestimmte Werte, hat aber vielleicht dann in der Allgemeinheit ein schlechteres Bild.

Meiner Meinung nach nicht, denn es werden ja keine Parameter optimiert, sondern ein anderes Modell /andere Formel wird angesetzt. Das ist ein qualitativer Unterschied. Wenn ich ein besseres Modell/Formel finden kann, welches das, was ich machen will - nämlich die Schwingungen rausziehen - besser macht (für die gleichen Grundparameter, z.B. Periode) als eine andere Formel, dann nehme ich doch die bessere !

 

V.a. wenn sie vom Rechen- und Implementierungsaufwand vertretbar ist. Und wir haben ja "erst" 2 Varianten betrachtet. In der Forschung geht's an der Stelle erst richtig los :top:. Wenn ich mich schon mal mit dem Thema 1-2-3 beschäftige, dann soll da auch was Vernünftiges rauskommen und nicht wieder nur ne halbgare Variante, die mit Parameter(über)optimierung manchmal funktioniert. :top:

 

gibt es hier Leute die Aktien EOD handeln und Interesse an der Suche nach passenden Einstiegen haben?

Ich hab null Plan von Aktien. Längerfristig will ich mal schaun, ob ich Branchen-ETFs handeln kann, z.B. wie im ic.arrow.right.png Sektor-oder-Cash-Thread beschrieben. Ist aber noch auf der Todo-Liste.

 

und noch eine für Krümel :top:

Wenn ich eine einfache Abfrage für den Trend mache,

z.B.

 

Highest_Short_Stopp > REF (Highest_Short_Stopp,-1)

 

teste er er dann immer nur die letzten beiden Bars,

Ja, er vergleicht den aktuellen und den Wert davor. Nichts sonst.

 

Soll heisen,

ist der Stop jetzt schon 5 Bars gleich geblieben sagt er 0 ?

Genau. 0.

Geschrieben
  • Autor
Ja, er vergleicht den aktuellen und den Wert davor. Nichts sonst.

 

und wenn ich jetzt Abfragen will ob die letzte Veränderung ein steigen oder ein fallen war?

 

Aber ich nicht laugh.gif. Wenn Dir die Trendbereinigung besser gefällt, lass sie halt drin, ich zwing Dir da nix auf ;).
Ich hab mal die Stochastik ohne Trendbereinigung einfach nochmal durch die Stochastik-Formel geschoben.

 

Das Ergebnis finde ich fast noch schöner, denn es werden ja dabei die Schwingungen aus der Stochastik rausgezogen. Normiert auf 1-100 ist es auch.

 

Kann aber auch noch nicht ganz folgen was Du da jetzt gemacht hast?

 

Ich hab null Plan von Aktien.

 

Ich auch, aber hindert mich nicht dran Sie zu handeln.

 

ETF und Aktie ist das gleiche, meiner Meinung nach.

 

V.a. wenn sie vom Rechen- und Implementierungsaufwand vertretbar ist.

 

Vielleicht liegt es auch einfach daran das ich nicht mehr ganz folgen kann.

Aber macht mal weiter. :top:

Geschrieben
und wenn ich jetzt Abfragen will ob die letzte Veränderung ein steigen oder ein fallen war?

Dann musst Du eine weitere Variable, z.B. trend mitschleifen, wo Du bei Veränderungen im Stoppwert den Wert setzt.

Zwischenzeitliche Änderungen werden in 2 weiteren Variablen festgestellt.

 

z.B.

trend=0; //Initialisierung für den allerersten Bar

 

//geht's rauf, dann steht in uptrend ne 1, sonst ne 0

uptrend = IIF(Highest_Short_Stopp > REF (Highest_Short_Stopp,-1),1,0);

 

//geht's abwärts, steht in downtrend ne -1, sonst ne 0

downtrend = IIF(Highest_Short_Stopp

 

//steht in uptrend ne 1, muss downtrend 0 sein, da sich die Bedingungen wechselseitig ausschließen

//und umgekehrt steht in downtrend ne -1, muss uptrend 0 sein

trend = IIF(uptrend == 1,1,Ref(trend,-1));

trend = IIF(downtrend==-1,-1,Ref(trend,-1));

 

//Was passiert: hat sich irgendwas in downtrend oder uptrend getan, wird der Wert in der Variable trend aktualisiert, //ansonsten wird der Wert der Variablen trend beibehalten und von Bar zu Bar geschleift.

Ist wahrscheinlich nicht 100% korrekt von der Syntax, aber die Grundidee steckt schon mal drin. :top:

 

Kann aber auch noch nicht ganz folgen was Du da jetzt gemacht hast?

Vielleicht liegt es auch einfach daran das ich nicht mehr ganz folgen kann.

Na, die Originalformel von der Stochastik ohne Trendbereinigung war ja Stoch=(C-LL)/(HH-LL).

Ergebnis ist ein Wert zwischen 0 und 100. Das bezeichne ich in der Regel als "Normierung". Egal, was vorher reingesteckt wird in welchen Größenordnungen auch immer (Dax vierstellig, nen Penny-Stock auch vierstellig, aber nach dem Komma), am Ende fällt aus der Formel immer ne Zahl zwischen 0 und 100 raus.

 

So, da uns ja die Schwünge in der Stochastik Probleme machen, die bei längeren Trends nicht mehr tief genug fallen, um für ein neues Tief herangezogen werden zu können, dachte ich mir, dass man die Schwünge aus der Stochastik ja mit eben dieser Formel rausziehen könnte. Ist ja quasi auch ne Trendbereinigung.

 

Also:

1. StochV=(C-LowerLow(L,Periode))/(HigherHigh(H,Periode)-LowerLow(L,Periode)). (die Formel von oben bisschen ausführlicher)

 

2. Stoch2 = (StochV - LowerLow(StochV,Periode)) / (HigherHigh(StochV,Periode) - LowerLow(StochV,Periode)).

 

Highs und Lows hat man ja nicht mehr, sondern man hat nur noch 1 Wert StochV für den i.ten Bar als Ergebnis der 1. Formel (bzw. eine Datenreihe StochV, wenn man die Berechnung Bar für Bar durchführt, für die ich aber auch Highs und Lows bestimmen kann in einem Intervall) .

Geschrieben
  • Autor
1. StochV=(C-LowerLow(L,Periode))/(HigherHigh(H,Periode)-LowerLow(L,Periode)). (die Formel von oben bisschen ausführlicher)

 

2. Stoch2 = (StochV - LowerLow(StochV,Periode)) / (HigherHigh(StochV,Periode) - LowerLow(StochV,Periode)).

 

Ich nix Ahnung :top:

 

Hat das " " eine Bedeutung?

Geschrieben
Ich nix Ahnung :top:

 

Hat das " " eine Bedeutung?

Jein. Eher ne Kennzeichnung, dass das der i.te Wert in dem Array ist bzw. der Wert vom i.ten Bar, im Gegensatz zu dem Array/Vektor mit allen Daten.

 

//1. Formel:

//StochV=(C-LowerLow(L,Periode))/(HigherHigh(H,Periode)-LowerLow(L,Periode)) * 100

 

//Stochastic berechne ich derzeit über: (C-LL)/(HH-LL)*100

Hi=HHV( High, Zeit );

Li=LLV( Low, Zeit );

 

Stoch = (C - Li) / (Hi - Li) *100;

 

Wenn man das einsetzt, was im Code auseinander gezogen und in Variablen ausgelagert ist:

 

Stoch = ((C - LLV( Low, Zeit)) / HHV( High, Zeit) - LLV( Low, Zeit )) * 100 sieht man ja (nach längerem Hinschauen), dass beide Formeln identisch sind. Die Variable, die bei Dir Zeit heißt, ist in meiner Formel Periode.

 

 

//--------------------------------------------------------

//2. Stoch2 = (StochV - LowerLow(StochV,Periode)) / (HigherHigh(StochV,Periode) - LowerLow(StochV,Periode)).

 

Stoch2 = ((Stoch - LLV( Stoch, Zeit)) / HHV( Stoch, Zeit) - LLV( Stoch, Zeit )) * 100

Du musst jetzt also mit Stoch2 weiterarbeiten als "neuer" Stochastik ! Wichtig: nicht die Variable Stoch überschreiben, die brauchen wir beim nächsten Bar wieder, da ja die Highs und Low für die Periode darauf berechnet werden müssen.

Geschrieben
  • Autor
Jein. Eher ne Kennzeichnung, dass das der i.te Wert in dem Array ist bzw. der Wert vom i.ten Bar, im Gegensatz zu dem Array/Vektor mit allen Daten.

 

Noch mal Danke das Du Dir so viel Mühe mit mir gibst. :smile:

 

Mein Problem ist das ich wirklich keinerlei gescheites Grundwissen habe.

Alles was ich kann habe ich mir aus anderen Programmen abgeschaut und versuche es dann irgend wie zu nutzen.

Mit den Hilfen habe ich das Problem das mein Englisch so gut wie Null ist. :smile:

 

" "

Kannte ich eigentlich nur in Schleifen,

wo es doch eigentlich als Zähler verwendet wird?

 

Also:

1. StochV=(C-LowerLow(L,Periode))/(HigherHigh(H,Periode)-LowerLow(L,Periode)). (die Formel von oben bisschen ausführlicher)

 

2. Stoch2 = (StochV - LowerLow(StochV,Periode)) / (HigherHigh(StochV,Periode) - LowerLow(StochV,Periode)).

 

Also einfach auf den Stochastic noch mal den Stochastic berechnen?

 

Sorry, aber mit den Sachen musst Du mit mir Reden als wenn ich ein 2 jähriges Kind wäre :top:

Geschrieben
  • Autor
Also:

1. StochV=(C-LowerLow(L,Periode))/(HigherHigh(H,Periode)-LowerLow(L,Periode)). (die Formel von oben bisschen ausführlicher)

 

2. Stoch2 = (StochV - LowerLow(StochV,Periode)) / (HigherHigh(StochV,Periode) - LowerLow(StochV,Periode)).

 

Sollte doch dann einfach so aussehen, wenn ich nicht irre?

 

//------------------------------------------------------------------------------
// Param block
Zeit = Param("Zeit Stochastic",15,1,300,1);


//--------------------------------------------------------------------------
//Stochastic berechne ich derzeit über: (C-LL)/(HH-LL)*100
//Zeit = 5;
Hi=HHV( High, Zeit );
Li=LLV( Low, Zeit );

StochV = (C - Li) / (Hi - Li) *100;



//1. StochV[i]=(C-LowerLow(L,Periode))/(HigherHigh(H,Periode)-LowerLow(L,Periode)). (die Formel von oben bisschen ausführlicher)

//2. Stoch2 = (StochV[i] - LowerLow(StochV,Periode)) / (HigherHigh(StochV,Periode) - LowerLow(StochV,Periode)).

Hi2 = HHV(StochV, Zeit );// Hoch vom Stoch
Li2 = LLV(StochV, Zeit );// Tief vom Stoch


Stoch2 = (StochV - Li2) / (Hi2 - Li2) * 100;// Berechnung vom Stoch auf den Stoch


Plot(StochV ,"StochV",colorRed,1);
Plot(Stoch2 ,"Stoch2",colorBlue,1);

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.