
Originariamente Scritto da
alex69
Apo, sei di un altro pianeta.

L'idea mi sembra ottima.
Hai avuto modo di testarlo in backtest e valutarne i risultati rispetto all'indicatore normale?
Ciao Alex, sono solo un terrestre come voi 
Se si chiama linguaggio Easyscript ci sarà pure un motivo altrimenti Tiziano lo avrebbe chiamato solo Script.
Posto il codice e a voi tutte le prove che desiderate
Aggiungo che con questa logica si puo modificare il periodo di qualsiasi indicatore con fasce di escursioni impostabili a piacimento basta solo fare le giuste sostituzioni
APO - Williams %R a periodo variabile
INPUTS: @WPRperiod (100), @Atrperiod(21), @lowMark(-20), @highMark(-80)
SET A= ATR(@Atrperiod,SIMPLE)
#Atr normalizzato 0-100
SET B = ROUND(OSC(A,480),0)
# Definiamo 10 fascie di oscillazione dell'Atr normalizzato:
SET S1 = B>=0 AND B<=10
SET S2 = B>=11 AND B<=20
SET S3 = B>=21 AND B<=30
SET S4 = B>=31 AND B<=40
SET S5 = B>=41 AND B<=50
SET S6 = B>=51 AND B<=60
SET S7 = B>=61 AND B<=70
SET S8 = B>=71 AND B<=80
SET S9 = B>=81 AND B<=90
SET S10 = B>=91 AND B<=100
#Definiamo i moltiplicatori di periodo per ciascuna fascia:
SET M1 = IF(S1=1,0.2,0)
SET M2 = IF(S2=1,0.4,0)
SET M3 = IF(S3=1,0.6,0)
SET M4 = IF(S4=1,0.8,0)
SET M5 = IF(S5=1,1,0)
SET M6 = IF(S6=1,1.2,0)
SET M7 = IF(S7=1,1.4,0)
SET M8 = IF(S8=1,1.6,0)
SET M9 = IF(S9=1,1.8,0)
SET M10= IF(S10=1,2,0)
#Valore del periodo istante per istante:
SET PeriodoVariabile= @WPRperiod*(M1+M2+M3+M4+M5+M6+M7+M8+M9+M10)
#...ed infine ecco il WPR a periodo variabile lisciato con una Ema breve:
SET C= EMA(WPR(PeriodoVariabile),6)
# plottiamo il tutto:
SET PLOT1= C
SET PLOT2= @lowMark
SET PLOT3= @highMark
SET PLOTCOLOR2= COLOR_GREEN
SET PLOTCOLOR3= COLOR_RED
#...e controlliamo con il Debug
PRINT(A,B,C,PeriodoVariabile)
#....e abbiamo finito xD, buon divertimento !!
# Apo
PS: per utilizzare questo indicatore in un Signal, per non riscrivere tutto l'ambaradan vi dovete creare la relativa funzione per poi richiamarla nello script del Signal e qui Max ci puo dare una mano.
Saluti Apo