Discussione: Indicatore Pidi_Trend
-
31-01-14, 22:08 #31
- Data Registrazione
- Apr 2008
- Messaggi
- 4,076
-
11-03-14, 11:16 #32
- Data Registrazione
- Nov 2009
- Messaggi
- 476
-
11-03-14, 16:34 #33
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ciao Pernotron,
non dovrebbe dipendere dal time frame (su certi sottostanti funziona e su altri no), mentre ho l'impressione che dipenda dalla volatilità delle barre che quando è troppo bassa crea dei problemi nel calcolo della deviazione standard.
Cerco di modificarlo per vedere se riesco a farlo funzionare sempre ...
-
11-03-14, 16:46 #34
- Data Registrazione
- Nov 2009
- Messaggi
- 476
-
11-03-14, 23:23 #35
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Cambiamo la forzatura per evitare la divisione per zero: stavolta usiamo la funzione CHANGEIF,
tanto pur sempre di un artifizio si tratta!
#Media dei prezzi a 20 periodi SET SMA20 = SMA(CLOSE, 20) #Media dei prezzi a 3 periodi SET SMA3 = SMA(CLOSE, 3) #Detraggo dalla più veloce la più lenta SET Differenza = SMA3 - SMA20 #Calcolo la deviazione standard dei prezzi da inizio giornata (a periodo variabile) SET ConditionDateChange = DATE > REF(DATE, 1) SET BarsOfDay = LASTIF(ConditionDateChange) SET Periods = BarsOfDay + 1 #Inibisco il calcolo della deviazione standard dei prezzi per le prime 4 barre di giornata SET DevStd = IF(Periods < 5, 0, StandardDeviations(CLOSE, Periods, 1, SIMPLE) ) #Modifica per evitare la divisione per zero SET DevStdModif = CHANGEIF(DevStd > 0, DevStd) #Divido la differenza per la deviazione standard ottenendo una percentuale #imponendo valore zero per le prime 4 barre di giornata (E' UNA SCELTA ARBITRARIA !!!) SET Percentuale = IF(Periods < 5, 0, Differenza / DevStdModif ) SET PLOT1 = Percentuale SET PLOT2 = 2 SET PLOT3 = 1 SET PLOT4 = -1 SET PLOT5 = -2 SET PLOTCOLOR1 = COLOR_YELLOW SET PLOTCOLOR2 = COLOR_LIGHT_GREEN SET PLOTCOLOR3 = COLOR_LIGHT_GREEN SET PLOTCOLOR4 = COLOR_LIGHT_RED SET PLOTCOLOR5 = COLOR_LIGHT_RED
Così mi sembra che funzioni !
-
12-03-14, 09:40 #36
- Data Registrazione
- Nov 2009
- Messaggi
- 476
-
12-03-14, 10:12 #37
- Data Registrazione
- Nov 2009
- Messaggi
- 476
x Smash
Salve Smash,
ho riscontrato lo stesso problema per le Fasce Pidi , non le plotta su grafici a 1 e 5 minuti, hai una gentile ed apprezzata soluzione anche per questo ?
Grazie per la pazienza e la disponibilità
-
12-03-14, 11:31 #38
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
-
12-03-14, 12:54 #39
- Data Registrazione
- Nov 2009
- Messaggi
- 476
-
12-03-14, 15:32 #40
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
A me con l'ultima modifica fatta funziona anche il Cac40 a 1 minuto, mentre la versione precedente invece no.
Fai una prova:
plotta questo
#Calcolo la deviazione standard dei prezzi da inizio giornata (a periodo variabile) SET ConditionDateChange = DATE > REF(DATE, 1) SET BarsOfDay = LASTIF(ConditionDateChange) SET Periods = BarsOfDay + 1 #Inibisco il calcolo della deviazione standard dei prezzi per le prime 4 barre di giornata SET DevStd = IF(Periods < 5, 0, StandardDeviations(CLOSE, Periods, 1, SIMPLE) ) #Modifica per evitare la divisione per zero SET DevStdModif = CHANGEIF(DevStd > 0, DevStd) * 100000 SET PLOT1 = DevStdModif SET PLOTCOLOR1 = COLOR_YELLOW
e magari verifica se l'indicatore plottato assume valore zero da qualche parte ....
Altrimenti un'altra possibile causa di errore potrebbe essere quella di non richiedere una quantità di dati sufficientemente grande quando carichi un grafico a 1 minuto oppure a 5 minuti.
Infatti per calcolare l'indicatore Pidi-Trend viene calcolata una deviazione standard a periodi variabili a partire dall'inizio di giornata, e se nel grafico non è presente almeno una barra del giorno prima beeTrader non sa mai a quanti periodi dovrebbe calcolarla.Ultima modifica di Smash; 12-03-14 alle 15:46