Geschrieben 31. März 200917 Jr. comment_61189 http://www.fxmarkets.de/chart/pivot.htm Ein sehr leicht zu implementierendes System, finde ich. EOD-Daten sind ausreichend, um die Pivot-Points zu berechnen; zum Backtesten sollte man aber auch Intradaydaten haben. Melden
Geschrieben 31. März 200917 Jr. comment_61191 Sehr interessant. Vielen Dank. Bin auch gerade dabei Systeme auf Pivot-Point-Basis zu testen, bisher ohne großen Erfolg.Werde das System mal implementieren. Welche Erfahrung haben denn andere schon mit Pivot-Point-System gemacht?Lohnt es sich überhaupt, gerade am Forex-Markt, mit den PP zu arbeiten ...... kann man das soweit automatisieren? Danke und beste GrüßeDT Melden
Geschrieben 31. März 200917 Jr. comment_61269 Hi, also ich trade meistens mit den Pivotpointen in EUR/GBP & EUR/USD, allerdings nie ohne den Chart aus den Augen zu lassen.Denn 100% auf die Theorie vertrauen, wuerde ich dann doch nicht. Melden
Geschrieben 2. April 200917 Jr. comment_61522 http://www.fxmarkets.de/chart/pivot.htm Ein sehr leicht zu implementierendes System, finde ich. EOD-Daten sind ausreichend, um die Pivot-Points zu berechnen; zum Backtesten sollte man aber auch Intradaydaten haben.Sooo einfach finde ich es nicht, bin aber auch noch kein Profi im MT4 programmieren. Bastel auch gerade mit Pivots rum und stelle mir die Frage, ob es möglich ist, mit einem EA mehrere Orders parallel abzuhandeln. Ein an den Link angelehntes Beispiel wäre ja: gehe 3x long, wenn Pivot von unten nach oben durchstoßen wird und verkaufe einen bei R1, einen bei R2 und einen bei R3. Ist nun eine ganz einfache Idee, bei mir mangelt es halt nur noch an der praktischen Umsetzung mehrer paralleler Trades mittels EA. Bin zumindest sehr am Ideen- / Arbeitsaustausch interessiert . Melden
Geschrieben 2. April 200917 Jr. Autor comment_61526 Sooo einfach finde ich es nicht, bin aber auch noch kein Profi im MT4 programmieren. Bastel auch gerade mit Pivots rum und stelle mir die Frage, ob es möglich ist, mit einem EA mehrere Orders parallel abzuhandeln. Ein an den Link angelehntes Beispiel wäre ja: gehe 3x long, wenn Pivot von unten nach oben durchstoßen wird und verkaufe einen bei R1, einen bei R2 und einen bei R3. Ist nun eine ganz einfache Idee, bei mir mangelt es halt nur noch an der praktischen Umsetzung mehrer paralleler Trades mittels EA. Bin zumindest sehr am Ideen- / Arbeitsaustausch interessiert . Deswegen hatte ich mir ja überlegt, dass das vielleicht ne gute Grundlage für nen Community-Projekt sein könnte( spontane Idee). Ich finde schon, dass die Grundidee (Berechnung der Pivotpunkte) relativ einfach zu implementieren ist, verglichen mit vielen komplizierteren Sachen ^^, alles ist ja bekanntlich relativ . Dass es natürlich im Metatrader auf dem Weg zum vollautomatischen Tradingsystem zu beliebiger Komplexität aufgeblasen werden kann.... hihi, ist auch klar. Ich hoffe schon, dass wir das als Projekt machen können: so step-by-step, damit am Ende ein schönes, anfängertaugliches Tutorial und ein Berg zunehmend komplexerer MT-Programme rausfällt - vom einfachen Indikator bis hin zum Gewinnersystem der ATC (wenn es nach Whipsaw geht , aber Cheffe neigt ja manchmal zu Tagträumen ). Melden
Geschrieben 2. April 200917 Jr. Autor comment_61527 Ein an den Link angelehntes Beispiel wäre ja: gehe 3x long, wenn Pivot von unten nach oben durchstoßen wird und verkaufe einen bei R1, einen bei R2 und einen bei R3.Jup, ich kenn einige im Aktienboard, die das so machen. Teilverkäufe bieten sich bei Pivots definitiv an. Könnte man bei dem Tutorial am Ende ja auch machen: wie vergleicht man verschiedene Systeme, denn ich wette, jedem User, der mal bisschen schärfer auf die Pivot-Punkte draufguckt, fällt ne andere Handelssystemidee ein. Aber welche ist die beste ? Nur nen bestimmten Zeitraum testen und der größte Betrag am Ende ohne Minuszeichen davor gewinnt ?Das kann man zwar so machen, aber da gibt's auf jeden Fall bessere Methoden bzw. noch andere Maßzahlen zum Performancevergleich, die man gleich mal an nem praktischen Beispiel (den 5-10 verschiedenen Pivot-Tradingsystemen) durchsprechen könnte und in nen Tutorial pressen. Ich denke, da lernen fast alle noch was dabei. Melden
Geschrieben 2. April 200917 Jr. comment_61535 Jup, ich kenn einige im Aktienboard, die das so machen. Teilverkäufe bieten sich bei Pivots definitiv an.[...] Super - wenn mir/uns da jemand helfen könnte, wäre das Klasse. Die Berechnung der Pivots für den Metatrader habe ich übrigens schon fertig . Bearbeitet 2. April 200917 Jr. von conglom-o Melden
Geschrieben 2. April 200917 Jr. Autor comment_61538 Super - wenn mir/uns da jemand helfen könnte, wäre das Klasse. Warum schickst Du nicht 3 OrderSend-Befehle los, jeweils mit Entry=Pivot, SL=, TP=R1 bis TP=R3. Als Positionsgröße jeweils z.B. 1/3 der Gesamtposition. Wenn Du nicht mit Trailingsstops arbeitest, ist das sozuagen ne Fire-and-Forget-Variante. MT kümmert sich dann schon drum, dass bei Erreichen des jeweiligen Takeprofit-Wertes die Position geschlossen wird. int ticket; int SL = Ask-X; // Long-Bedingung erfüllt ? if(Bid > PivotPoint && OrdersTotal() == 0) { //läuft bis R1 ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,R1,"Long Pivot| TP R1",16384,0,Green); if(ticket { Print("OrderSend failed with error #",GetLastError()); return(0); } //läuft bis R2 ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,R2,"Long Pivot| TP R2",16384,0,Red); if(ticket { Print("OrderSend failed with error #",GetLastError()); return(0); } //läuft bis R3 ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,R3,"Long Pivot| TP R3",16384,0,Blue); if(ticket { Print("OrderSend failed with error #",GetLastError()); return(0); } }Mehr dazu in der MT-Doku. Ist nur nen Beispiel-Code, hab ich nicht getestet, nur als Anregung, was m.M. nach am schnellsten geht. Melden
Geschrieben 2. April 200917 Jr. Autor comment_61539 Das Forum ist echt langsam in letzter Zeit bei mir. Normalerweise editier ich ja noch ewig in meinen Posts nach bis ich fertig bin, aber das geht jetzt nimmer. Melden
Geschrieben 2. April 200917 Jr. comment_61555 Nehmt doch den Indikator ... http://codebase.mql4.com/5207 ... Sehr übersichtlich im Chart und im Code und einfach gehalten. Mehrere Orders würde ich auch über mehrere Send-Befehle absetzen. Allerdings kann mandoch die Anzahl der CFDs auch über die LotSize steuern, oder? Ich gehe einfach mal starkdavon aus, dass der Parameter Lots beim OrderSend bzw OrderClose-Befehlauch Teilverkäufe zulässt ... Leider bin ich noch nicht dazu gekommen mich mit dem Projekt intensiv auseinander zu setzen ... Bearbeitet 2. April 200917 Jr. von DarthTrader Melden
Geschrieben 3. April 200917 Jr. comment_61621 Mehrere Orders würde ich auch über mehrere Send-Befehle absetzen. Allerdings kann mandoch die Anzahl der CFDs auch über die LotSize steuern, oder? Ich gehe einfach mal starkdavon aus, dass der Parameter Lots beim OrderSend bzw OrderClose-Befehlauch Teilverkäufe zulässt ... Stimmt, mit OrderClose kann man eine Order teilweise löschen. Aber wenn man schon beim senden der Order weiß wo man sie wieder schließen wird, sollte man diese Information auch nutzen.Vor allem (wie Krümel schon gesagt hat) weil man sich damit nix antun muss was das schließen angeht. Zum System: ich denk ein zeitgesteuerter Ausstieg/Trailingstop/BreakEven würd auch nicht so schlecht dazupassen. Hat sich schon wer freiwillig gemeldet den EA für das Tutorial zu schreiben (also eine Grundlage auf der wir rumhacken *räusper* ich meine verbessern können)? (nein das war keine Meldung meinerseits ;) Melden
Geschrieben 3. April 200917 Jr. Autor comment_61630 Mehrere Orders würde ich auch über mehrere Send-Befehle absetzen. Allerdings kann mandoch die Anzahl der CFDs auch über die LotSize steuern, oder? Ich gehe einfach mal starkdavon aus, dass der Parameter Lots beim OrderSend bzw OrderClose-Befehlauch Teilverkäufe zulässt ... Leider bin ich noch nicht dazu gekommen mich mit dem Projekt intensiv auseinander zu setzen ... Aber dann muss man die Order(s) vom Code aus überwachen und bei Erreichen der verschiedenen Takeprofit-Punkte (R1-R3) per OrderClose Teilpositionen schließen/auflösen. http://docs.mql4.com/trading/OrderClose Da ich eigentlich immer Lösungen bevorzuge, wo möglichst viel beim Broker liegt (Stopp-Orders, TP-Orders) und möglichst wenig im Client , finde ich die erste Variante sicherer. Aber wie immer führen natürlich viele Wege nach Rom. Melden
Geschrieben 3. April 200917 Jr. Autor comment_61641 Hat sich schon wer freiwillig gemeldet den EA für das Tutorial zu schreiben (also eine Grundlage auf der wir rumhacken *räusper* ich meine verbessern können)? (nein das war keine Meldung meinerseits ;)Ich hab mich fürs Tutorial schreiben gemeldet. Ihr könnt also gerne würfeln, Stöckchen ziehen oder einen oder mehrere von Euch nach vorne schubsen. Melden
Geschrieben 3. April 200917 Jr. comment_61644 Generell würde ich es machen. Es ist auf meiner ToDo-Liste. Da ich zeitlichmomentan aber sehr eingespannt bin (ja, auch am Wochenende )kann ich keinen Termin zusagen .. mal sehen, ob ich die nächsten Tage dazukomme ... Melden
Geschrieben 3. April 200917 Jr. comment_61664 einen oder mehrere von Euch nach vorne schubsen. *einen Schritt nach hinten geht* @DT: Termin gibt es hier sowieso keinen oder? Ich helf auch gern bei der Verbesserung/Kompletierung des Codes. Melden
Geschrieben 3. April 200917 Jr. Autor comment_61667 Ich kann ja in den nächsten Tagen mal eine Grundstruktur für das Tutorial schreiben, so wie ich es mir didaktisch wertvoll vorstelle, und wir können es mal durchdiskutieren, was noch reinsoll, wichtig für Anfänger ist etc, oder wo ich mal wieder übers Ziel hinausgeschossen bin . Da kommen ja dann diverse Codebausteine rein, z.B. nen Indikator, dann mit Alarm, dann mit RM/MM, eventuell Pyramidenbauen/einreißen etc. Das ist jetzt nix, was übernacht entsteht. Vielleicht findet sich ja dann einer, der den Indikator schreibt. Die Folgeschritte stehen ja dann auch fest. Oder einer stellt spontan fest, dass er jetzt unbedingt ganz akut den Alarm-Teil reinprogrammieren will. Meine Idee ist ja, dass ähnlich wie beim Staffellauf einer den Stab (Code) übernimmt/aufgedrängt bekommt ;), seinen Teil reinschreibt, dann diskutieren wir die Lösung und noch ein paar Alternativen (wenn es solche gibt) und ich schreib dann den Tutorialteil dazu (oder einer von Euch, wenn Ihr das tiefe Bedürfnis in Euch hochsteigen fühlt ). So sollte es für die einzelnen Leute recht wenig Arbeit sein und jeder, der mag, kann sich nen kleines "Teilprojekt" raussuchen. Ich rechne auch nicht damit, dass wir in nem Monat fertig sind , da Leute doch auch nen Privatleben/Job etc. haben. Aber Milestones stehen fest und wenn einer merkt, er schafft was zeitlich nicht, kann sich ein anderer ganz spontan (zur Not per Gruppendruck) bereiterklären lassen und es machen. Parallelentwicklungen würde ich aber gern vermeiden, das ist nicht so gut für die Motivation. Melden
Geschrieben 3. April 200917 Jr. comment_61721 So, habe mal fünf Minuten gehackt (oder war es doch länger), um meinen Worten Taten folgen zu lassen.Die Umsetzung 1:1 des Scripts ist sicherlich nicht möglich, da zu viele Freiheitsgerade existieren. Das bedeutet, wir müssen uns schon Gedanken machen, was wir in das Pivot-System einbauen wollen.Ich habe den "Pivot Points - Daily (Shifted)" Indikator" für die Berechnung der Punkte verwendet. Dieser erzeugt sehr schöne Linien im Chart und man muss sich um die Logik nicht mehr selbst kümmern. Pivot_Points___Daily__Shifted_.mq4 Als Code-Vorlage habe ich einen von mir verwendete genommen, über Sinn und Unsinn von Einrückungen, Kommentarenkann man streiten, sie ändern oder so belassen. Fühlt Euch frei hier Hand anzulegen ... der Code mit Euch.Coding-Convetions bringen m.E. nur etwas, wenn sie aut. festgelegt werden können oder zumindest über einenFormatter erstellt werden. Sorry ... is leider so ... Parameter sind alle im Code erklärt. BreakEven, TrailingStop, ProfitTarget ist vorgesehen, Orders umd die PP-Liniewerden über die TradeBox abgesetzt. Ich konnte noch nicht viel Testen, es sind bestimmt noch viele Fehler vorhanden.Eine Trendbestimmung über einen SMA ist auch eingebaut ... bringt aber glaube ich nicht so viel. Setzen des Params auf 0,führt dazu, das keine Trendbestimmung erfolgt. TN_EA_PivotPoints.mq4 Viel Spaß damit und ein tolles WochenendeDarthTrader Melden
Geschrieben 4. April 200917 Jr. Autor comment_61744 So, habe mal fünf Minuten gehackt (oder war es doch länger), um meinen Worten Taten folgen zu lassen.Super ! Ich erlaube mir dann mal, Deine Skripte als Ausgangsbasis zu nehmen und in den Entwurf des Tutorials mit einzubeziehen. Am Wochenende hab ich zwar noch Besseres vor :P, aber ab Montag setz ich mich ran. Viel Spaß damit und ein tolles WochenendeDankschön. Dir auch . Melden
Geschrieben 4. April 200917 Jr. comment_61768 Hi, ich hätt ein paar Anmerkungen:Wieso verwendest du den daily_shifted? bzw. wieso shiftest du um 1? Ich würde vorschlagen wir verwenden für das Tutorial einen etwas einfacher gestrickten Indi, der nur das tut was wir brauchen. hab mal schnell was gehackt: iTNPivotPoint.mq4 zugegebenermaßen sehr rudimentär, tut aber was wir wollen und man muss die Pivotpoints nicht nur auf Tagesebene berechnen, sondern kann beliebige TimeFrames verwenden. weiters hab ich alle 3 Berechnungsmethoden von dem Link eingebaut. Die TradeBox heißt "lTradeBox".... l wie library ;) zum System (sind wir schon bei dem Thema oder erstmal beim codeanalysieren?):beim initialisieren eine zufällige MagicNumber zuweisen ist imo suboptimal. einerseits garantiert dir das nicht das du konflikte mit anderen EAs kriegst, andererseits hast du somit keinen Zugriff mehr auf die Orders des "eigenen" EA sobald du ihn neustarten musst. Ich würde den Stoploss nicht so "technisch" auf eine fixe Entfernung setzen sondern eher auf R1/S1, würde glaub ich besser zum System passen. Hab grad leider nit mehr Zeit, meld mich wenn ich wieder mehr Zeit hab. Melden
Geschrieben 4. April 200917 Jr. comment_61775 Für den ersten Test ist der Shifted-Indikator ausreichend. Der Code hat mir dazu ganz gut gefallen.Viele Kommentare, übersichtlich ... http://codebase.mql4.com/5207 Gerne können wir Dein Werk nehmen, da haben wir dann mehr Einfluss drauf.Zumal schon verschiedene Varianten berücksichtigt sind ... danke dafür ... Folgende Anmerkungen habe ich:- Ich würde die Linien bei jedem Wechsel neu zeichnen, das ist im Chart übersichtlicher- Weiterhin würde ich eine Bezeichnung, wie beim Shifted-Indikator zeichnen, ist ebenfalls einfacher- Weiß als Linie ist eher suboptimal, da einige auch einen weißen Charthintergrund haben ... wie ich ... Mein Code kannst Du gerne anpassen, da ich, wie schon angesprochen gestern nicht viel Zeit hatte. Bzgl. der MagicNumber hast Du recht, man kann allerdings die MathRand()-Funktion weglassen, dann funktioniert es ganz gut. Bei den Stopps habe ich mich an die Anleitung gehalten. Wie gesagt kann alles geändert werde ... feel free ... Melden
Geschrieben 4. April 200917 Jr. comment_61776 Neueste Version ... //| Author : DarthTrader //| Version: 0.6//| Changes: Trading-Zeiteingrenzung möglich, MagicNumber verbessert, Name der TradeBox angepasst auf lTradeBox//| Date : 04.04.2009 TN_EA_PivotPoints.mq4 Melden
Geschrieben 4. April 200917 Jr. comment_61783 //| Author : DarthTrader //| Version: 0.7//| Changes: iTNPivotPoint.mq4 eingebaut//| Date : 04.04.2009 TN_EA_PivotPoints.mq4 Melden
Geschrieben 5. April 200917 Jr. comment_61791 erstmal danke für die neuen Versionen, geht ja richtig fix Für den ersten Test ist der Shifted-Indikator ausreichend.Stimmt, ich würd aber einen Shift von 0 und nicht 1 verwenden (unsere Tage beginnen ja bei 00:00 oder?) Folgende Anmerkungen habe ich:- Ich würde die Linien bei jedem Wechsel neu zeichnen, das ist im Chart übersichtlicher- Weiterhin würde ich eine Bezeichnung, wie beim Shifted-Indikator zeichnen, ist ebenfalls einfacher- Weiß als Linie ist eher suboptimal, da einige auch einen weißen Charthintergrund haben ... wie ich ...Ich hab den Indi geschrieben damit er aus einem EA heraus gut verwendet werden kann, deswegen auch keine wirkliche "Kosmetik" ;). Inzwischen überleg ich ob ich nicht den TimeFrame weglasse und den Pivot für jeden Bar neu berechne. Damit wäre der Indi schneller und simpler, und im EA würd sich nix ändern. Noch ein paar Anmerkungen zum Code:tbCloseOrder (OrderTicket(), OrderLots(), 3, 5); exitErfolgreich = true;ist missverständlich. wenn man wirklich überprüfen will ob die order erfolgreich geschlossen wurde, sollte man den Rückgabewert des tbCloseOrder verwenden. zum getOrdersTotal(MagicNumber):Wenn man 5 Order mit der MagicNumber hat ist nicht garantiert (und meist auch nicht der Fall), das diese 5 als erstes in der Liste der Orders auftauchen. wenn man also nur die ersten 5 Orders betrachtet wird man fast immer ein paar eigene übersehen... Melden
Geschrieben 5. April 200917 Jr. comment_61794 Ich habe den Beitrag in's Lab verschoben. Ich hoffe das ist ok. Wenn nicht, bitte um kurze Info. Melden
Geschrieben 5. April 200917 Jr. Autor comment_61797 erstmal danke für die neuen Versionen, geht ja richtig fix Stimmt ! Stimmt, ich würd aber einen Shift von 0 und nicht 1 verwenden (unsere Tage beginnen ja bei 00:00 oder?)Na ja, bei Forex schon (aber da ist das Ende mit 0:00 eher willkürlich, denn es läuft ja da gleich weiter). Da Pivot-Punkte aber auch und v.a. gut bei "Wir machen hier mal bissl Pause und eröffnen dann mit Gap"-Werten funktioniert (Dax z.B., und bei manchen MT-Brokern gibts ja auch Dax-CFDs) fände ich es gut, wenn man den Zeitpunkt der Berechnung einstellen kann und auch den Timeframe. Cool wäre auch: Die 3 verschiedenen Pivot-Punkte-Berechnungsvarianten einstellbar zu machen per Input-Variable, und die Linien separat zu benenennen (R1,R2,....) und ebenfalls einstellbar machen beim Indikator, also welche angezeigt werden sollen (reicht ja pro Linie ne boolsche Variable), denn R3 und S3 werden z.B. selten erreicht. Und die Farben der Linien einstellbar ! Für das Tutorial zerrupf ich den Code eh nochmal und füge die Teile nach und nach hinzu, daher müsst Ihr Euch um Zwischenversionen keine Gedanken machen. Hauptsache, das Endergebnis (Milestone 1: Indikator) ist super. (ok, das soll jetzt motivierend klingen, liest sich aber irgendwie nicht so .) Melden
Geschrieben 5. April 200917 Jr. comment_61807 Noch ein paar Anmerkungen zum Code:tbCloseOrder (OrderTicket(), OrderLots(), 3, 5); exitErfolgreich = true;ist missverständlich. wenn man wirklich überprüfen will ob die order erfolgreich geschlossen wurde, sollte man den Rückgabewert des tbCloseOrder verwenden. Wolltest Du nichtt deswegen mal schauen, ob Du true/false zurückgeben kannst Wir hatten die D zum getOrdersTotal(MagicNumber):Wenn man 5 Order mit der MagicNumber hat ist nicht garantiert (und meist auch nicht der Fall), das diese 5 als erstes in der Liste der Orders auftauchen. wenn man also nur die ersten 5 Orders betrachtet wird man fast immer ein paar eigene übersehen... Verstehe ich nicht ganz. Ich will ja erstmal nur abfragen, ob Orders in dem Chart, mit der MN vorhanden sind. Das funktioniertm.E. Dann möchte ich, dass sich beim neu-kompilieren die MNs nicht ändern, das geht nun auch. Ok, wenn ich nun mehrereOrder offen habe (ich habe noch keinen Anwendungsfall hierfür gehabt), dann kann ich diese nicht unterscheiden.Für mich ist es mühselig hierüber weiter zu diskutieren, da bisher kein adäquater Gegenvorschlag gekommen ist Ich denke, für unsere Zwecke reicht es erst mal so. Für alles weitere würde ich den Indikator von Mythos verwenden wollen. Hier stimmen die Ausgabendes StrategieTesters im Chart wenigstens, bei dem Shifted-Indi, stimmten die Werte komischerweise nicht.Ich bin dem allerdings nicht weiter nachgegangen. Melden
http://www.fxmarkets.de/chart/pivot.htm
Ein sehr leicht zu implementierendes System, finde ich. EOD-Daten sind ausreichend, um die Pivot-Points zu berechnen; zum Backtesten sollte man aber auch Intradaydaten haben.