Verständnisfrage icustoms und Datenfeld

 

Hallo,

ich habe da eine grundsätzliche Verständnisfrage. Wenn ich einen Indicator via icustoms Funktions einbinde und keine Beschreibung der Buffer habe, kann ich mich doch am Datenfeld orientieren oder liege ich da falsch.

Was ich meine ist zum Beispiel das Datenfeld gibt für den Indicator folgende Werte aus


Nun frage ich die Werte wie folgt ab
// my_indicator_val_0 bis 5 sind als double deklariert

if(CopyBuffer(my_indicator_handle,0,0,1,my_indicator_val_0)!=1){ Print("CopyBuffer 0 buffer of indicator failed, no data"); }         
if(CopyBuffer(my_indicator_handle,1,0,1,my_indicator_val_1)!=1){ Print("CopyBuffer 1 buffer of indicator failed, no data"); }         
if(CopyBuffer(my_indicator_handle,2,0,1,my_indicator_val_2)!=1){ Print("CopyBuffer 2 buffer of indicator failed, no data"); }         
if(CopyBuffer(my_indicator_handle,3,0,1,my_indicator_val_3)!=1){ Print("CopyBuffer 3 buffer of indicator failed, no data"); }         
if(CopyBuffer(my_indicator_handle,4,0,1,my_indicator_val_4)!=1){ Print("CopyBuffer 4 buffer of indicator failed, no data"); }         
if(CopyBuffer(my_indicator_handle,5,0,1,my_indicator_val_5)!=1){ Print("CopyBuffer 5 buffer of indicator failed, no data"); }         

Irgendwie passt das aber nicht. Gerade die beiden letzten Felder "Arr-up" und "arr-down" kommen bei nicht nicht korrekt im Buffer 4 und 5 an. Dort wird obgleich wie z.B. oben zu sehen nichts steht, "1.0" zurückgeliefert.

Vielleicht habe ich aber ja auch irgendwas grundsätzlich falsch verstanden?

 
Es stimmt, wenn du der Funktion Copybuffer sagst, dass sie nur die letzte Zahl aus dem Indikator kopieren soll, dann gibt diese im Erfolgsfall 1 zurück. Soweit sieht das schon mal gut aus. Und die Fehlermeldung bleibt aus, sagtest du?

Das könnte auch andere Ursachen haben.

Produziert der Indikator denn die Werte, die du abrufen willst? Wenn er das tut sollte das kein Problem sein, außer die Copybuffer befinden sich in OnInit, wo mitunter noch keine Daten verfügbar sind. Das sind nur zwei mögliche Gründe, die man mit dem Informationsstand nicht ausschließen kann.

Meistens bleibt nichts anderes übrig als das Programm zu kopieren und zurückzubauen um es vereinfacht im Forum zu präsentieren und dabei findest du dann den Fehler in der Regel selbst.
Grund der Beschwerde: