Programmierung "Frei Schnauze"

      @TraderMik

      nur die 1. markierte Kerze wäre in Ordnung für mich gewesen. Der Trigger darf im Vergleich zur Vortageskerze auf keinen Fall schlechter geworden sein.
      Der Autor ist in den besprochenen Werten zumeist selbst investiert. Traden auf eigene Gefahr, Signale sind aktuell großteils experimentell zwecks Challenge "In 30 Tagen zur Trading Strategie".
      Plane deinen Trade, trade deinen Plan!
      If it´s not a HELL YES, it´s a NO!
      Hier noch mal der Code in lesbarer Form:

      Quellcode

      1. protected override void OnBarUpdate()
      2. {
      3. isSFBar = false;
      4. isSignalLong = false;
      5. // kleine freundliche Kerze
      6. if (100*((Low[0]+0.6*ATR(10)[0]-High[0])/(High[0]-Low[0]))> 0 &&
      7. Close[0] > Open[0])
      8. {
      9. isSFBar = true;
      10. }
      11. if (isSFBar)
      12. {
      13. d = 1;
      14. //suche nach Fahne
      15. while (isSignalLong == false && d < 15)
      16. {
      17. H = HighestBar(High, d);
      18. L = LowestBar(Low, d);
      19. R = LowestBar(Low, H+1);
      20. if (L>=H && R!=H && (Low[R] > (High[H]-Low[L])/2))
      21. {
      22. isSignalLong = true;
      23. DrawEllipse("SmallFriendlyBar" + CurrentBar, 1, High[0] + 5 * TickSize, -1, Low[0] + -5 * TickSize, Color.Yellow);
      24. DrawDot("HighestBar" + CurrentBar, true, H, High[H] + 5*TickSize,Color.BurlyWood);
      25. DrawDot("LowestBar" + CurrentBar, true, L, Low[L] - 5*TickSize,Color.Blue);
      26. }
      27. d = d + 1;
      28. }
      29. }
      30. }
      Guten Morgen!

      @ Perfect Trader

      anbei mein weiterentwickelter Code für den ProScreener in ProRealTime

      Quellcode

      1. c1 = (Close - Open) < (Close * 0.03) and (Close - Open) > 0
      2. c2 = (High - Close) < (4 * (Open - Low))
      3. c3 = ((High - Close) / High) < (High * 0.005)
      4. c4 = ((Dhigh(1) > high) and (dhigh(2) > high) and (dhigh(3) > high))
      5. c5 = Lowest[9](Low) < Close
      6. c6 = volume > 1000000
      7. if close <= 10 and AverageTrueRange > 0.125 then
      8. Criteria = 1
      9. elsif (close > 10 and close <= 20) and AverageTrueRange > 0.25 then
      10. Criteria = 1
      11. elsif (close > 20 and close <= 30) and AverageTrueRange > 0.5 then
      12. Criteria = 1
      13. elsif (close > 30 and close <= 40) and AverageTrueRange > 0.75 then
      14. Criteria = 1
      15. elsif close > 40 and AverageTrueRange > 1.0 then
      16. Criteria = 1
      17. endif
      18. Screener [c1 and c2 and c3 and c4 and c5 and c6](Criteria as "ATR genügt = 1")


      Neu hinzugekommen sind c6 für ein einigermaßenes Volumen der Aktie und die Bewertung der ATR (beim Trade soll ja auch ein Wenig was bei rauskommen.

      @ TraderMik

      TraderMik schrieb:

      Einer der auffälligsten Punkte ist, das die Signalkerze nicht unbedingt der tiefste Punkt seit dem letzten Hoch ist. Dies ist aber für Hintman, sofern ich alles richtig verstanden habe aber schon wichtig.

      Was mir auch nicht wirklich klar ist, ist die Definition der kleinen Kerze im Pseudocode.
      Während mir die Definition auch nicht klar ist, so vermute ich jedoch, dass Hintman die markierten Kerzen 2-4 nicht gekauft hätte, um den Trend nicht hinterherzulaufen. Aber vielleicht erklärt er es hier ja nochmal :)

      Grüße Candy

      Konzept von marmooli in NinjaTrader

      Hallo zusammen,

      ich habe mal versucht das Konzept von marmooli im NinjaTrader umzusetzen:

      - die Betonung liegt auf "versucht"
      - es können noch Fehler in der Programmierung sein
      - ich kann das Konzept nicht richtig verstanden haben

      Ich sehe auch noch einige Probleme mit der reinen Lehre von Hintman. Bitte denkt dran marmooli ist in Urlaub ....

      Derzeit nur Long
      die Feinheiten die marmooli angesprochen hat (z.B. Trend) sind natürlich auch nocht nicht drin.

      Im Screenshot werden die Long-Signale (Ellipsen) angezeit. Der braune Punkt ist das das gefundene Hoch der Fahne (H im Konzept) der blaue Punkt ist das Tief (T) der Fahne. Und ein paar Anmerkungen dazu.
      Einer der auffälligsten Punkte ist, das die Signalkerze nicht unbedingt der tiefste Punkt seit dem letzten Hoch ist. Dies ist aber für Hintman, sofern ich alles richtig verstanden habe aber schon wichtig.

      Was mir auch nicht wirklich klar ist, ist die Definition der kleinen Kerze im Pseudocode.

      Freue mich über konstruktives Feedback.

      LG
      TraderMik

      Hier noch die paar Zeilen Code:

      protected override void OnBarUpdate()
      {
      isSFBar = false;
      isSignalLong = false;

      // kleine freundliche Kerze
      if (100*((Low[0]+0.6*ATR(10)[0]-High[0])/(High[0]-Low[0]))> 0 &&
      Close[0] > Open[0])
      {
      isSFBar = true;
      }

      if (isSFBar)
      {
      d = 1;
      //suche nach Fahne
      while (isSignalLong == false && d < 15)
      {

      H = HighestBar(High, d);
      L = LowestBar(Low, d);
      R = LowestBar(Low, H+1);

      if (L>=H && R!=H && (Low[R] > (High[H]-Low[L])/2))
      {
      isSignalLong = true;

      DrawEllipse("SmallFriendlyBar" + CurrentBar, 1, High[0] + 5 * TickSize, -1, Low[0] + -5 * TickSize, Color.Yellow);
      DrawDot("HighestBar" + CurrentBar, true, H, High[H] + 5*TickSize,Color.BurlyWood);
      DrawDot("LowestBar" + CurrentBar, true, L, Low[L] - 5*TickSize,Color.Blue);
      }

      d = d + 1;
      }
      }
      }
      Bilder
      • Screenshot01.png

        50,31 kB, 1.641×934, 254 mal angesehen

      ibelieve schrieb:

      [...]
      Frage,

      wäre es vielleicht nicht sinnvoll das thema der programmierung aus zu lagern?

      insgesamt würde es die sache nach einiger zeit sicher übersichtlicher machen wenn ich mal irgend was im thread suche bzw. gibt es sicherlich auch leute die sich eigentlich nur für den einen oder anderen teil der sache interessieren.
      Dem schließe ich mich an.

      Ich bin auch dafür, daß dieser Thread hier nur für die eigentlichen Signale benutzt werden sollte.
      Vielleicht kann ja einer der Programmierwilligen einen Extra-Thread aufmachen. Evtl. auch nur für registrierte Benutzer zugänglich!?

      Gab es eigentlich bereits Signale für Montag, oder hat jeder nur noch geschaut, wie er das FS-System automatisieren kann? ;)


      Lieben Gruß
      karl76
      "The BEST LOSER is the long-term winner." (Phantom of the Pits)

      ibelieve schrieb:

      ein backtest mit EOD daten wird bei diesem system immer sehr zweifelhaft bleiben.
      es wird sehr oft vorkommen das der kurs sich am ersten tag(kauftag) unter dem SL befindet und man wird beim backtest nie wissen ob es vor oder nach dem kauf war.
      Das ist richtig. Man weis mit reinen EOD Daten nicht ob der SL nicht vor dem Ziel getroffen wurde. Wenn man da auf nummer sicher gehen will und lieber "kaufmännisch" vorsichtig agieren möchte, wird man einfach definieren, wenn der Kurs unter dem SL war wird er auch gerissen. Das bedeutet man rechnet im Backtest immer mit der schlechtesten Situation. Ist der Backtest dann immer noch posotiv: Gut, dann dann kann es in der Realität ja nur noch besser werden.

      ibelieve schrieb:

      hier würde sich wohl AmiBroker anbieten.
      gibt es als eingeschränkte version kostenlos und man kann wenn man es den programmiert bekommt leicht auf IB zugreifen.
      Ich hab zwar immer gesehen, daß deine Charts von AmiBroker sind, habe aber nie mehr damit beschäfigt.


      LG
      TraderMik

      TraderMik schrieb:

      - Entwicklung, Test, Optimierung und Ordergenerierung des Handelssystem mit einer geeigneten Software (Favorit: Wealth Lab)


      ein backtest mit EOD daten wird bei diesem system immer sehr zweifelhaft bleiben.
      es wird sehr oft vorkommen das der kurs sich am ersten tag(kauftag) unter dem SL befindet und man wird beim backtest nie wissen ob es vor oder nach dem kauf war.

      (z.B. an Interactive Brokers über eine API.

      hier würde sich wohl AmiBroker anbieten.
      gibt es als eingeschränkte version kostenlos und man kann wenn man es den programmiert bekommt leicht auf IB zugreifen.
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/

      RealCasi schrieb:

      ...war spät gestern. Ein System, das "Frei Schnauze" heißt, kann nur diskretionär sein. :wacko:
      Hallo RealCasi,

      ich bin völlig damit einverstanden das es sicherlich Handelssysteme gibt die man nicht programmieren kann.

      Aber wie entsteht ein programmiertes Handelssytem. Da hat jemand eine Idee, bildet vermutlich aus der visuellen Betrachtung der Chart erste "diskretionäre" Regeln. Die Regeln werden konkreter und werden zu programmierbaren Regeln (Sicherlich gibt es auch Ansätze die rein mathematisch entstanden sind).

      Ob nun das entstandene System 100% der diskretionären Idee entspricht steht natürlich auf einem anderen Blatt. Aber was ist das Ziel? Das finden eines funktionierenden profitablen Handelssystems das seine Signale ausspuckt ohne sich um alle möglichen Nebeneinflüsse zu kümmern (zumindest ist das mein Ziel). Und bevor man es nicht versucht hat, weis man nicht ob es funktioniert. Drum finde ich die Diskrussion hier super und bin gespannt was entsteht.

      Sicher wird auch der diskretionäre Ansatz erfolgreich sein, es ist aber eben auch spannend zu sehen wie weit man ein auf diskretonären Ideen basierendes System automatisieren kann.

      LG
      TraderMik

      dani-biker schrieb:

      Was benötige ich für eine Software um so einen Handelsablauf zu programmieren?
      Kann ich das auch bei ETX Capital umsetzen?
      Hallo dani-biker,

      ich stehe auch noch am Anfang meiner Trading-Karriere insbesondere bei der Handelssystementwicklung. Programmiererfahrung mit verschiednen Programmiersprachen habe ich aber bereits. Wo ich mich noch schwer tue, ist die Umsetzung von Handelsideen in die konkreten Regeln für die Programmierung. Wie schon marmooli erwähnt hat, geht man ja von "hinten nach vorne" vor.



      Das Konzept das mit
      im Kopf rumschwebt sieht so aus:

      - Entwicklung, Test, Optimierung und Ordergenerierung des Handelssystem mit einer geeigneten Software (Favorit: Wealth Lab)

      - Die Orders für das aktive Handeln (z.B. EOD) werden in einer definierten Form und Struktur abgelegt. (z.B. als Text-Datei mit allen Parametern; Einstieg,Orderart, Positionsgröße, SL, TP, …)

      - Aus dieser Text Datei werden die Orders an den Broker übertragen (z.B. an Interactive Brokers über eine API. Möglicherweise könnte man auch einen EA für MetaTrader bauen der die Orders aufnimmt und an den Broker weiterleitet. Broker mit MetaTrader gibt es durchaus einige). Oder abe rauch die Orders einfach manuell beim Broker eingeben.

      Das heißt das eigentliche HS soll in einer Umgebung laufen und die Orders je nach Broker abgeliefert werden. So hat man auch jederzeit die Möglichkeit einen Broker zu wechseln, mehere Broker zu verwenden ohne das System neu zu programmieren für die Software des Brokers.

      Derzeit nutze ich die kostenlose Variante des NinjaTrader. C# finde ich als objektorientierte Programmiersprache recht angenehm. Auch basiert Wealth Lab (kostenpflichtig) auf C#, was einen Umstieg erleichtert. NinjaTrader hat auch einen Wizzard der die allerersten Schritte etwas erleichtert.

      Du mußt sicher das eine oder andere ausporbieren bis Du etwas findest was zu Dir passt.

      LG
      TraderMik
      Hallo zusammen,

      ich finde eure Initiative das FS-System zu automatisieren richtig toll und verfolge es mit sehr viel Interesse. Mit der Programmierung von Handelsabläufen habe ich mich jedoch bisher noch nicht beschäftigt. Gerne will ich aber versuchen, einen Anteil am Ganzen zu leisten. Dazu muss ich euch jedoch mal ein paar ganz grundlegende Dinge fragen.

      Was benötige ich für eine Software um so einen Handelsablauf zu programmieren?
      Kann ich das auch bei ETX Capital umsetzen?

      Mir wäre es in einem ersten Schritt schon sehr hilfreich, die Ausstiege (Stopp Loss, Take Profit und Zeitstopp) zu automatisieren sowie die Anpassung nach einem Tag des Stopp Loss und Take Profit nach einem Eröffnungsgap. Wie ich bereits gelesen habe, soll das gar nicht so schwer sein.

      Ich danke euch schon mal für eure Hilfe.

      Einen sonnigen Sonntag und viele Grüße,

      dani-biker
      Hallo!

      Ich habe mir auch ein Wenig Gedanken bezüglich der programmtechnischen Umsetzung der Regeln gemacht.

      Trotz keiner bis rudimentärer Progrrammierkenntnisse, habe ich mich jedoch mal daran versucht, etwas zu programmieren.
      Es ist weniger dafür gedacht, den perfekten Einstieg serviert zu bekommen, als dafür eine kleine Auslese der interessanten Werte zu machen.
      Bisher taugt es lediglich für Long-Positionen.
      Ob es das für euch tatsächlich tut, könnt ihr mit dem kostenlosen Zugang von ProRealTime und dem dortigen ProScreener ausprobieren.

      Ich hoffe, ich schreib hier nicht noch einmal das, was schon einmal gepostet wurde :wacko:

      Nun der Code:

      c1 = ((Close - Open) < (Close * 0.03) and (Close - Open) > 0)
      c3 = (((High - Close) / High) < (High * 0.005))
      c4 = ((Dhigh(1) > high) and (dhigh(2) > dhigh(1)) and (dhigh(3) > dhigh(1)))
      c5 = (Lowest[9](Low) < Close)
      Screener [c1 and c3 and c4 and c5]


      Kurze Erklärung:

      c1 soll dafür REchnung tragen, dass die Kerze freundlich und klein (ich habs mal mit kleiner 3% Schlusskurs definiert, damit nicht zu viel durch die Lappen geht - kann ja jeder für sich anpassen) ist

      c2 gibts nicht mehr; da hatte ich die Länge der Lunte definiert - war nicht so der Bringer

      c3 definiert, dass der Docht nicht größer als 0,5 % des Tageshöchstkurses sein soll

      c4 soll den Trend bestimmen (das ist alles andere als ausgereift); jedenfalls ist hier definiert, dass die Hochs der letzten drei vorangegangenen Tage höher als das Tageshoch sind

      c5 soll dafür sorge Tragen, dass das Tief der letzten neun Tage (wieder eine aus der Luft gegriffene Zahl) mit dem heutigen Schlusskurs nicht unterschritten wird


      Was die Zahlen anbelangt besteht mit Sicherheit Optimierungsbedarf (beim REst sicherlich auch), jedoch kann man eventuell ja ein wenig darauf aufbauen und es soll nur eine kleine Hilfestellung für diejenigen sein, die sich auch mal daran versuchen wollen.

      Grüße Candy

      P.S.: die Auslagerung in einen Programmierthreat wär vielleicht wirklich ratsam, um hier auch ein Wenig Platz für Signale und die Tradingstrategie freizuräumen 8o

      ibelieve schrieb:

      gab es hier zu schon überlegungen?


      nur mal auf die größe getestet um zu sehen was übrig bleibt.

      ich habe ca 850 US werte in der liste.

      ohne volumen filterbei ATR(10) = 90
      mit volumen filter bei ATR(10) = 43
      mit volumen filter bei ATR(10) * .8 = 43
      mit volumen filter bei ATR(10) * .6 = 33
      mit volumen filter bei ATR(10) * .4 = 15

      so habe ich das jetzt in AmiBroker
      im Moment nur für Long

      Quellcode

      1. Cond3 = C*V ;// money flow >= $50,000,000 for stocks//Long
      2. Volumen = MA(Cond3,10) >= 500000 ;
      3. ATRWert = 10;
      4. //such Bedingungen
      5. groesse = H - L < ATR(ATRWert)* .8 ;
      6. richtunglong = O < C ;
      7. longtiefervortag = H < Ref(H,-1) ;
      8. Buy = groesse AND richtunglong AND longtiefervortag AND Volumen ;
      9. Sell = 0 ;


      und so sieht der chart mit den möglichen signalpunkten aus
      Bilder
      • dfs.gif

        19,6 kB, 1.046×865, 258 mal angesehen
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/

      marmooli schrieb:

      Eine Kerze ist klein wenn das Verhältnis ihrer Länge zu 0,6*ATR(10) den Betrag x nicht überschreitet. Den Parameter x kann man dann als Diskussionssache betrachten und darüber reden.


      gab es hier zu schon überlegungen?

      Frage,
      wäre es vielleicht nicht sinnvoll das thema der programmierung aus zu lagern?
      insgesamt würde es die sache nach einiger zeit sicher übersichtlicher machen wenn ich mal irgend was im thread suche bzw. gibt es sicherlich auch leute die sich eigentlich nur für den einen oder anderen teil der sache interessieren.
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/

      RealCasi schrieb:

      Aber: Beim Task "welche der 10 hochgespülten Signale werden jetzt genommen" bleibe ich bei meiner Meinung, dass die "Erfahrung" oder der "Stil" einzelner Trader sich nicht (bzw. nicht mit realisierbarem Aufwand) abbilden lässt.


      mein reden von anfang an.

      ich wünschte mir ja schon immer eine klare auswertung von mehreren hier über erfolg oder nicht erfolg um zu sehen wie viel am system liegt und wie viel an Hintman.
      wenn leute mit unterschiedlichen werten nach 1 jahr beim ergebnis ziemlich gleich liegen kann man davon ausgehen das das system einen vorteil bringt. liegen die ergebnise aber weit auseinander kommt es doch nur auf das "auge" jedes einzelnen drauf an und hat nichts mit den regeln zu tun.

      hier wäre natürlich ein vollkommendes programmiertes system von vorteil.
      ich könnte als erstes alle gefundenen werte handeln und schauen was raus kommt,
      danach kann ich anfangen wahllos bestimmte werte die die bedingungen erfüllen raus zu filtern und schauen ob die ergebnise in etwa gleich bleiben würden was dann wohl auf eine robustheit des systems schliessen liese.

      was mein problem ist ist das ich jetzt schon weis das mehr als 70% der gefundenen werte an stellen kommen die ich von vorne herein nicht handeln würde weil mir der voran gegangene chartverlauf nicht gefällt. darin sehe ich bei der programmierung auch das größere problem. die 3 regeln des systems zu coden sollten nicht das problem sein. aber dem programm zu sagen wir befinden uns in einem klaren trend oder an einer stelle wo wir auch eine trendumkehr handeln können ist die kunst.

      ich glaube es sollte nicht so ein problem sein ein programm zu schaffen um 1000 werte vor zu filtern so das ich mir nur noch die kanditaten anschauen muss die vielleicht in frage kommen, es aber doch ein problem darstellt wirklich ein vollautomatisches system zu bauen was wirklich erfolgreich handelt.
      Die Wissenden reden nicht viel,die Redenden wissen nicht viel.

      klaus-m.blogspot.com/

      Noch 'ne Idee zum Signalfinder

      Hallo zusammen,

      in der laufenden Diskussion über den marmooli-Signalfinder steckt ja noch ein Aspekt:

      Die meisten bis alle hier - so viel ich weiß - filtern die formal korrekten Signale und platzieren nur 1-3 Orders pro Tag. Sieht ja auch erst mal sinnvoll aus.

      Idee/Frage/Anregung:
      Man nehme den Signalfinder, sobald er fertig ist, und handele in einem Paper-Account einfach _alles_, was er an Signalen ausspuckt. Entweder durchautomatisiert oder per Handeingabe.
      Das ganze sorgfältigst loggen und nach 250 Trades durch den Statistik-Wolf drehen. Es könnten sehr spannende Ergebnisse dabei rauskommen.

      Vielleicht sind wir alle doof, weil wir Signale auswählen, anstatt alles zu traden , was ein Signal ist, und der Paper-Account schlägt uns alle? (<-Extremszenario, aber wer kann es sagen)
      Oder - der Paper-Account geht in die Miesen, was unterstreicht, das der diskretionäre Moment doch der Wichtigste ist? (<-auch extrem, aber ebenso möglich)

      Gibt es einen Freiwilligen, der diesen Task übernehmen würde?

      LG
      Casi

      PS: Ich stecke nach zwei Wochen Urlaub ab Montag wieder in einer gepflegten 55-60h-Woche... Ich bin mir nicht zu fein für den Job, aber kann/möchte mir das nicht noch obendrauf schaufeln. Habe so schon viel mehr Ideen als ich umsetzen kann.
      Geld allein macht nicht glücklich. Zum Glücklichsein gehören auch Immobilien, Aktien und eigene Unternehmen. (Dagobert Duck)