Hallo zusammen,
ich habe mal einen "alten" DynamischenStopp, der auf ATR-Basis nachgezogen wird nach VBS umgesetzt. Der Org.Indi musste "prev" bzw "fastprev" verwenden, was also grottenlangsam. Durch das Umschreiben ist der Indi jetzt turboschnell
. Allerdings gibt es ein Problem wenn ich den Parameter "Faktor" größer als 1,6 einstellte (Fehlermeldung: sh. Grafik). Darunter, also <= 1,6, arbeitet er normal. Hat jemand eine Idee woran dies liegen könnte?
Hier der Code. Der Indi hat zwei Parameter:
1. Perioden; Wert; Standard: 10; Min: 1; Max: 100
2. Faktor; Wert; Standard: 1; Min: 0,1; Max: 5;
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
'Die Variablen Perioden und Faktor werden als Parameter übergeben
Dim High, Low, ATR
Dim z, Anfang, Ende, Stopp, Formel
GetDaten "High", High
GetDaten "Low", Low
Anfang = ErsteDatenPeriode(High)
Ende = LetzteDatenPeriode(High)
Formel = "ATR(" & cStr(Perioden) & ")"
if ScriptBerechneFormel(Formel, ATR) then
Stopp = 0
for z = Anfang+1 to Ende
if z < Ende and Low(z) < Stopp and High(z) > Stopp then
if High(z) > High(z-1) then
Stopp = Low(z+1) - ATR(z)*Faktor
else
Stopp = High(z+1) + ATR(z)*Faktor
end if
else
if Low(z) > Stopp and Stopp < Low(z) - ATR(z)*Faktor then
Stopp = Low(z) - ATR(z)*Faktor
else
if High(z) < Stopp and Stopp > High(z) + ATR(z)*Faktor then
Stopp = High(z) + ATR(z)*Faktor
end if
end if
end if
Ergebnis(z)= Stopp
next
end if
|
Leider wird der Quellcode hier nicht sauber strukturiert dargestellt, aber zum Abkopieren wirds wohl gehen.