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.

Mythos

Moderatoren
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Mythos

  1. OpenSource Communityproject. Gewinn wird unter den beteiligten aufgeteilt
  2. MetaTrader können die meisten hier, würde also Sinn machen. Außerdem is die Einstiegshürde recht gering (Gratis plattform etc.). Aber bin an sich für alternativen offen.
  3. Kinderkacke, wenn dann wird das Haus zur fliegenden Basisstation :D Bin kurz davor die Bakk Arbeit als Communityproject umzusetzen. Vielleicht nicht im öffentlichen Bereich... Jemand Interesse? Hab eh grad nit viel zu tun
  4. Und da wir jetzt vermutlich wegen "Auf Fragen wo ich keine Antwort erhalte muss ich nicht reagieren ;-) " wieder keine Reaktion erhalten: Das würde sich respektvolle Kommunikation nennen. Also nicht nur immer wieder Brocken hinwerfen sondern am gesamten Gespräch teilnehmen. Is sehr förderlich für ein gutes Miteinander... auch sehr wichtig damit das Team motiviert ist. Nur so als Idee für die Zukunft.
  5. Der Jänner ist rum, Zeit für ein Update. Damit ich hier nicht immer Performance-charts poste die geglaubt werden müssen, hab ich das Ganze mal mit myFXBook verknüpft: http://www.myfxbook.com/members/mythos/srscalper/1503811 Ich kann dort leider nicht nach den Magics filtern, sprich man sieht die gesamte History seit Start des Realtests im September. Die ersten Monate muss man vermutlich noch in den Bereich "experimentieren und kinderkrankheiten" legen. Dort wurden auch die Parameter noch gelegentlich geändert. Wie gesagt ist seit Dezember jetzt ein halbwegs stabiles System am Start. Und derweil geht die Kurve weiter nach oben. Seit dem letzten Zwischenbericht gabs nochmal einen Gewinn von 7,37 mit 14 Trades. (davon 11 Gewinner :D ) Somit sind die Verluste von Oktober, November und Dezember mehr als reingespielt worden. Wenns so weiter geht muss ich den Preis für den EA erhöhen
  6. Das kann ich zu 100% nachvollziehen. Solche Projekte, kommerziell oder nicht, funktionieren nur mit einem Team das mit herzblut dahinter steckt. Es mag auch sein das sich ein Student findet der in seiner Freizeit gerne mal sowas baut. Ich fände es nur Schade wenn dessen Fähigkeiten dann nicht entsprechend entlohnt/geschätzt werden. Vor allem weil ihr ein kommerzielles Produkt machen wollt. Wäre es ein Community-project, womöglich noch Open Source, dann wärs was anderes. Mein Interesse hast du nicht geweckt, aber ich wünsch dir trotzdem viel Erfolg.
  7. Geb ich dir Recht. Aber wenn die Zahlen aus der Bakk.-Arbeit im wesentlichen umsetzbar sind, und sie in ihrem Produkt das auch entsprechend getan haben, dann gibt es vermutlich eine Vielzahl an Anfragen. Da ist dann auch verständlich das sie nur auf die relevanten Inputs reagieren.
  8. Hallo Gürkan, was mich bei dem ganzen interessieren würde, und ich gehe davon aus das ich nicht der einzige bin: Ist es ein kommerzielles Projekt mit entsprechender Entlohnung? Da ihr ein Produkt entwickelt gehe ich einfach mal davon aus. Nach was sucht ihr, Freelancer für ein Projekt oder soll/muss es eine Fixanstellung sein? In welchem Rahmen bewegen wir uns hier finanziell? Ich bin Programmierer und würde ziemlich sicher in eure Zielgruppe fallen, aber ohne solche Rahmenbedingungen zumindest grob zu kennen, würde ich nichtmal anfragen. Von daher hilft es sicher wenn du hier ein paar Eckpunkte absteckst.
  9. Willkommen zurück im Forum. Ich bin grad ein bissl geflashed das man über so etwas eine Bakk-Arbeit in Mathematik schreiben kann. Sehr cool. Beim durchlesen fragt man sich nur ob Kristine bereits in der Karibik liegt oder noch ihr Geld zählen muss ;)
  10. Punkt 5: Offene Positionen bei Signalwechsel schliessen Der EA öffnet nur Positionen wenn gerade keine andere offen ist. Eine Position wird natürlich automatisch geschlossen wenn der TP oder SL erreicht ist. Zusätzlich wird nun in diesem Block nach einer einfachen Regel die Order ggf. geschlossen wenn das signal dreht. for(int zaehler=0;zaehler<OrdersTotal();zaehler++) { if(OrderSelect(zaehler,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderType()==OP_BUY && OrderMagicNumber() == MagicNumber && OrderSymbol()== Symbol() ) { if(Close[1]<ma) OrderClose(OrderTicket(),OrderLots(),Bid,3,White); break; } if(OrderType()==OP_SELL) { if(Close[1]>ma) OrderClose(OrderTicket(),OrderLots(),Ask,3,White); break; } } Diesmal wird sogar auf das Ergebnis von OrderSelect reagiert. Ansonsten ist der Code hier leider voll von Fehlern, deswegen schauen wir kurz was er vermutlich tun sollte: Grundsätzlich läuft der Code wieder über alle aktiven Orders, gehört die Order dem EA (MagicNumber und Symbol stimmen) wird überprüft ob es eine Long oder Short Order ist (OrderTyp() == OP_BUY bzw. OP_SELL). Dann wird erneut die Signalbedingung von Block 1 überprüft. Ist das Signal gegenläufig zur Orderrichtung, dann wird die Order geschlossen. Was läuft falsch: Die Überprüfung ob die Order überhaupt dem EA gehört, geschieht nur bei OP_BUY. Ist es eine Sell Order ist dem EA egal ob sie ihm gehört oder nicht, er schließt sie ggf. einfach.Nicht direkt ein Fehler aber sehr unschön: Anstatt den Wert von signal zu verwenden, wird die Bedingung erneut überprüft. Wird nun die Berechnung des Signals in Block 1 geändert, passt es nicht mehr mit dem Ausstieg zusammen.Es wird nicht auf den Rückgabewert von OrderClose reagiert. Aber Errorhandling bei den Order-Methoden ist zugegebenermaßen ein komplexes Thema und darf in einem einfachen Tutorial durchaus ignoriert werden.Ist eine Order gefunden, wird die Schleife beendet. Das funktioniert solange nur eine Order gleichzeitig offen ist. Aber der Kommentar suggeriert das "alle" geschlossen werden sollen. Wird also die Logik oben geändert sodass mehrere Positionen offen sein können, dann tut dieser Block nicht mehr was er soll. Da bei der Sell Order nicht auf die zugehörigkeit zum EA überprüft wird, funktioniert es schon nicht mehr, wenn parallel eine andere sell-order offen ist. Sowas ist richtig tötlich weil man es im Backtest nicht merkt, sondern erst wenn man (womöglich bereits auf live) mehrere EAs gleichzeitig laufen hat.mMn sollte der Code so aussehen damit er zumindest im wesentlichen tut was er soll: (immer noch ohne Errorhandling) for(int zaehler=OrdersTotal()-1;zaehler>=0;zaehler--) { if(OrderSelect(zaehler,SELECT_BY_POS,MODE_TRADES)==false) continue; if(OrderMagicNumber() != MagicNumber || OrderSymbol() != Symbol()) continue; if(OrderType()==OP_BUY && signal == "short") OrderClose(OrderTicket(),OrderLots(),Bid,3,White); if(OrderType()==OP_SELL && signal == "long") OrderClose(OrderTicket(),OrderLots(),Ask,3,White); } So, damit wär ich mit dem Code durch. Irgendwelche Fragen? @claudia: kannst du mit den Infos schon vermuten wieso er sich so verhält wenn die Periode auf 1 gestellt wird?
  11. Punkt 4: Orders aufgeben In diesem Block wird nun eine konkrete Order eröffnet. Hierfür wird auf variablen aus früheren Blöcken zugegriffen: signal, kauf, kursziel, stoppkurs und offeneorders. Zur Erinnerung: signal ist long oder short und gibt die aktuelle richtung vor, kauf ist der Preis zu dem die neue Order erstellt werden soll, kursziel der TP, stoppkurs der SL und offeneorders sagt uns wieviele Orders der EA gerade offen hat. if(kauf > 0 && offeneorders == 0 ) { if(signal == "long" ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,kauf,30,stoppkurs,kursziel,"Trend Longorder",MagicNumber,0,Black); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Kauforder geöffnet : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError(), kauf); return(0); } if(signal == "short" ) { ticket=OrderSend(Symbol(),OP_SELL,Lots,kauf,30,stoppkurs,kursziel,"Trend Shortorder",MagicNumber,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError(), kauf); return(0); } return(0); } An sich passiert hier nicht viel magisches. Eine neue Order darf nur eröffnet werden wenn der EA gerade keine andere offen hat (damit wird es nie mehr als 1 offene order gleichzeitig geben. Und wenn es einen kaufkurs gibt (Der spezielle Spezialfall in dem diese Bedingung nicht erfüllt ist, ist ne Art spezialaufgabe für die SilentReader ;) Ist das erfüllt darf/soll also eine Order geöffnet werden. je nach Wert von Signal ist dies eine Kauf Order (OP_BUY) oder Verkauf (OP_SELL). Man beachte das es sich nicht um stop oder limit orders, sondern eine Market Order handelt. Sprich sie soll sofort ausgeführt werden. Die Order soll im aktuellen Symbol (Symbol() ), mit Ordergröße Lots zum Preis "kauf" ausgeführt werden. Dabei ist eine Slippage von 30 erlaubt. Dieser Wert wird in Point angegeben, ist mMn aber sehr hoch. Für die Order wird gleich der SL und TP mitgegeben. Zusätzlich erhält die Order einen Kommentar und die EA-spezifische MagicNumber. Da es eine Market-Order ist, ist die Expiration natürlich 0 (nicht gesetzt). Die Farbe des pfeils für die Order im Chart wird noch auf Schwarz bzw. Rot gesetzt. Das ist nur für die Optik. Was auffällt is das minimale Fehlerhandling: Es wird zwar der Rückgabewert von OrderSend entgegen genommen (Die Ticketnummer der Order), aber im Fall eines Fehlers wird dieser nur ausgegeben und nicht darauf reagiert. Im Erfolgsfall wird eine entsprechende Nachricht mit dem Eröffnungspreis geloggt. Hier sieht man die 2. Variante wie man auf die Orders zugreifen kann: Mit SELECT_BY_TICKET und übergabe der Ticketnummer. Welche Fehler können beim Senden einer Order auftreten, im speziellen: welche Fehler werden hier sehr wahrscheinlich auftreten? Falsche Stoplevel In MT4 definiert jeder Broker einen gewissen Mindestabstand den Stops/Limits, SL und TP vom aktuellen Kurs/Eröffnungskurs haben müssen. ist jetzt der SL oder TP zu nahe beim Eröffnungskurs gibt OrderSend einen Error retourFalsche Lotsize. Die Lotsize muss zwischen LOT_MIN und LOT_MAX sein und ein Vielfaches von LOT_STEP sein. Ist dies nicht erfüllt gibt OrderSend erneut einen Fehler.Falscher Preis bei MarketOrder Im Fall einer MarketOrder muss der Preis dem aktuellen Bid/Ask vom Server entsprechen. Versucht man eine Order mit einem veralteten/falschen Preis zu eröffnen erhält man ERR_REQUOTE.Zu guter letzt wird die start() Funktion hier vorzeitig beendet falls versucht wurde eine Order abzusetzen. Im Endeffekt würde das dritte return(0) reichen, die anderen zwei sind in dem Fall redundant.
  12. Punkt 3: Prüfen ob Orders geöffnet: Der Block 2 gibt die aktuelle Richtung vor. Je nachdem ob gerade eine Position offen ist, wird dann in diese Richtung eine neue eröffnet oder nicht. Damit ist immer nur eine Position gleichzeitig offen. Dafür muss man aber erstmal überprüfen ob eine Order offen ist. Und das tut dieser Block. spannenderweise ist die temporäre Variable "zaehler" wiederum global definiert. Müsste sie aber nicht. Korrekterweise muss auch auf das Ergebnis von OrderSelect reagiert werden. Kann die Order nicht selektiert werden, sollte der nächste Index verwendet werden. Dieser Code macht genau dasselbe: int offeneorders=0; for(int zaehler=0;zaehler < OrderTotal();zaehler++) { if(!OrderSelect(zaehler, SELECT_BY_POS, MODE_TRADES)) { continue; } if (OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { offeneorders++; } } Der Index (zaehler) läuft über alle offenen Orders. Zunächst wird mit OrderSelect versucht diese Order zu "selektieren". SELECT_BY_POS bedeutet das zaehler der Index in der Liste der Orders ist. MODE_TRADES das aus den offenen Orders selektiert werden soll. Passiert hier ein Fehler, so retouniert OrderSelect false und per continue wird zur nächsten Order weitergesprungen. Danach wird überprüft ob die Order auch wirklich zu diesem EA gehört. Dafür wird einerseits überprüft ob die Order im aktuellen Symbol erzeugt wurde, und ob die MagicNumber zur MagicNumber des EA passt. Falls das alles passt, wird die Variable offeneorders hochgezählt. Im weiteren Verlauf sagt uns diese Variable dann ob gerade eine oder mehrere Orders von diesem EA offen sind oder nicht.
  13. Sorry für die lange Funkstille, bei mir tut sich gerade privat sehr sehr viel. Kurzes Recap: Der Dezember war nicht gerade herausragend für den EA. Es gab zwischendrin kleine Anpassungen bzgl. dem Trailingstop, aber an sich fährt er gerade parallel mit 2 Varianten (im wesentlichen nur unterschiedliche Clustersizes) im Livebetrieb. Seit 1.1. hab ich den TP jetzt etwas raufgedreht und das macht sich bezahlt. Heute wurde bei der großen Kerze um 13:00 eine ganze TP-Länge (in beiden Varianten) mitgenommen. Es war zwar ein Gap-Open, aber zum Glück war der EA auf sowas bereits vorbereitet, hat den geclearten TP neu gesetzt und sauber nach Hause gefahren. Inzwischen hab ich den Parallelbetrieb am Demokonto eingestellt. Die Ausführungen sind im wesentlichen gleich, vor allem auf diesem Timeframe und mit Limit-Orders gibt es nur bei Gaps etc. wirkliche Unterschiede. Da fallen die Unterschiede aufgrund der unterschiedlichen Daten viel stärker ins Gewicht. Ich habe Live bei Activtrades und Demo den Metaquotes eigenen Server. Und hier unterscheiden sich alleine schon die Backtestdaten. Nicht extrem, aber spürbar. Also bisherige Lehren: - Unterschied Live/Demo ist in höheren Timeframes (ab 15M) nicht schlimm. - Unterschied zwischen den unterschiedlichen Datenanbietern ist wie erwartet vorhanden. Leider ist es meist schwer vom jeweiligen Broker Quote-Histories zu kriegen. - Der mentale Unterschied zwischen Backtest und Live ist so extrem wie theoretisch erwartet. In der Praxis rechnet man dann aber zu Beginn doch nicht damit :D Ein DD fühlt sich plötzlich an wie ein Totalverlust und komplettes Versagen des EA. Man schraubt alle paar Tage herum, obwohl man sich geschworen hat ihn erstmal 2 Wochen mit den Startsettings zu testen etc... Hier noch die Diagramme für Dezember (in Summe -3.88 Profit) und Jänner bisher (9.72 Profit, davon 7,87 allein heute ;) Weiterer Plan: mal laufen lassen. Derzeit wirkt er ja ganz in Ordnung. Ich überlege noch einen Martingale ansatz reinzupacken, aber sonst scheinen ziemlich alle Optionen ausgeschöpft. ggf. noch eine dynamische Anpassung der Level-Referenz an die ATR oder so... aber erstmal laufen lassen :D Noch ein paar Kennzahlen für die Statistik freaks: Dezember: 61 Trades, PF 0.82, Avg. -0.06 Jänner (bisher): 32 Trades, PF 1.78, Avg. 0.30 seit 1.12. gesamt: 97 Trades, PF 1.14, Avg. 0.05, Netto 4.89 Gewinn Zugegeben, nicht die Zahlen eines Grals, aber bei 1% Risk per Trade 2% Profit in 2 Monaten, ist mMn ganz ok ;)
  14. Punkt 2: Einstiegsmarken, Kursziel und Stopp ermitteln Hier macht der Entwickler etwas, das offensichtlich nur aufgrund der Fehlertoleranz von MQL4 funktioniert (ich wusste gar nicht das das geht). Er deklariert Variablen innerhalb eines if-blocks, und verwendet sie außerhalb weiter. Zusätzlich sind die Kurse in MT4 immer gleitkommazahlen, also vom Datentyp double, nicht int. Auf Märkten mit Pip Korrekterweise müsste der Code so aussehen (die initialisierung auf 0 ist in MT4 nicht zwingend nötig, aber macht den Code mMn lesbarer): double kauf= 0; double kursziel= 0; double stoppkurs= 0; if (signal == "long") { kauf = Ask; kursziel = kauf + Kursziel_in_Punkten; stoppkurs = kauf - Stopp_in_Punkten; } if (signal == "short") { kauf = Bid; kursziel = kauf - Kursziel_in_Punkten; stoppkurs = kauf + Stopp_in_Punkten; } Hier werden die entsprechenden Werte für das erstellen einer Order gesetzt. Je nachdem ob ein long oder short signal vorliegt wird der entsprechende Einstiegspunkt gewählt. Der EA steigt Market ein, somit ist der aktuelle Bid/Ask der Einstiegspunkt. Aufgrund dessen wird dann TP (kursziel) und SL (stoppkurs) berechnet. Hier ist auch zu beachten das Kursziel und Stopp in ganzen Punkten (nicht in Pip) angegeben wird. An der Forex ist sowas natürlich nicht sinnvoll weil eine Stopploss-entfernung von mind. 1.0 bei einem Kurs (zB EURUSD) von 1.09 eher sinnfrei ist ;) Zu beachten ist auch das dieser EA immer ein Signal hat, nicht nur bei einer Kreuzung. Wie mit dem Signal umgegangen wird schauen wir uns im nächsten Block an.
  15. Punkt 1: Signale ermitteln Zuerst wird mittels der eingebauten Funktion iMA der gleitende Durchschnitt (MODE_SMA) auf das Close (PRICE_CLOSE) der letzten 20 Bars des aktuellen Symbols (erster Parameter = NULL) im aktuellen Timeframe (zweiter Parameter = 0) berechnet. Hier ist zu beachten das der shift (letzter Parameter) 0 ist, somit wird auch immer der aktuellste Bar mit berücksichtigt. Da sich dieser noch ändert, kann es leicht passieren das ein Signal mitten im Bar existiert (und eine Order auslöst) aber am Ende im Backtest nicht mehr nachvollziehbar ist. double ma = iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,0); Nun wird überprüft ob der Close des letzten Bars über oder unter diesem Mittelwert liegt. Liegt er darüber -> Longsignal, darunter -> Short.Im Gegensatz zum MA wird hier der aktuellste Bar nicht berücksichtigt, sondern das Close des letzten vollendeten Bars genommen. if(Close[1]> ma) { signal = "long"; } if(Close[1]<ma) { signal = "short"; } Die variable "signal" ist global (sprich außerhalb der Funktion deklariert). Das spielt nur in einem sehr speziellen Fall eine Rolle. Bei jedem Aufruf von start() gibt es 2 Fälle:- Close[1] ist ungleich ma und somit wird signal auf long oder auf short gesetzt. - In dem seltenen Fall das Close[1] == ma ist, würde signal keinen Wert erhalten. Da es aber global ist, bleibt der Wert vom letzten Aufruf erhalten.
  16. Hi, der Vorteil vom Forum ist ja, das jeder Schreiben kann wann er Zeit hat, es müssen nit alle gleichzeitig on sein ;) Damit es im weiteren Verlauf für alle klar ist: Wir analysieren hier einen Beispielcode von daxsignal.de copyright liegt bei ihm: #property copyright "Luis Lorenzo" #property link "http://www.daxsignal.de" Zum EA: Praktischerweise ist alles in der start()-Funktion zusammengefasst. Und dort mit Kommentaren in Blöcke unterteilt: Signale ermittelnEinstiegsmarken, Kursziel und Stopp ermittelnPrüfen ob Order oder Pos geöffnet sindOrder aufgebenIch würde sagen wir gehen es einfach Punkt für Punkt durch. Sicher auch für die stillen Mitleser interessant.
  17. Hi, bzgl. dem Stoplimit etc.: das Errorhandling bzw. einhaltung der diversen limits (auch lotsize etc.) ist ein etwas größeres Thema in MT4. Wir haben zu dem Thema einmal die TradeBox gebaut, die das ganze kapselt. Der Code ist für Anfänger vielleicht etwas heftiger Tobak, aber der Nutzen sicher recht hoch. Nochmal die Frage: willst du den Code des Tutorials verstehen oder an einer eigenen Idee basteln? Hat beides seine Berechtigung. Falls es ums verstehen des Tutorialcodes geht, dann sollten wir uns den Code hier im Detail anschauen. ich weiß nicht wie es mit dem copyright aussieht. Du könntest einfach mal den direkten Link posten, damit jeder im Thread auf dem gleichen Stand ist, und dann "zerlegen" wir den Code gemeinsam in die Einzelteile. In dem Fall würde ich die Posts dann in einen eigenen Thread auslagern. Falls es direkt um die eigene Idee geht, machen wir am Besten auch einen neuen Thread auf. Aber jetzt liegt die Entscheidung mal bei dir, was darfs sein?
  18. Hi und willkommen im Forum, fragen wir mal anders: was willst du denn erreichen? Gehts um funktionalität aus dem Tutorial? ansonsten wärs vermutlich besser direkt an die "Quelle" zu gehen ;)
  19. Hmmm also mehr Userzahlen generieren is theoretisch einfach: Rechtsextreme Postings, pornos etc. irgendwas, das in die Schlagzeilen kommt... Dann hast sicher schnell traffic. Aber diesen Traffic wollen wir ja nicht. Qualitätstraffic generieren, der auch noch hochwertige Beiträge liefert ist sauschwer. Vor allem wenn alle nur lesen :(
  20. Mythos antwortete auf Vola's Thema in IT, Internet, Tech
    Jup ich habs installiert. Über das warum kann man lange schreiben und argumentieren. Für mich haben die Argumente dafür eindeutig überwogen. Bisher bin ich zufrieden. Über meine detaillierte Meinung zu Windows 10 und der Richtung in die sich derzeit die meisten großen Betriebssysteme entwickeln, bin ich mir selbst nicht ganz klar ;) Es geht alles stark in die Richtung Komplexität vor dem User zu verstecken. Was auf der einen Seite gut und nötig ist, auf der anderen Seite natürlich große Gefahren mit sich bringt...
  21. Seh ich genauso. Was mir am meisten Gedanken macht, ist das ich keine Ahnung hab wie wir ihn beenden können...
  22. Vorerst gibts nicht viel zu berichten, außer das die Fälle von "unerwartetes Verhalten führt zu Vorteilen im Live" zunehmen: Beispiel gestern: Im EURUSD bildet sich ein double-bottom. Bei den MetaQuotes Daten nicht exakt am gleichen Level, Bei ActiveTrades sind beide Lows exakt gleich. Das führte dazu, dass das Level bei AT nicht erkannt und getradet wurde. In diesem Fall positiv, denn es wär in die Hose gegangen (was es im Demo auch ist). Also: Hooray Live :D Parallel versuche ich die wenige Zeit für ein paar Versuche mit Buffern, TrailingStop etc. zu nutzen. Aber vorerst nix neues. Das System ist grad super-langweilig :D
  23. Inkl. Sourcen, dafür ohne Gewähr und "as is"
  24. Endlich wieder einmal ein halbwegs freies Wochenende und das "eigentlich bin ich schon reich" Spiel geht in die nächste Runde. Heut hab ich einerseits ein paar sicherungen zum System hinzugefügt, die solch ein undefiniertes Verhalten wie letzten Freitag bei gap-entries verhindern sollen. Und ich hab ein paar programmierfehler entfernt die dafür gesorgt haben, dass das System ein bissl was anderes getan hat als gedacht. Man muss dazu sagen das es dadurch nicht profitabler wurde, aber egal. Dann hab ich gestärkt durch die neue Korrektheit ein bissl mit der Logik gespielt, auch mit der Gewichtsberechnung und was heraus kam kann sich sehen lassen. Es gibt zwar in den OOS immer wieder DD-Phasen die auch eine längere Zeit dauern können, aber es erholt sich immer wieder. Entwickelt (optimiert) hab ich auf Jän - Aug 2015. Hier die OOS Tests. Jeweils mit einem sehr konservativen Risikomanagement von grob 1% Risk per Trade. 2013: 21% Gewinn, PF: 1.4 MaxDD: 5.5% 2014: 20% Gewinn, PF 1.43 MaxDD: 5.9% und weils so schön ist noch der optimierungszeitraum 2015: 49% Gewinn, PF 3.1 MaxDD: 2,28% Ebenfalls OOS ist Sept-Okt 2015, auch sehr schön: 15% PF 4.38 MaxDD: 2% Also wer interesse hat: Das System steht für (angesichts der Performance lächerliche) 1000 Euro zum Verkauf Ab morgen läuft die neue Konfiguration im Livetest, ich meld mich dann nächsten Monat von den Caymans
  25. Holy Crap was war denn heute los? Also der EA läuft seit Mittwoch wieder, und es sieht besser aus :D Die letzten Tage nur Gewinner (nur 3 Stück und in Summe 96 Cent, aber besser als Verluste). Und dann kam der Riesen move heute mittag. Das System hatte einen Sell-Stop bei 1.08316 mit TP bei 1.08066 und SL bei 1.08566. Im Demo wurde der Stop um 13:29 geknackt, der Kurs lief sofort wieder massiv retour und um 13:30 viel der SL bevor der Riesenmove passierte... Wär ein klassischer Fall von dumm gelaufen. Aber im Livebetrieb gabs einen Market Gap, Der Stop wurde erst bei 1.07868 ausgeführt, wegen dem Gap wurde der TP gelöscht (Im Kommentar der Order steht jetzt "TP cleared due to market gap"), aber der SL natürlich auf der weiten Entfernung gehalten... Eigentlich Risikotechnisch ein ziemliches Horrorszenario das ich codetechnisch noch abfangen muss, in dem Fall wär der BE reingehüpft, aber bis dahin sollte der Stop nie so extrem weit weg sein. Im konkreten Fall ist es so ausgegangen das der Kurs nach dem Gap die Bewegung massiv weitergeführt hat. Da der TP weg war, wurde nicht "vorzeitig" geschlossen, sondern es lief der Trailing Stop nach bis der erste größere Rücksetzer kam. Und das war glücklicherweise erst bei 1.07373 -> 4.61 Euro Gewinn Anbei noch der Vergleich der Ausführung zwischen Real und Demo. Normalerweise sind die realen Ausführungen mit Requotes und Gaps etc. ja zum Nachteil des Traders. In dem Fall wurde aus -25Pip satte +49,5. In Summe bin ich derweil noch negativ, aber die Richtung stimmt :D Links ist Live, Rechts die Demo:

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.