so, robusten klappt...
zunächst habe ich einen indikator angelegt, der einen übergebenen Wert in den globalen datenspeicher schreibt:
|
Quellcode
|
1
2
3
4
5
6
|
SetGlobal
if GlobalData.KeyExists("id1") then
GlobalData("id1")= value
else
GlobalData.add "id1",value
end if
|
im master kann man nun den indikator aufrufen mit einer varibalen. wichtig dabei ist , das der rückgabewert abgefangen wird.
noch zu beachten ist, das der indikator scheinbar erst mit einer (weiteren) berechnung wirklich ausgeführt wird. deshalb die
calc b zuweisung.
|
Quellcode
|
1
2
3
4
|
Definitionen
calc a: SetGlobal([ID:110,10,200,10,200,10,3,I]);
calc b: a+1;
global calc Position: #_PFPosition Long\MaxPos=5; NurEntries=Ja; Sortierung=Auf;#;
|
im slave muss ich jetzt nurnoch die variable auslesen und nutzen
|
Quellcode
|
1
2
3
4
|
Definitionen
Global const per: #>>_vbs_const consterg=GlobalData("id1")<<#;
Zusatz
ROC(GD(Close, per, S), 1, $)
|
zu beachten ist noch, das durch die "falsche" berechnungsreihenfolge die werte im robustheitstest um 1 verschoben sind.
das erste ergebniss ist also ungültig bzw. nutzt den vorher eventuell undefiniterten wert von id1.
will man also in meinem beispiel den wert 120 auswählen, muss man 130 nehmen, also den nächsten wert ( bei mir schrittweite 10 [ID:110,10,200,10,200,10,3,I])