Wahrscheinlich ist ObjectCreate falsch:
- Du fragst nicht ab, ob ObjectCreate das Objekt erzeugt hat und falls nicht welchen Fehler es gibt.
- Schau mal hier wie Dein StdDev-Kanal definiert wird: https://www.mql5.com/en/docs/constants/objectconstants/enum_object/obj_stddevchannel

- www.mql5.com
Wahrscheinlich ist ObjectCreate falsch:
- Du fragst nicht ab, ob ObjectCreate das Objekt erzeugt hat und falls nicht welchen Fehler es gibt.
- Schau mal hier wie Dein StdDev-Kanal definiert wird: https://www.mql5.com/en/docs/constants/objectconstants/enum_object/obj_stddevchannel
Ja, hast Du völlig Recht, habe ich nicht abgefragt. Allerdings kann man auf dem Screenshot erkennen, dass der Kanal erzeugt wurde. Er funktioniert auch genau wie erwartet, bewegt sich, wenn man die Indexnummer ändert, stelllt sich in Richtung des Trends usw. Ich bin sogar ziemlich sicher, dass das Objekt erzeugt wurde.
Und zu Nummer zwei, die Seite aus der Doku habe ich doch in der vierten Zeile zitiert. Dazu habe ich eine Frage: Wo wird da etwas definiert, was ich jetzt gerade gebrauchen kann? Da ist ein Script als Beispiel und die ObjectCreate wird dort total komisch angegeben (nur mir Zeiten?!?). Mir ist nicht ersichtlich, was Du genau sagen willst. Sag mal oben oder unten oder Codezeile... heiß kalt irgendwas.
Du musst mir nicht helfen, es steht Dir frei, nicht zu antworten.
Dort wird der StdDev-Kanal so erstellt:
if(!ObjectCreate(chart_ID,name,OBJ_STDDEVCHANNEL,sub_window,time1,0,time2,0))
Schaut etwas anders aus, als bei Dir.
Dort wird der StdDev-Kanal so erstellt:
Schaut etwas anders aus, als bei Dir.
Mit Deiner Version steht da zwar auch loaded successfully, auch wenn ich sage if ! Print Error blabla.
Doch die HLinien sind immer noch irgendwo im Nirgendwo. Man beachte auch den Wert aus den Siebzigern. Lasse mich gernen belehren.
Aber danke schonmal.
NACHTRAG:
Heute habe ich die Lösung gefunden und zwar in diesem Thread hier: https://www.mql5.com/en/forum/280520#comment_8773757
Er besagt, dass die ObjectGetValueByTime beim Nächsten Tick abgefragt werden sollte, weil das eine Eigenart des Objekts ist, dass die Objektfunktion erst läuft wenn alle anderen Funktionen abgerattert sind.
Daher muss man einfach die ObjectGetValueByTime in der OnTick() ÜBER die ObjectCreate setzen, damit sie als Erstes abgefragt wird, weil die Daten erst am Ende des letzten Ticks überhaupt erstellt werden.
Und weil es so schön war:
Man sieht hier ganz schön wie die horizontalen Kontrolllinien die Kanallinien im Index [0] schneiden. zur Verdeutlichung wurde eine vertikale Kontrollinie eingeführt

- www.mql5.com

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo,
Im Nachschlagewerk steht, dass man mit dieser Funktion einen Wert bei einem bestimmten Zeitpunkt bekommen kann.
Da mich das für OBJ_STDDEFCHANNEL mit wenn ich eingebe, dass ich gerne die Werte der Linien des DevChannels
https://www.mql5.com/de/docs/constants/objectconstants/enum_object/obj_stddevchannel
für den aktuellen Bar berechnen möchte und diese dann als "Preise" für horizontale Linien verwende, würde ich erwarten, dass sich
1. diese im x-Wert der aktuellen Kerze mit dem Kanal schneiden und außerdem müsste, wenn ich
2. von den Werten der Kanallinien mit GetObjectTimeByValue die Zeit wieder berechne, doch wieder die Eröffnungszeit aktuellen Kerze sein.
Das ist aber beides nicht der Fall. Liegt das an Eigenheiten des Objekts oder habe ich irgendwo einen Fehler drin? Habe ihn nach einer Anleitung aus dem Internet nachgemacht und der Channel sieht auch optisch so aus wie er aussehen soll... aber seht selbst:
Wow... was sind denn das für DDR-Farben? die drei waagerechten Linien sind DodgerBlue aber man sieht sie fast nicht... naja. Diese waagerechten Kontrollinien müssten sich also an der Stelle der aktuellen Kerze mit den Linien des Kanals schneiden und die Werte der Schnittpunkte müssten oben links in dem Kommentar stehen. Ich verstehe einfach nicht, wo der die Werte hernimmt.
Falls es jemand zu Hause nachmachen möchte: