Página 2 de 2
Re: Mogalef Bands para ProRealTime
Publicado: 11 Sep 2025 18:47
por mark1991_17
Buenas tardes,
Muchas gracias por compartir el código!
Lo único que no logro habilitarlo sobre el precio en PRT, he probado distintas combinaciones, preguntado a CHATGPT pero no consigo aplicarlo en el precio, se me carga como un indicador aparte. Alguien me podría indicar si se debe hacer algo más sobre el código o estoy intentando ponerlo erróneamente?
Agradezco la ayuda, un saludo!
Re: Mogalef Bands para ProRealTime
Publicado: 12 Sep 2025 11:50
por Fercho
Que tal Mark,
Bueno lo primero es ir al gráfico del precio, haces un click donde dice "Precio" (extremo superior izq) y luego en "Configurar"; se va a abrir una ventana con el título Configuración del Gráfico... haz click en el extremo inferior izquierdo en "Añadir Indicador", y ahora sí eliges el indicador Mogalef Bands para que lo superponga sobre el precio directamente.
Re: Mogalef Bands para ProRealTime
Publicado: 12 Sep 2025 18:17
por Fercho
me ha venido bien este hilo, la versión PRT no era correcta, ya la he actualizado nuevamente!!
Re: Mogalef Bands para ProRealTime
Publicado: 16 Oct 2025 19:26
por mark1991_17
Muchas gracias por el update Fercho! Arreglado

Re: Mogalef Bands para ProRealTime
Publicado: 20 Oct 2025 16:42
por Fercho
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)