Que tal, he actualizado el código nuevamente,
ChangeLog:
1) el Período ahora es el mismo para el cálculo de regresión lineal y la desviación estándard,
2) le agrego el multiplicador k como variable para el cálculo de las bandas tal como se detalla en el
artículo de X,
3) le agrego una protección Max=1: en el caso de que se le asigne un valor inferior a 1, las bandas seperiores e inferiores se igualarían (respectivamente).
4) renombre de variables y simplificación de código
5) versión para
NT8
Código: Seleccionar todo
P = 13
k = 1.5
prc =(Open + TypicalPrice + Close)/3
lrg = LinearRegression[P](prc)
sdv = Std[P](lrg)
IF BarIndex < P THEN
BandHigher = BandHigh = Undefined
BandLower = BandLow = Undefined
ELSE
IF lrg > BandHigher[1] AND lrg < BandLower[1] THEN
lrx = lrg
dev = sdv
ELSE
lrx = lrg[1]
dev = sdv[1]
ENDIF
k = MAX(k,1)
BandHigher = lrx + k*dev
BandHigh = lrx + dev
BandLow = lrx - dev
BandLower = lrx - k*dev
Median =(BandHigher + BandLower)/2
ENDIF
return BandHigher AS "Mogalef Higher Band" COLOURED(0,0,255), BandHigh AS "Mogalef High Band" COLOURED(173,216,230), Median AS "Mogalef Median Band" COLOURED(0,0,0), BandLow AS "Mogalef Low Band" COLOURED(255,0,0), BandLower AS "Mogalef Lower Band" COLOURED(139,0,0)
"Los números son como prisioneros de guerra, cuanto más los sacudes, más información te dan"