Alle Inhalte von Krümel
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
Aber sicher Ich dachte ja auch eher an die eine oder andere Formel, die dabei unter die Räder kommt.
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
Ja, hab ich auch gemerkt als ich mir mal die Formel und die Modifikation genauer angeschaut habe. Kannst Du mir das als Formel hinschreiben, bitte, bitte . Auf welchen Werten berechnest Du den MA, das geht aus Deinem Satz nicht so eindeutig für mich hervor. MA=(Close+High+Low)/3 oder wie ? Das ist ja genau die Stelle, wo ich hänge. Ja, das klingt interessant. Am Ende ist das Ganze natürlich keine Stochastik mehr, aber es soll ja eigentlich der Schwingungsanteil vom Kursverlauf abgebildet werden. Da ist mir jedes Mittel recht und ich gehe über Leichen
-
Forexone "vereinfacht" ab sofort den Forex-Handel
Wow, Du hast da ja extrem viel ausprobiert ! Danke für Deinen Report ! Ich seh das mittlerweile genauso: nicht der Broker ist mein größter Feind, sondern, wenn überhaupt ich selbst mit der falschen Strategie. Scalpen ist eh nicht mein Ding (und da fallen die Gebühren am meisten ins Gewicht). Und bei Saxo lass ich einfach die Finger solange von Forex (Dax-CFD ist bedeutend "preiswerter"), bis ich mir das Minimum-Risiko von 100 Euro (50k + 20 Pips MinimumStopp) leisten kann bzw. will. Das dauert noch ne Weile.
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
Mal laut gedacht: Vielleicht ist die Version 1 mit den 3 verschiedenen Trends doch besser. Die Ausreißer über 100 und unter 0 könnte man ja trimmen, indem man sie auf die Intervallgrenzen 0 bzw. 100 setzt. Irgendwie aber auch blöd. Das sieht dann an vielen Stellen so abgeschnitten aus.
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
Mythos, Hilfe !!! Irgendwie hab ich grad nen Denkproblem, glaub ich. Wenn ich den Trend, der in der Datenreihen von Close drinsteckt (ich nenn den mal 'T'), von allen dreien abziehen, verändert sich die Ursprungsformel der Stochastik (C-LL)/(HH-LL) *100 ((C-T)-(LL-T)) / ((HH-T) - (LL-T)) *100 (das ist ja genau das, was im obigen Programmcode steht) wenn ich das auflöse: ((C-T-LL+T) / (HH-T-LL+T)) *100 dann heben sich die T's im oberen und unteren Term doch jeweils weg und am Ende steht da wieder (C-LL)/(HH-LL) *100. Deswegen sehen sich die neue und die alte Stochastik im Post über diesem hier natürlich auch ähnlich. Wobei sie eigentlich identisch sein sollten. *arghh*
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
Versuch mal das: In dem Falle wird immer der gleiche Wert als Trend von Close, High,Low abgezogen und nicht wie oben von allen 3 Datenreihen die jeweils darin enthaltenen. Ich mach sowas hier ja auch zum ersten Mal, ibelieve. Das meine ich ja auch mit "Rumforschen". Was ist sinnvoll, was ist nicht sinnvoll. Von daher zaubere ich ja auch keine perfekten Lösungen aus dem Hut, sondern kann mich dem Problem auch nur sukzessive annähern und ausprobieren, was funktioniern könnte, und was ebend nicht klappt. Wahrscheinlich ist es sinnvoll von High und Low auch den in Close-enthaltenen Trend abzuziehen. Die Extremwerte sind dann nicht mehr so "extrem". Was Du in Deinem Bild gezeigt hast, sind m.E. Ausreißer die entstehen können, wenn stark unterschiedliche Trends in High und Low und Close enthalten sind. Wenn man lediglich nur den Close-Trend abzieht, sollte man das Problem nicht haben, da dies in der Formel eine Konstante ist und so die Normierung der Stochastik auf Werte zwischen 0 und 100 erhalten bleibt. Und nee, das Bild hab ich erst nach dem 2. Edit eingefügt, ich wollte keinen neuen Post deswegen schreiben, da es eigentlich zum Code dazugehört ;). Nochmal komplett als Programm: //------------------------------------------------------------------------------ // 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",25,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(C,ZeitTrendberechnung); NeuerKursL = L - EMA(C,ZeitTrendberechnung); //Zeit2 = 25; Hi2 = HHV(NeuerKursH, Zeit); Li2 = LLV(NeuerKursL, Zeit); Stoch2 = (NeuerKursC - Li2) / (Hi2 - Li2) *100; Plot(Stoch ,"Stoch",colorRed,1); Plot(Stoch2 ,"Stoch2",colorBlue,1);
-
"Bisschen Content bei den Indikatoren"
Ja, mir schwebt da vor: zum einen natürlich paar "normale" Links sammeln, wie so die Indikatoren funktionieren, wie sie normalerweise eingesetzt werden etc. Aber eigentlich soll es dann doch etwas fortgeschrittener werden, damit man mal die "Mathematik" hinter den Indikatoren versteht und die Biester nicht immer so als Blackbox einsetzt mit so nem halbgaren Viertelwissen. Dann ist man viel zu unflexibel, wenn es mal um Änderungen/Adaptionen geht. Hab ich grad in dem Thread gemerkt.
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
Schau ich mir mal näher an. Was ich aber jetzt schon gesehen habe: Du musst natürlich die Trendbereinigung auch für HH und LL vornehmen, denn in den High- und Low-Werten steckt der Trend ja ebenso drin wie in den Close-Werten. Was Du machst - und deswegen sieht Deine "trendbereinigte" Stochastik auch so anders aus: Du rechnest nur noch auf den trendbereinigten Closewerten weiter (auch die Berechnung der HH und LL erfolgt nur darauf). EDIT: ok, ich hab da mal ein paar Modifikationen vorgenommen: //------------------------------------------------------------------------------ // 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",25,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; Plot(Stoch ,"Stoch",colorRed,1); Plot(Stoch2 ,"Stoch2",colorBlue,1); Was macht m.E. den Unterschied aus ? Man sieht, dass (bei gleichen Eingabeparametern !) die "trendbereinigte" Stochastik (blaue Linie) eher in die Extrembereiche läuft verglichen mit der "normalen" (rote Linie). Das ist ja aber genau das, was man will - zumindest ich will das , denn damit werden ja neue Highs/Lows nach Voigt "erkannt" und Stopps entsprechend nachgezogen. An den Parametern selbst muss man nochmal feilen, aber es geht ja zuerst mal um die "Wirkung" des Indikators.
-
Forexone "vereinfacht" ab sofort den Forex-Handel
Hallo Metagon, willkommen bei Tom-Next . Mindestens Saxo ist da noch teurer (20$/Roundturn bei Minilots (sprich: alles und 20 Pips Minimumstopp bei Forex *würg*). Also: schlimmer gehts immer . Aber wenigstens ist Saxo transparenter in der Gebührenpolitik, so dass man sich aussuchen kann, von was man doch besser die Finger lässt. Das, was Du da über Forexone schreibst, klingt ja nicht grade begeistert/begeisternd.
-
"Bisschen Content bei den Indikatoren"
Das war nur ne Idee für später, nix zum Sofort-Umsetzen.
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
Das war nur ne Idee für später, nix zum Sofort-Umsetzen.
-
MT5 Trojaner
Machbar ist es, denke ich. Sie brauchen ja nur die "typischen" Verzeichnisse im Metatrader durchsuchen, alles einsammeln, was nicht ihr's ist und im Hintergrund archivieren zippen (mit ner "mitgelieferten" Zip-Funktion) und als Stream zum Broker schicken, speichern, wieder entzippen und dann mal manuell durchgehen. (Die einfache Variante) Muss man ja nicht bei allen Kunden machen, reicht ja, wenn man sich die profitablen raussucht, das sind ja nicht so viele . Das einzige, was sie m.M.n. davon abhalten könnte ist der Vertrauens-/Imageverlust, wenn es rauskommt.
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
So, ich denke mir jetzt mal, was sich der Mythos dabei gedacht hat: LL = Tiefstes Tief (Lowest Low) der betrachteten Periode HH = Höchstes Hoch (Highest High) Büdde. @Whipsaw: wir brauchen dringend mal bisschen Content bei den Indikatoren, damit man sieht, was hinter den Formeln steckt.
-
devisen-handelssysteme.com
Welche Warnung bei n-tv ? Ich sehe ein Informationsdefizit am Horizont auftauchen ! Und Du willst Dir von Mythos Deine Systeme programmieren lassen ?
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
ich hab's geahnt, die Geister/Mythen, die ich rief... geh weg mit dem MT, wir sind schon mit 2 Code-Versionen am rumjonglieren ! Wir sind ja eher am Indikatorentwickeln. Das Coden ist ja nicht das Problem, wenn man erstmal wüsste, was und wie. Hmm, darauf könnten wir uns ja einigen. ;)
-
Traden mit Musik
Während ein Trade gemütlich vor sich hinläuft und auch mal nicht aus dem Knick kommt (wo man eigentlich auf den Händen sitzen müsste): Auch nichts, was mich potentiell depressiv machen könnte (Deine Lakeinen, Goethes Erben oder so) Direkte Lieblingstitel habe ich auch nicht, eher nen "Klangteppich", der beruhigend wirkt (da ich eh immer viel zu hippelig bin). Zum Programmieren hingegen ist aggressivere Mucke gut (Rammstein, Dreadful Shadows, Arts of Erebus usw.), da bleib ich wenigstens wach und das Gehirn arbeitet Voll-Speed. Also, ich weiß aus Erfahrung, dass das mit der Musik und Stimmung gut funktioniert und setze das auch gezielt ein.
-
Programmierung eines EA mit eigenen Indikatoren
Normalerweise ja ;). Kann man dem armen EA auch nicht verübeln Du hast ja noch keine einzige Order gemacht, wenn die Funktion start() aufgerufen wird und das ändert sich auch nicht, weil Du immer fragst: "Hast Du momentan keine Orders in der Pipeline (OrdersTotal() Besser wäre : total=OrdersTotal(); if(total>0) { return(0); }
-
devisen-handelssysteme.com
- devisen-handelssysteme.com
Was nix kostet, ist nix wert. ... hab ich auch noch so im Ohr. Muss aber nicht sein. Für die Preise würde ich nicht mehr arbeiten, denn als Selbständiger kann sich das auf Dauer nicht rechnen. Man sitzt ja doch ne ganze Weile dran, v.a. um dem "Kunden" seine Wünsche aus der Nase zu ziehen. Und es gibt sicher Kunden, die auch in dem Falle noch am Preis feilschen. In der Zeit hat kann man sich auch bei McDonals an die Kasse stellen und verdient wahrscheinlich ähnlich (nach Steuern, Krankenkasse, Arbeitsmittelkosten, usw.) "gut". Was ich mir noch gut vorstellen könnte: es wird nen Win-Win-Deal: der Kunde sponsort die Idee, kriegt preiswert nen System programmiert, und 1 von 10 Systemen ist vielleicht echt gut und das tradet der Programmierer dann auch selbst (oder verkauft es weiter, was er ja kann, denn er ist ja der Urheber in diesem Fall ^^). Wenn man das gut macht, kann sich das für beide Seiten rechnen.- Programmierung eines EA mit eigenen Indikatoren
Wenn Du als Werte nur true oder false drinstehen haben kannst, ist es besser auch auf genau diese zu testen. Sonst wendest Du ja den von mir oben beschriebenen "Trick" an. Kann man machen, besser ist aber: if(oversold == true && outbreak == true){...} Ich weiß. Wenn man den Brechlevel überwunden hat, ist es ne feine Sache. Bei meinem ersten Compiler stand noch "Blood, Sweat and Code" im Booklet (CodeWarrior für Mac). Über den Text hab ich damals noch gelacht. Allerdings nicht lange. Denn es wahr geworden.- devisen-handelssysteme.com
Fast zu schön, um wahr zu sein. Quelle: http://www.devisen-handelssysteme.com/devi...en-systeme.html Quelle: http://www.devisen-handelssysteme.com/impressum.html Wie bin ich drauf gestoßen? Bei Elitetrading wurde die Seite "beworben" von Honzel http://www.elitetrading.de/forum/metatrader/metatrader_programmierung_3454_11.html 'target="_blank">. #Edit: {whipsaw} Titel umbenannt - Original: EA-Programmierungsangebot: devisen-handelssysteme.com- Programmierung eines EA mit eigenen Indikatoren
Defaultmäßig werden solche Vergleiche wie A bool oversold = (RSI bool outbreak = (PRICE_CLOSE Man kann sich in einigen Programmiersprachen des Tricks bedienen, auch nen Interger (int) zu benutzen (oder nen anderen Zahlentyp, historisch bedingt gibt's da ne recht lange Liste), allerdings kommt es dann drauf an, mit welchem Zahlenwert die boolschen Werte intern dargestellt werden (oft: 1=true, 0=false), aber da gibt' auch Ausnahmen, so dass man da aufpassen muss. Nimm aber lieber true und false und Variablen vom Typ bool überall dort, wo Du derartige Bedingungen im Code abtestest. Das ist in jedem Fall korrekt. In Deinem obigen Beispiel bekommst Du für oversold ne 1.0 (weil vom Typ double) und für outbreak ne 1 (weil vom ganzzahligen Datentyp int).- Programmierung eines EA mit eigenen Indikatoren
Typenangaben wie int, string, double haben in den Funktionsaufrufen, also: wenn Du die Funktion im Code verwendest, nichts verloren. Da jammert der Compiler zurecht . Programmiertechnisch muss man Funktionsdeklaration, Funktionsdefinition und Funktionsaufruf unterscheiden. Quelle: http://homepage.univie.ac.at/heinz.kabelka...eb/function.htm Anmerkung: Bei MT lässt man die Deklaration oft weg, außer man will mit aus DLLs importierten externen Funktionen arbeiten, da kommt man nicht drumherum. Funktionen: E-Learning TU Darmstadt, um mal die Unterschiede zu verstehen. Zusammengefasst: Typangaben in Deklarationen/Definitionen: JA, in Funktionsaufrufen: NEIN. Dein Aufruf muss also lauten: RSI = iRSI (NULL, PERIOD_H1, int RSIperiod,PRICE_CLOSE,0);- Teil 1: Indikatorentwicklung 1-2-3-Detektion
Ja, momentan versuche ich ja, die großen Trends (die über 3-5 Tage im Dax laufen) damit zu erhaschen, um diese dann aber auf Intraday-Basis zu handeln. Dafür würde man normalerweise keinen Minutenchart nehmen, bei Tradesignal hat es aber den Vorteil, dass man recht zeitnah nach nem Signal einsteigen kann, denn man kann normalerweise nur zum Close eines Bars kaufen bzw. ab dem nächsten Bar. Wenn das aber der H1 wäre, das Signal kommt 9:10 Uhr (weil High Ausbruch aus dem Range bspw.), dann muss ich noch 50 Minuten warten, um das Signal zu traden. Geht einfach in der Software nicht anders (bzw. ich krieg's nicht hin) - außer man lässt sich einstoppen, was aber manchmal nicht das Mittel der Wahl ist. Also gehe ich soweit runter wie möglich und kann dann schon 9:11 reingehen, nämlich beim "next bar" im M1. Damit ich aber die Schwingungen des H1 abbilden kann, muss ich die Minutenanzahl (Periode) bei den Indikatoren entsprechend hochrechnen. Das stimmt schon. Das Ding bei mir ist nur, ich will die großen Schwingungen im kleinen traden, das hat aber lediglich softwarebedingte Ursachen.- Teil 1: Indikatorentwicklung 1-2-3-Detektion
Wenn man auf dem M1 arbeitet, sind das 4 Stunden, die in die Berechnung eingehen. Passt so ganz gut, 2 Stunden = 120 Minuten sind auch ok. Man muss sich halt die Schwingungen anschauen, die man als 1-2-3 traden will. Das sind Intraday natürlich andere als auf Tagesbasis, wo Deine Zahlen (Perioden bzw. Anzahl der Bars) viel kleiner sind als meine, da Du es auf Tagesbasis kalibrieren musst. Von daher kannst Du meine Zahlen natürlich nicht übernehmen, mit denen ich aktuell entwickle. - devisen-handelssysteme.com