Donnerstag, 18. April 2024, 23:08 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Nicola

unregistriert

1

Donnerstag, 13. Mai 2010, 13:18

Problem mit Komp und Parameterübergabe

Hallo,

ich hab hier mal wieder ein Problem, dass ich auch mit Hilfe der Suchfu leider nicht ganz verstehe, geschweige denn lösen kann.

Und zwar verwende ich folgende Berechnung:

Quellcode

1
2
3
calc ADX: ADX([14,8,37,9,36,1,3.1280]); 
global calc ADXkomp: Komp(#Ref(ADX, -1)#, #60#); 
global calc ADXROC: Komp(#Ref(ROC(ADX, 1, $),-1)#, #60#);


Dies führt aber zur Fehlermeldung "Die im Parameter angegebene Datenreihe steht nicht zur Verfügung."
Es liegt wohl daran, dass ich "ADX" an den Komp-Indikator übergebe, aber warum funzt das nicht? Wenn ich

Quellcode

1
Komp(#Ref(ADX([14,8,37,9,36,1,3.1280]), -1)#, #60#);
schreibe hat er kein Problem damit.

Hoffe ihr könnt mir helfen.

Lg

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

2

Donnerstag, 13. Mai 2010, 18:26

Innerhalb von Komp() existiert eine eigene Welt, so eine Art Taschenuniversum. Von aussen kriegst Du da keine Vektoren rein, die sind sozusagen vor dem Ereignis-Horizont. Konstante können aber in das schwarze Loch hinein tunneln. Vektoren kannst Du stattdessen innerhalb von Komp() neu definieren mit calc, wenn Du in diesem Taschenuniversum eine komplexere Welt (komplexere Berechnungen) aufbauen möchtest.

Z.B. (hab's grad nicht gestestet, weil kein Rechner frei, sollte aber ungefähr so gehen):

global const ADXPerioden: [14,8,37,9,36,1,3.1280];
global calc ADXkomp: Komp(# calc ADX: ADX ( ADXPerioden); Ref( ADX, -1)#, #60#); // Leerschlag zwischen ADX und ( wg. Lesbarkeit im Forum


Für ADXROC gehst Du nach diesem Muster vor.

In dem Beispiel macht es natürlich keinen Sinn, in Komp() calc zu verwenden, aber es sollte nun klar sein, wie's geht.
Gruss
Bernd

Nicola

unregistriert

3

Donnerstag, 13. Mai 2010, 23:26

Vielen Dank Bernd,

funktioniert soweit, bis auf dass ich ADXkomp nun nicht mehr als loadglobal im chart anzeigen lassen kann, wenn ich eine const im chart übergeben lasse.

Kann man das evt. auch umgehen?

Lg

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Freitag, 14. Mai 2010, 00:27

Klar, entweder die Konstante auch mit loadglobal in die Chartformel reinnehmen, oder bei einer aktuellen Investox Version gleich loadDefs verwenden.
Gruss
Bernd

Nicola

unregistriert

5

Freitag, 14. Mai 2010, 15:28

klappt!

Dank dir Bernd! :thumbsup: