Discussione: Milano 29 novembre 2014
-
03-12-14, 10:58 #51
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 ApoUltima modifica di Apocalips; 03-12-14 alle 11:07
....non si desidera ciò che è facile ottenere (Ovidio)....
-
03-12-14, 11:13 #52
-
03-12-14, 11:14 #53
- Data Registrazione
- Mar 2011
- Messaggi
- 718
proposta:
- visto che oramai parecchi di noi ha diverse versione di questo TS, perchè non lo condividiamo sulla tradingroom? (sempre se per i padroni di casa non ci sono problemi)
-
03-12-14, 11:18 #54
-
03-12-14, 11:28 #55
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
-
03-12-14, 11:34 #56
In Easy script esiste una funzione che si chiama Oscillator che serve per trasformare in oscillatore ogni tipo di indicatore.
Per variare i periodi ci sono mille modi, questo è uno ed è decisamente performante.
(Qui ho usato la varianza che è la radice quadrata della deviazione standard)
Nell'immagine del Dax notate i punti di svolta che sono stati presi millimetricamente proprio perchè è variato il periodo!!!
Buy Script
INPUTS: @price(CLOSE), @periods(80), @lev1(-65), @lev2(-35) SET v = Variance(@price, @periods, SIMPLE) SET o = Oscillator(v, @periods) SET VariaPeriodi = @periods + o - 50.0 # EasyScript internamente esegue gia' l'arrotondamento all'intero piu' vicino nel calcolo dei periodi # quindi questa riga non e' necessaria. # SET VariaPeriodi = ROUND((@period1 * allungaAccorcia),0) # Assicura di avere un valore valido per il calcolo di %R SET PeriodoWilliams = IF(VariaPeriodi < 2, 2, VariaPeriodi) SET A = WilliamsPctR(PeriodoWilliams) SET B = @lev1 SET C = @lev2 CROSSOVER(A, @lev1)
Sell script
SET v = Variance(@price, @periods, SIMPLE) SET o = Oscillator(v, @periods) SET VariaPeriodi = @periods + o - 50.0 # EasyScript internamente esegue gia' l'arrotondamento all'intero piu' vicino nel calcolo dei periodi # quindi questa riga non e' necessaria. # SET VariaPeriodi = ROUND((@period1 * allungaAccorcia),0) # Assicura di avere un valore valido per il calcolo di %R SET PeriodoWilliams = IF(VariaPeriodi < 2, 2, VariaPeriodi) SET A = WilliamsPctR(PeriodoWilliams) SET B = @lev1 SET C = @lev2 CROSSOVER(@lev2, A )
..se corri dietro a due lepri, non ne prendi nemmeno una.
-
03-12-14, 11:43 #57
Non avevo visto la versione di periodi variabili fatta da APO, altrimenti non avrei riproposto una seconda delle mie!
Comunque l'idea di cambiare il periodo è un'idea logica che ho scritto sul forum di TRadestation almeno 18 anni fa.
Come ho già detto nel filmato del mese scorso, quando l'ho presentato, esistono infniti modi di variarlo ed ognuno troverà quello che preferisce.
Io non consiglio mai nulla ma ho visto che meno cose si scrivono e meglio i TS funzionano per cui non entrate in meandri difficili.
A questo punto vi metto anche l'indicatore:
INPUTS: @price(CLOSE), @periods(100), @lev1(-65), @lev2(-35) SET v = Variance(@price, @periods, SIMPLE) SET o = Oscillator(v, @periods) SET VariaPeriodi = @periods + o - 50.0 SET PeriodoWilliams = IF(VariaPeriodi < 2, 2, VariaPeriodi) SET PLOT1 = WilliamsPctR(PeriodoWilliams) SET PLOT2 = @lev1 SET PLOT3 = @lev2
Ultima modifica di Cagalli Tiziano; 03-12-14 alle 11:53
..se corri dietro a due lepri, non ne prendi nemmeno una.
-
03-12-14, 11:47 #58
-
03-12-14, 11:48 #59..se corri dietro a due lepri, non ne prendi nemmeno una.
-
03-12-14, 11:50 #60..se corri dietro a due lepri, non ne prendi nemmeno una.