Jump to content
Tom Next - Daytrading Community

Luisa.A.

Addict
  • Posts

    31
  • Joined

  • Last visited

Kontaktinformationen

  • Website URL
    http://
  • ICQ
    0

Profile Information

  • Wohnsitz
    Germany

Community Informationen

  • Newsletter Abonnement
    Kein Abo
  • Typ Newsletter
    Neue Projekte

Verschiedenes

  • auf die Community aufmerksam geworden durch
    Google

Luisa.A.'s Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Na? Wie ist der Stand der Dinge?
  2. Ich glaube da eine Lösung gefunden zu haben. Ich habe einfach die Bedigungen mit < und > aus der Hammerprüfung umgedreht. Wenn dann diese Bedingung erfüllt ist wird nach einem Hammer-Objekt beim vorletzten (also dem letzten abgeschlossenen Bar) gesucht und dieses gelöscht. Die paar Codezeilen dazu wären: double c = (High [i+1] - Low [i+1]) /3; //Pruefung ob am vorletzten Bar Objekte vorhanden sind //Falsche Objekte werden gelöscht if ((Open [i+1]< (Low [i+1] +2*c))&& (Close [i+1]< (Low [i+1] +2*c))) { if(ObjectFind("Hammer "+DoubleToStr (i, 0)) >= 0 ) ObjectDelete("Hammer "+DoubleToStr (i, 0)); } Zumindest gibt es schonmal keine Fehler beim kompilieren und das Terminal friert nicht ein Ob das so korrekt ist und auch wirklich nur die falschen Objekte gelöscht werden konnte ich jetzt in den letzten Bars nicht nachvollziehen. Das verstehe ich jetzt zwar noch nicht so 100% bzw. kann es nicht nachvollziehen, aber das ist auch erstmal nebensächlich, da ich noch lange nicht an einem EA arbeite und mir erstmal ein paar eigene Indies zusammen"bastel" um mein manuelles Trading zu supporten. Bis ich diese fertig habe, brauche ich sicher noch etwas.... Aber wer weiß. Vielleicht bin ich in 2-3 Monaten ja auch viel besser geworden und brauch Euch dann nur noch die fertigen Indis vorstellen und nicht nach jedem Schritt um Hilfe betteln weil ich zum x-ten Mal nicht weiterkomme
  3. #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //Konfiguration / Parameter extern int CandlesToCheck=100; extern color IndiColor = DeepPink; //Variablen für Berechnungen double HighLowSpanne; double HighLowDrittel; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { int i; for (i=0; i< Bars; i++) { if(ObjectFind("Hammer "+DoubleToStr (i, 0)) >= 0 ) ObjectDelete("Hammer "+DoubleToStr (i, 0)); } return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start () { int counted_bars=IndicatorCounted (), limit, i=0; if (counted_bars> 0) counted_bars--; limit=Bars-counted_bars; if (limit> CandlesToCheck) limit=CandlesToCheck; while (i< limit) { double k = (High [i] - Low [i]) /3; if ((Open [i]> (Low [i] +2*k))&& (Close [i]> (Low [i] +2*k))) { ObjectCreate ("Hammer "+DoubleToStr (i, 0), OBJ_ARROW, 0, Time [i], Low [i] +(-10)*Point); ObjectSet ("Hammer "+DoubleToStr (i, 0), OBJPROP_ARROWCODE, 159); ObjectSet ("Hammer "+DoubleToStr (i, 0), OBJPROP_COLOR, IndiColor); } i++; } } Ich hab ein paar kleine Modifikationen vorgenommen: Farbwahl über das Indikator-Menü Wenn man den Indikator aus dem Chart löscht, werden nun auch alle erstellten Objekte des Indikators gelöscht :) die Markierungen erfolgen nun knapp unter dem Bar und nicht mehr mitten im / hinter dem Bar Anstatt dem Punkt (oder sonst einem Symbol) hab ich leider keine Linien (bisher) hinbekommen. Der malt mir immer gleich durch den ganzen Chart, was super unübersichtlich aussieht und einem an dieser Stelle auch nichts mehr nützt. Mal schauen, ob ich das trotzdem noch irgendwie hinbekomme An der Prüfung der Bars arbeite ich auch noch, Speziell soll der aktuelle bzw. letzte Bar geprüft werden, falls dort Objekte sind die evtl. wieder gelöscht werden sollen. Ich denke meine Idee der Prüfung hab ich damit schon angedeutet aber die Umsetzung ist schwerer (für mich) als es scheint....
  4. das klingt einleuchtend. Genau dieser Punkt ist mir gesterna aufgefallen, als mir mein Indi beim entstehenden Bar fließig locker 4-5 Symbole reingemalt hatte. Mal schauen was ich dazu für eine Logik finde....... ich denke das wird auch was mit if-else oder sowas....... if (Prüfung) else (Objekte löschen)... Mal schauen ob ih eine Funktion finde die nur auf Objekte dieses Bars zurückgreift... Das wäre natürlich gut, den weiterverwenden zu können. Auch wenn meine "Skills" noch ewig von EAs entfernt sind (es sei denn dieses EA soll Kapital verbrennen) Eine Linie für die Balken zu zeichnen kann ja nicht so schwer sein. Mal schauen wie ich das hinbekomme. Dazu muss ich mir wohl mal wieder andere Indis anschauen und bei denen "spicken" Ich glaube die lustigen Punkte beim Parabolic Indikator sind ja eigentlich nur (fette) Linien. Mal schauen ob ich dort eine Anregung finde Danke für die Blumen. Auch wenn ich mich da (noch) nicht angesprochen fühlen mag. Ich reiche die Blumen gerne an die Profis hier weiter... Wenn ich in ein paar Monaten weiter bin, zweige ich mir dann vielleicht ein Blümchen von dem Strauß ab
  5. Also die Objekte heißen Hammer 1, Hammer 2, Hammer 3,..., Hammer 55,....usw, Bzw. die Hammer werden so benannt. Wo soll es da zu Problemen kommen? Oder auf was willst Du hinaus? Ich hab soeben auch nochmal nachgeschaut. Dabei ist mir aufgefallen, dass die nicht durchgängig nimmeriert sind, sondern scheinbar die Nummer der Kerze bekommen..... Kann das sein?
  6. ich werde mal schauen, wohin ich das schieben werde wo schreibe ich das i hin? Ich habe hin und her probiert und in der Hilfe nachgelesen. Produzierte aber immer nur Fehler beim Kompilieren ich kann zwar gerade überhaupt nichts mit iterieren anfangen, aber ich schaue mir mal den Befehl ObjectsTotal über die Hilfe an, in der Hoffnung das mein Englisch ausreicht. mal schauen ob ich danach irretiert oder iteriert bin :wub:
  7. :wub: Danke! Danke! Danke! Danke! Zunächst einmal für den i++ Hinweis und das mein Skript nun erstmal läuft. Ob ich noch inhaltliche Verbesserungen vor mir habe, prüfe ich noch. Aber erstmal ist das grobe (programmiertechnische) erledigt. Der Feinshliff folgt nun. Aber eine Frage hab ich noch. Der hat mir jetzt auch schön die Symbole in den Chart gemalt. Nur leider direkt auf die Bars "geklatscht, sodass diese nun wirklich kaum noch erkennbar sind. Gibt es einen Trick wie ich die einfach unter die Bars schieben kann? Ein Feinschliff hab ich noch entdeckt: Die Symbole bleiben im Chart obwohl ich den Indi aus dem Chart gelöscht habe Da muss ich wohl nochmal nachbessern.... Hier noch der Code (diesmal mit mql-Tags): #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //Konfiguration / Parameter extern int CandlesToCheck=100; //Variablen für Berechnungen double HighLowSpanne; double HighLowDrittel; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { int i; for (i=0; i< Bars; i++) { if(ObjectFind("Hammer") >= 0 ) ObjectDelete("Hammer"); } return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start () { int counted_bars=IndicatorCounted (), limit, i=0; if (counted_bars> 0) counted_bars--; limit=Bars-counted_bars; if (limit> CandlesToCheck) limit=CandlesToCheck; while (i< limit) { double k = (High [i] - Low [i]) /3; if ((Open [i]> (Low [i] +2*k))&& (Close [i]> (Low [i] +2*k))) { ObjectCreate ("Hammer "+DoubleToStr (i, 0), OBJ_ARROW, 0, Time [i], High [i] +10*Point); ObjectSet ("Hammer "+DoubleToStr (i, 0), OBJPROP_ARROWCODE, 121); ObjectSet ("Hammer "+DoubleToStr (i, 0), OBJPROP_COLOR, Lime); ObjectSet ("Hammer "+DoubleToStr (i, 0), OBJPROP_XDISTANCE, -10); } i++; } }
  8. Hallo Mythos, danke für Deine ausführliche Antwort und deinen wirklich guten Hilfestellungen! Danke Danke Danke! Da würde ich den Thanks-Button glatt zwei Mal drücken, wenn es geht Danke nur ein ordentlicher Schnupfen zusammen mit Schlafentzug ist eine ungute Mischung und schlaucht. Aber das wird wieder. In 1-2 Tagen sieht die Welt schon wieder anders aus Werde ich beim nächsten beherzigen! Hab garnicht gesehen, dass es überhaupt mql-Tags gibt. Hab die Code-Tags ganz Noobie mäßig per Button eingefügt werde ich mir anschauen und lesbarer gestalten. Ups. Da werd' ich wohl ein i++ vergessen haben *peinlich* Das ist mir früher schon beim Java schreiben gerne passiert :wub: Das hatte ich ja bei meiner Spread-Anzeige ja schon verbockt gehabt. Das ist so eine Sache, die werde ich noch verinnerlichen müssen. Das ist sicher eine Sache die bei jedem Indi gebraucht wird
  9. Hallo allerseits, nachdem ich mir die halbe Nacht um die Ohren gehauen habe, ist auch etwas enstanden Nur irgendwo ist der Wurm drinnen. Ich hab bestimmt 1,5 Stunden mit Fehlersuche verbracht. Nun kompiliert der MetaEditor auch ohne Warnungen und Fehlermeldungen *freu* Aber sobald ich das Ding auf den Chart ziehen will, stürzt mit die MetaTrader-Plattform ab Nun mein Problem: ich habe keinen Schimmer warum Ich bin mal so frei und poste den Quellcode. Vielleicht sehe ich ja auch gerade den Wald vor lauter Bäumen nicht #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //Konfiguration / Parameter extern int CandlesToCheck=100; //Variablen für Berechnungen double HighLowSpanne; double HighLowDrittel; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- int i; for (i=0; i< Bars; i++) { ObjectDelete ("Hammer "+DoubleToStr (i, 0)); } //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start () { int counted_bars=IndicatorCounted (), //---- limit, i=0; if (counted_bars> 0) counted_bars--; limit=Bars-counted_bars; if (limit> CandlesToCheck) limit=CandlesToCheck; while (i< limit) { //Check the hammer 8) double k = (High [i] - Low [i]) /3; if ((Open [i]> (Low [i] +2*k))&& (Close [i]> (Low [i] +2*k))) { ObjectCreate ("Hammer "+DoubleToStr (i, 0), OBJ_ARROW, 0, Time [i], High [i] +10*Point); ObjectSet ("Hammer "+DoubleToStr (i, 0), OBJPROP_ARROWCODE, 121); ObjectSet ("Hammer "+DoubleToStr (i, 0), OBJPROP_COLOR, Chocolate); } } } Ob der Hammer überhaupt richtig erkannt ist erstmal Nebensache. Solange der Code die Plattform in die Knie zwingt, bringt der Indi eh noch nichts Beste Grüße.... Ich werde jetzt erstmal meine saftige Erkältung bekämpfen und mal eben zur Apotheke düsen. Ich hab noch einen langen Tag vor mir.....
  10. Wenn Du vor einem Jahr auch mit Indi-Programmierung angefangen hast, dann ja :wub: Vielen Dank Euch allen für die zahlreichen Beiträge die mir wirklich weitergeholfen haben! Nur stehe ich jetzt gerade vor dem Problemchen: Wo Anfangen? Vielleicht ist auch einfach heute mein Kopf zu, da ich mir am Wochenende eine schöne Erkältung eingefangen habe bzw. ich mich bei meiner Tochter angesteckt habe Eigentlich wollte ich das Ding ja die Woche fertig bekommen. Na gut. Heute ist ja erst Dienstag HEute Abend gibt es eh nichts im Fernsehen. Wenn ich keinen Bock habe ein schönes Buch zu lesen, werd ich heute Abend nochmal allen "Mut" zusammen nehmen und mich versuchen. Wenigsten einen Anfang. Es gibt dann sicher noch massig zu verbessern
  11. Nachdem ich entgegen meiner Planungen am Wochenende nicht dazu gekommen bin, den Indi zu überarbeiten, habe ich mich nun jetzt mal rangesetzt und versucht die Punkte von Maerl Brontius umzusetzen. Ich hoffe dieses Punkt nun umgesetzt zu haben Das aktuelle File ist vorerst nur diesem Post angehangen. Sofern es in Ordnung ist, werde ich das Eingangsposting dieses Threads um ein paar Zeilen erweitern und den Indi auch dort anfügen iShowSpread.mq4
  12. :laugh: das muss ich direkt mal ausprobieren Bin gespannt ob das wirklich klappt :ot:
  13. krass ist nur, dass Google sogar stellenweise versucht die Quelltextbeispiele mit zu übersetzen
  14. Hallo Maerl Brontius, danke für Dein ausführliches Statement. Ich werde versuche das alles so anzupassen und dann aktualisiert wieder anzuhängen und ggf. im Eingangspost auch die aktualisierte Version anzuhängen. Ok. D.h. dann bei deinit müsste es dann heißen: if(ObjectFind("labelSpread") >= 0 ) ObjectDelete("labelSpread"); Hab ich das richtig verstanden? Ok. Das sehe ich ein. Nur hab ich (noch) keinen blassen Schimmer wie ich nur den Text aktualisieren lassen soll. Aber ich grübel mal eine Runde. Das muss ja zu schaffen sein Das ist soweit klar. Angezeit wird doch das richtige in meinem Indikator. Oder hab ich da was völlig daneben geschossen? Oder geht es nur im eine Sache der Marke "Viele Wege führen nach Rom"? Ein paar Paralellen hab ich schon erkannt Bin mal gespannt wie mql5 so wird. Da wird mql ja angeblich komplett objektorientiert, was es ja jetzt noch nicht so 100%ig ist. Ich hoffe nur, dass ich dann nicht wieder von vorne anfangen muss um irgendwann mal ein EA schreiben zu können Das hab ich auch in der Dokumentation gefunden als ich das fertig hatte :ot:
×
×
  • Create New...