Originariamente Scritto da
maxmax68
Ecco una prima conversione approssimativa del codice fornito da BMM.
Per quanto riguarda il calcolo degli strike, non funzionando le funzioni CEIL e FLOOR, ho utilizzato il metodo di
calcolo fornito da Smash nel suo codice.
Per quanto riguarda il calcolo di SogliaPidiUp e SogliaPidiDown ho tradotto pari pari le condizioni di BMM,
e non avendoci capito molto, lascio a voi verificare la loro correttezza.
Fate sapere se è necessario correggere qualcosa.
Saluti
Massimo
# Ampiezza Strike
INPUTS: @AmpStrike(0.5)
# Ampiezza Fascia Pidi
INPUTS: @AmpPidi(0.22)
# Ampiezza Frontiera della direzione
INPUTS: @AmpFdD(0.22)
# Calcolo dei Pivot Points
SET AP = (YESTERDAYHIGH() + YESTERDAYLOW() + YESTERDAYCLOSE()) / 3
SET Sup1 = (AP * 2) - YESTERDAYHIGH()
SET Res1 = (AP * 2) - YESTERDAYLOW()
SET Sup2 = AP - (Res1 - Sup1)
SET Res2 = (AP - Sup1) + Res1
#SET Res3 = Res2 + (YESTERDAYHIGH() - YESTERDAYLOW())
#SET Sup3 = Sup2 - (YESTERDAYHIGH() - YESTERDAYLOW())
# Calcolo Frontiere della direzione
SET FdDUp = TODAYOPEN() + @AmpFdD
SET FdDDown = TODAYOPEN() - @AmpFdD
# Calcolo dei 2 livelli di Strike Up
SET StrikeUp1 = DIV(TODAYOPEN() * 100, 50) / 2 + @AmpStrike
SET StrikeUp2 = StrikeUp1 + @AmpStrike
# Calcolo dei 2 livelli di Strike Down
SET CondDown = MOD(TODAYOPEN() * 100, 50) = 0
SET StrikeDown1 = IF(CondDown, DIV(TODAYOPEN() * 100, 50) / 2 - @AmpStrike, DIV(TODAYOPEN() * 100, 50) / 2)
SET StrikeDown2 = StrikeDown1 - @AmpStrike
# Calcola SogliaPidiUp
SET c1 = IF(StrikeUp1 < Res2, StrikeUp1, Res2 )
SET c2 = IF(StrikeUp1 < Res1, Res1, c1)
SET c3 = IF(StrikeUp1 < Res1, StrikeUp1, Res1 )
SET c4 = IF(StrikeUp1 < AP, AP, c3)
SET SogliaPidiUp = IF(TODAYOPEN() > AP, c2 , c4)
# Calcola SogliaPidiDown
SET c5 = IF(StrikeDown1 > Sup2, StrikeDown1, Sup2 )
SET c6 = IF(StrikeDown1 > Sup1, Sup1, c5)
SET c7 = IF(StrikeDown1 > Sup1, StrikeDown1, Sup1 )
SET c8 = IF(StrikeDown1 > AP, AP, c7)
SET SogliaPidiDown = IF(TODAYOPEN() < AP, c6 , c8)
# Calcola Punti di non ritorno
SET PNRUp = SogliaPidiUp + @AmpPidi
SET PNRDown = SogliaPidiDown - @AmpPidi
SET PLOT1 = TODAYOPEN()
SET PLOT2 = FdDUp
SET PLOT3 = FdDDown
SET PLOT4 = PNRUp
SET PLOT5 = PNRDown
SET PLOT6 = SogliaPidiUp
SET PLOT7 = SogliaPidiDown
SET PLOTCOLOR1 = COLOR_SILVER
SET PLOTCOLOR2 = COLOR_GREEN
SET PLOTCOLOR3 = COLOR_RED
SET PLOTCOLOR4 = COLOR_GREEN
SET PLOTCOLOR5 = COLOR_RED
SET PLOTCOLOR6 = COLOR_YELLOW
SET PLOTCOLOR7 = COLOR_YELLOW