MQL5: ALMA Indikator durch einfache EMA-200 Linie erweitert - Plot wird nicht mehr angezeigt. - Seite 2

Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wieso machst Du Dir alles so schwer?
Klick entweder hier auf CopyBuffer oder stell den Kursor im Editor auf CopyBuffer und drück F1 und schau Dir das Beispiel an, wie dort in OnCalculate() die Werte des EMA abgerufen werden.
Ist der Indikator "ALMA_v2" 're-painting', dann würde ich ihn nicht verwenden, wenn nicht genügt es, den aktuellen Balken zu aktualisieren (Preise, EMA, Alma, ..) und bei einer neuen Bar die letzten beiden Balken, so wie es das Beispiel vormacht.
Wegen multi-timeframe google einfach mal nach "site:mql5.com multi timeframe indicator", da gibt es gleich zB, dies hier: https://www.mql5.com/de/articles/2837. Übrigens, wenn in der MQ-Url /en/ steht kann man das durch /de/ ersetzen, um die in deutsch übersetzte Version zu bekommen).
Bedenke, es gibt fast nichts, was nicht schon für MQ programmiert wurde, suchen und kopieren ist da meist schneller.
Googln nach "site:mql5.com multi timeframe Alma" bringt zB:
https://www.mql5.com/de/code/mt5/indicators/best
https://www.mql5.com/en/search#!keyword=alma&module=mql5_module_codebase
Man muss ja nicht gleich alles kopieren, schauen, wie es andere machen und dann die Teile kopieren, die man braucht.
Nun, ich bin eben bei meiner Suche nach genau dem was ich möchte nicht fündig geworden. Sonst kopier ich eh immer schnell alles.
Ich habe einen Fehler bereits selbst gefunden.
Es lag einfach an einem fehlerhaften CopyBuffer. Wie gesagt, ein Knopf im Hirn. Akribisches Backtesten wie von Dir vorgeschlagen hat geholfen. ;-)
Jetzt hänge ich im letzten Schritt wieder am Color_Index... da funktioniert noch was nicht so wie es soll.. aber ich komme alleine weiter.
VIELEN DANK.
Wenn es fertig ist, stelle ich Euch den Code dann hier als Attachment rein. Vielleicht profitieren ja noch andere von meinen Erkenntnissen hier.
FALL GELÖST!
Ich dokumentiere die Erkenntnisse hier, falls jemand auch Probleme hatte kann er hier vielleicht eine Lösung finden.
1.) Das #property Initialisieren war falsch. Ich hatte übersehen, dass für den Multicolor Indikator ein DRAW_COLOR_LINE Parameter gewählt werden muss.
2.) den Typ2 braucht man nicht mit Color Index parametrisieren. Das ist unnötig.
3.) mit label2 geht es dann einfach in der Reihenfolge weiter... die #property parameter zählen von 1...n durch - aber nur für die sichtbaren Linien!
in der OnInit Function muss klarerweise der Color Index immer direkt auf den Indikator-Puffer folgen.
beim Wählen der Kurzbezeichnung wird auch wieder nach dem Plot durchnummeriert - nicht nach dem Puffer.
Weitere Code Tweaks:
ArraySetAsSeries(EMABuffer,true);
dies läuft nun parallel mit der TIME Series und somit funktioniert auch das SHIFT.
Meine Methodik um die ganzen CopyBuffer Errors zu finden und zu identifizieren. Ich habe aus der Hilfe die ganze Tabelle rauskopiert und mit MS-Excel Funktionen den Code so zusammengeschrieben dass eine Switch Tabelle draus wurde.
Sehr sehr hilfreich.
Ihr könnt Euch den entsprechenden Code-Teil aus dem beigefügten MQL File gerne rauskopieren.
Da der Indikator auf Grund der höheren Timeframe manchmal Probleme hat zu starten, habe ich das hier eingefügt.
return 0;
bzw... onCalculate (also bei jedem Tick) das ganze nochmal wenn der Puffer eindeutig leer ist.
Das hat sich bewährt, jetzt erscheint jedenfalls sofort eine Kurve am Bildschirm, ohne refresh oder Ach und Krach. ;-)
---------------------
Ich habe statt EMA nun einen TEMA eingesetzt.
man könnte das natürlich wesentlich modularer Aufbauen indem man mehrere Switch-Cases auf den handle setzt. Aber für den Anfang reicht es mal so.
Gratuliere, tolle Leistung, gutes Ergebnis, viel Erfolg!
Danke, eben noch einen Fehler entdeckt,
in dieser Datei korrigiert.