Mi sono accorto che non mi funziona più una vecchia UserFunction che avevo scritto un po' di tempo fa e che fino poco tempo fa funzionava alla perfezione (ho installata l'ultima verione Beta 0.8.6.24 di beeTrader).


Allego il codice della UserFunction di nome "GannSwingGuideLine.func":


SET CondInsideBar41 = REF(HIGH, 4) <= REF(HIGH, 5) AND REF(LOW, 4) >= REF(LOW, 5)
SET InsideBar4 = CondInsideBar41


SET CondInsideBar31 = REF(HIGH, 3) <= REF(HIGH, 4) AND REF(LOW, 3) >= REF(LOW, 4)
SET CondInsideBar32 = REF(HIGH, 3) <= REF(HIGH, 5) AND REF(LOW, 3) >= REF(LOW, 5) AND InsideBar4
SET InsideBar3 = CondInsideBar31 OR CondInsideBar32


SET CondInsideBar21 = REF(HIGH, 2) <= REF(HIGH, 3) AND REF(LOW, 2) >= REF(LOW, 3)
SET CondInsideBar22 = REF(HIGH, 2) <= REF(HIGH, 4) AND REF(LOW, 2) >= REF(LOW, 4) AND InsideBar3
SET CondInsideBar23 = REF(HIGH, 2) <= REF(HIGH, 5) AND REF(LOW, 2) >= REF(LOW, 5) AND InsideBar3 AND InsideBar4
SET InsideBar2 = CondInsideBar21 OR CondInsideBar22 OR CondInsideBar23


SET CondInsideBar11 = REF(HIGH, 1) <= REF(HIGH, 2) AND REF(LOW, 1) >= REF(LOW, 2)
SET CondInsideBar12 = REF(HIGH, 1) <= REF(HIGH, 3) AND REF(LOW, 1) >= REF(LOW, 3) AND InsideBar2
SET CondInsideBar13 = REF(HIGH, 1) <= REF(HIGH, 4) AND REF(LOW, 1) >= REF(LOW, 4) AND InsideBar2 AND InsideBar3
SET CondInsideBar14 = REF(HIGH, 1) <= REF(HIGH, 5) AND REF(LOW, 1) >= REF(LOW, 5) AND InsideBar2 AND InsideBar3 AND InsideBar4
SET InsideBar1 = CondInsideBar11 OR CondInsideBar12 OR CondInsideBar13 OR CondInsideBar14


# Barre Inside
SET CondInsideBar1 = HIGH <= REF(HIGH, 1) AND LOW >= REF(LOW, 1)
SET CondInsideBar2 = HIGH <= REF(HIGH, 2) AND LOW >= REF(LOW, 2) AND InsideBar1
SET CondInsideBar3 = HIGH <= REF(HIGH, 3) AND LOW >= REF(LOW, 3) AND InsideBar1 AND InsideBar2
SET CondInsideBar4 = HIGH <= REF(HIGH, 4) AND LOW >= REF(LOW, 4) AND InsideBar1 AND InsideBar2 AND InsideBar3
SET CondInsideBar5 = HIGH <= REF(HIGH, 5) AND LOW >= REF(LOW, 5) AND InsideBar1 AND InsideBar2 AND InsideBar3 AND InsideBar4
SET InsideBar = CondInsideBar1 OR CondInsideBar2 OR CondInsideBar3 OR CondInsideBar4 OR CondInsideBar5


# Barre Up
SET CondUpBar1 = HIGH > Ref(HIGH, 1) AND LOW >= Ref(LOW, 1)
SET CondUpBar2 = HIGH > REF(HIGH, 2) AND LOW >= REF(LOW, 2) AND InsideBar1
SET CondUpBar3 = HIGH > REF(HIGH, 3) AND LOW >= REF(LOW, 3) AND InsideBar1 AND InsideBar2
SET CondUpBar4 = HIGH > REF(HIGH, 4) AND LOW >= REF(LOW, 4) AND InsideBar1 AND InsideBar2 AND InsideBar3
SET CondUpBar5 = HIGH > REF(HIGH, 5) AND LOW >= REF(LOW, 5) AND InsideBar1 AND InsideBar2 AND InsideBar3 AND InsideBar4
SET UpBar = CondUpBar1 OR CondUpBar2 OR CondUpBar3 OR CondUpBar4 OR CondUpBar5


# Barre Down
SET CondDownBar1 = LOW < Ref(LOW, 1) AND HIGH <= Ref(HIGH, 1)
SET CondDownBar2 = LOW < REF(LOW, 2) AND HIGH <= REF(HIGH, 2) AND InsideBar1
SET CondDownBar3 = LOW < REF(LOW, 3) AND HIGH <= REF(HIGH, 3) AND InsideBar1 AND InsideBar2
SET CondDownBar4 = LOW < REF(LOW, 4) AND HIGH <= REF(HIGH, 4) AND InsideBar1 AND InsideBar2 AND InsideBar3
SET CondDownBar5 = LOW < REF(LOW, 5) AND HIGH <= REF(HIGH, 5) AND InsideBar1 AND InsideBar2 AND InsideBar3 AND InsideBar4
SET DownBar = CondDownBar1 OR CondDownBar2 OR CondDownBar3 OR CondDownBar4 OR CondDownBar5


# Barre Outside rialziste
SET CondOutsideBarUp1 = HIGH > Ref(HIGH, 1) AND LOW < Ref(LOW, 1) AND CLOSE > Ref(HIGH, 1)
SET CondOutsideBarUp2 = HIGH > REF(HIGH, 2) AND LOW < REF(LOW, 2) AND CLOSE > Ref(HIGH, 2) AND InsideBar1
SET CondOutsideBarUp3 = HIGH > REF(HIGH, 3) AND LOW < REF(LOW, 3) AND CLOSE > Ref(HIGH, 3) AND InsideBar1 AND InsideBar2
SET CondOutsideBarUp4 = HIGH > REF(HIGH, 4) AND LOW < REF(LOW, 4) AND CLOSE > Ref(HIGH, 4) AND InsideBar1 AND InsideBar2 AND InsideBar3
SET CondOutsideBarUp5 = HIGH > REF(HIGH, 5) AND LOW < REF(LOW, 5) AND CLOSE > Ref(HIGH, 5) AND InsideBar1 AND InsideBar2 AND InsideBar3 AND InsideBar4
SET OutsideBarUp = CondOutsideBarUp1 OR CondOutsideBarUp2 OR CondOutsideBarUp3 OR CondOutsideBarUp4 OR CondOutsideBarUp5


# Barre Outside ribassiste
SET CondOutsideBarDown1 = HIGH > Ref(HIGH, 1) AND LOW < Ref(LOW, 1) AND CLOSE < Ref(LOW, 1)
SET CondOutsideBarDown2 = HIGH > REF(HIGH, 2) AND LOW < REF(LOW, 2) AND CLOSE < Ref(LOW, 2) AND InsideBar1
SET CondOutsideBarDown3 = HIGH > REF(HIGH, 3) AND LOW < REF(LOW, 3) AND CLOSE < Ref(LOW, 3) AND InsideBar1 AND InsideBar2
SET CondOutsideBarDown4 = HIGH > REF(HIGH, 4) AND LOW < REF(LOW, 4) AND CLOSE < Ref(LOW, 4) AND InsideBar1 AND InsideBar2 AND InsideBar3
SET CondOutsideBarDown5 = HIGH > REF(HIGH, 5) AND LOW < REF(LOW, 5) AND CLOSE < Ref(LOW, 5) AND InsideBar1 AND InsideBar2 AND InsideBar3 AND InsideBar4
SET OutsideBarDown = CondOutsideBarDown1 OR CondOutsideBarDown2 OR CondOutsideBarDown3 OR CondOutsideBarDown4 OR CondOutsideBarDown5


SET FinalUpBar = InsideBar = 0 AND (UpBar OR OutsideBarUp)
SET FinalDownBar = InsideBar = 0 AND (DownBar OR OutsideBarDown)


# Stato (Up o Down)
SET UpDown = IF(FinalDownBar, -1, FinalUpBar) 
SET StatusBar = CHANGEIF(UpDown <> 0, UpDown)
 
# Calcolo dei valori high e low
SET StatusChanged = LASTIF(StatusBar <> REF(StatusBar, 1))
SET Bars = StatusChanged + 1
SET hh = HighestHighValue(Bars)
SET ll = LowestLowValue(Bars)
 
SET GannSwingGuideLine = IF(StatusBar = 1, hh, ll)

Questo è il messaggio di errore, che però non riesco a risolvere:

Clicca sull'immagine per ingrandirla

Nome: Error.png
Visite: 31
Dimensione: 9.3 KB
ID: 14609


Che cosa è cambiato in beeTrader?
Grazie!