Tibo Posted September 10, 2011 Report Share Posted September 10, 2011 Hallo zusammen, ich habe mich nun eine Weile durch andere EAs gelesen und mir dabei das ein oder andere angeeignet. Einen kleinen EA hab ich mir auch schon geschrieben, der im Backtest sogar Gewinn produziert.:) Nun will ich aber zusätzlich, dass mir der EA sozusagen gleichzeitig ein Template in den Chart zeichnet (oder ein bestehendes aufruft?). Darüber hinaus möchte ich mir die generierten Signale in den Chart einzeichnen, sodass ich sie in der Testphase noch selbst nachvollziehen kann. Pfeil hoch für Long-Ordr, Pfeil-Runter für Shortorder. Und das ganze natürlich an dem Candle wo das ganze ausgelöst wurde. Klar. Ich hab auch schon herausgefunden, dass es solche Symbole zum einzeichnen gibt. Per Hand sind die ja auch verfügbar. Aber wie kann ich das in den EA einbauen? Ich komme da irgendwie nicht dahinter :( Meinen EA werde ich natürlich nun versuchen weiter auszubauen. Ich hoffe mal, dass ich den dabei nicht verschlimmbessere :D Viele Grüße & einen sonnigen Samstag euch allen Quote Link to comment Share on other sites More sharing options...
WOGO Posted September 10, 2011 Report Share Posted September 10, 2011 Hast du dich schon mal mit Objecten beschäftigt?Ist nicht schwer. Was du brauchst ist ein Textobjekt. Das erzeugst du mit ObjectCreate("Labelname",OBJ_TEXT,0,Time[barWoEsHinSoll],KursWoEsHinSoll); ObjectSetText("Labelname","\xF1", TextGroesse, "Wingdings", Textfarbe); In der Deinit-Funktion löscht du das Textobjekt dann wieder per ObjectDelete(). Der Code zeichnet einen Pfeil nach oben (angegeben durch den Hex-Wert F1). Such in der MQL-Hilfe einfach nach Wingdings, dann siehst du den Zeichensatz und welchen Code die einzelnen Zeichen haben. Bei Problemen einfach fragen! Quote Link to comment Share on other sites More sharing options...
Tibo Posted September 10, 2011 Author Report Share Posted September 10, 2011 oder kann man sich sowas als Indikator basteln, der auf andere Indikatoren (2 an der Zahl) zugreift und wenn die Bedingungen passen die Markierung setzt? Oder ist das eher EA-Sache? Also von der Sache läuft mein EA ja bis auf 1-2 Dinge (die ich bisher einfach noch nicht eingebaut habe) gut. Aber ich will halt auch mal nachvollziehen wo die Einstiege sind und wie der EA dann tatsächlich reingegangen ist. Am Ende also zwei Dinge: 1. Einzeichnen der tatsächlichen Ein- und Austiege durch den EA2. an welchen Stellen die Bedingungen einfach stimmen, aber nichts passiert ist (weil die maximale Anzahl der Trades einfach noch laufen und daher nichts neues dazu kommt) @Wogo:danke - jetzt wo ich Deinen Hinweis lese, dämmert mir was. Das hab ich schon mal gesehen - aber noch nie probiert. Wird sicher noch etwas holprig das eizubauen Quote Link to comment Share on other sites More sharing options...
Mythos Posted September 10, 2011 Report Share Posted September 10, 2011 Du kannst natürlich auch in einem Indikator Objekte setzen. Für einen Arrow gibt es übrigens auch eigene Objekte. Details dazu einfach in derHilfe nachlesen. Ich würd die Markierungen aber im EA direkt machen. Du kannst zB den Pfeil anders einfärben falls das Signal da war aber der EA wegen Filter die Position nicht eröffnen darf etc. Dadurch schließt du aus, das der Indi sich irgendwie anders verhält als der EA (wodurch die Signale dann nicht zusammenpassen). Quote Link to comment Share on other sites More sharing options...
Kleinerbroker Posted September 10, 2011 Report Share Posted September 10, 2011 http://www.tom-next....e-datenausgabe/ ..... geht bis hin zu (inzwischen älteren) Codebeispielen .In meinem Thread Ernten 4.0 findest Du mein aktuelles SetUp in den Charts . Wenn Du den entsprechenden Code für die Array´s brauchst , bitte um Feedback (ist aber auch nur Object-Tralala) Dann noch ein weiterer Hinweis : Template ´s kannst Du selber speichern . In Templates kannst Du Indi´s integrieren . Wenn Du einen Template mit exakt dem Namen Deines EA´s abspeicherst, dann wird dieser im Backtest auch dargestellt werden . Noch etwas : Weiterhin kannst Du in Deinem Code Farbcodierungen in Handelsbefehle aufnehmen und so zum Beispiel Kauf/Verkauf/Modify kennzeichnen . Das geht an jeder Stelle Deines EA neu, dazu mußt Du nurdie Farbe als Variable neu zuordnen, bevor Du den Befehl OrderSend() neu aufrufst , logo . Zum Schluss : Viel Vergnügen mit Wingdings => http://docs.mql4.com...tants/wingdings //------------------------------------------------------------------------------------------------| // Auswerten ob sich CTR verändert hat und ggfs Pfeile generieren | // | for (int Y=0;Y<7;Y++) // | { //1 | if (CTR_Val_New[Y]>CTR_Val_Old[Y]) // neue Variable ist größer ? | ObjectSetText("DSH_BD1"+"2"+Y,CharToStr(sRaise),sScreenTextHeight2,"Wingdings",Color[0]);//| else // | if (CTR_Val_New[Y]<CTR_Val_Old[Y]) // neue Variable ist kleiner ? | ObjectSetText("DSH_BD1"+"2"+Y,CharToStr(sDown) ,// | sScreenTextHeight2,"Wingdings",Color[2]);// | else // neue Variable ist also unverändert ? | ObjectSetText("DSH_BD1"+"2"+Y,CharToStr(sNeutral) ,// | sScreenTextHeight2,"Wingdings",Color[1]);// | } //1 | //------------------------------------------------------------------------------------------------| Da gibt es ein paar interessante Details im OrderSetText() . Der kleine Auszug oben vergleicht immer den vorherigen mit dem aktuellen Wert, steigen/fallen/neutral und malt da einen steigenden/fallenden/horizontalen Pfeil an "die" Position und mir der von mir vorher definierten Farbe grün/rot/gelb KB Quote Link to comment Share on other sites More sharing options...
WOGO Posted September 10, 2011 Report Share Posted September 10, 2011 Aber ich will halt auch mal nachvollziehen wo die Einstiege sind und wie der EA dann tatsächlich reingegangen ist.Achso!Das funktioniert so, wie es Kleinerbroker erklärt hat. int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE) Übergib beim letzten Parameter der OrderSend-Funktion einfach eine Farbe und ein Einstiegspfeil wird eingezeichnet.Genau das gleiche machst du bei OrderClose und du siehst genau wie der EA gehandelt hat. Quote Link to comment Share on other sites More sharing options...
Kleinerbroker Posted September 10, 2011 Report Share Posted September 10, 2011 bei mir hat seit der Phase in der Du Dich gerade befindest ganz besonders bewährt, dass ich mir auf die "Firefox- Lesezeichen-Symbolleiste" ganze Ordner platziert habe . In diese Ordner habe ich mir Links zu einigen Kapiteln im MQL Book platziert, die ich immer wieder brauche .Beispiele : Codetabellen für Wingdings , Error , Bool´sche Operatoren , Farbtabellen . Genauso für Freeware zu Kurshistorien, zu FX Testern , verschiedenen CodeSchnipseln . Nur für den Fall .....könnt Dir ja eventuell auch helfen KB PS.: Und nu ist Schluss für heute, Boxen gucken Quote Link to comment Share on other sites More sharing options...
Tibo Posted September 13, 2011 Author Report Share Posted September 13, 2011 @Kleinerbroker:Danke für den Tip - die Seiten zu mql4 hab ich mir tatsächlich schon abgelegt.Sonst wäre meine aktuelle EA-Baustelle nicht mal halb so weit :D Achso!Das funktioniert so, wie es Kleinerbroker erklärt hat. int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE) Übergib beim letzten Parameter der OrderSend-Funktion einfach eine Farbe und ein Einstiegspfeil wird eingezeichnet.Genau das gleiche machst du bei OrderClose und du siehst genau wie der EA gehandelt hat.Nur schließe ich die Orders nicht direkt durch den EA, da ich SL und TP mit übergebe von daher kann icih bei der OrderClose schon mal keine Parameter übergen Quote Link to comment Share on other sites More sharing options...
conglom-o Posted September 13, 2011 Report Share Posted September 13, 2011 Du kannst auch einfach die Trades aus der Kontohistorie in den Chart ziehen - dann zeigt er Dir auch, wo Du gehandelt hast . Quote Link to comment Share on other sites More sharing options...
Tibo Posted September 13, 2011 Author Report Share Posted September 13, 2011 auch eine gute Idee - aber wenn keine Trades gemacht wurden (weil ich im EA eine maximale Anzahl an Trades festlege) sehe ich das ja nicht. Das klappt dann tatsächlich nur bei eröffneten Trades. Am liebsten wäre mir ja ein EA oder Indi, der mir das ganze auch rückwirkend in den Chart "malt", dass ich auch mal durch den Chart scrollen kann um zu sehen ob meine Strategie überhaupt Signale generiert und wo diese hinführen würden.So ein Backtest gibt zwar auch Informationen, aber halt nur im Bericht und nicht live im Chart. Quote Link to comment Share on other sites More sharing options...
WOGO Posted September 13, 2011 Report Share Posted September 13, 2011 Am liebsten wäre mir ja ein EA oder Indi, der mir das ganze auch rückwirkend in den Chart "malt", dass ich auch mal durch den Chart scrollen kann um zu sehen ob meine Strategie überhaupt Signale generiert und wo diese hinführen würden.Und wo ist dann das Problem mit den Textobjekten, wie oben beschrieben? Alles was du brauchst ist eine Funktion, die dir bei einem Signal an die Einstiegsstelle einen Pfeil, ein Kreuz oder was auch immer zeichnet, dann siehst du gleich, wo dein EA eingestiegen ist (wäre).Wenn er natürlich aus einem von dir vorgegebenen Grund garnicht einsteigt, dann tust du dich auch schwer, ein Signal an die Ausstiegsstelle zu zeichnen. Quote Link to comment Share on other sites More sharing options...
Kleinerbroker Posted September 14, 2011 Report Share Posted September 14, 2011 aber halt nur im Bericht und nicht live im Chart. Das verstehe ich nicht . Bist Du sicher,dass Du im Backtest den "visuellen Modus" aktiviert hast ? Alles was ich Dir mit rotem Pfeil markiert habe, dass macht der BT life, wenn denn der visuelle Modus unten links durch ein Häkchen in der Box aktiviert wurde völlig automatisch, selbst wenn Du keine Farben gewählt hast . Alles was ich Dir mit den beiden orangen Pfeilen markiert habe, dass kommt durch den EA und wird zu großen Teilen durch den Code generiert den ich hier bei TN auch gepostet habe. KB Quote Link to comment Share on other sites More sharing options...
Kleinerbroker Posted September 16, 2011 Report Share Posted September 16, 2011 @Tibo , ist das Thema zu Deiner Zufriedenheit bearbeitet / abgearbeitet ? KB Quote Link to comment Share on other sites More sharing options...
Tibo Posted September 16, 2011 Author Report Share Posted September 16, 2011 danke der Nachfragebin leider noch nicht dazu gekommen, dass mal in aller Ruhe zu testen und ein wenig mit den Parametern zu "spielen":( Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.