índice de sesgo de impulso
Forums › ProRealTime foro Español › Soporte ProScreener › índice de sesgo de impulso
- This topic has 2 replies, 2 voices, and was last updated 17 hours ago by
NicoGB67.
-
-
02/21/2025 at 11:40 AM #244141
Hola, me gustaría que me pudiesen hacer un proScreener o proyectador sobre el indicador “índice de sesgo de impulso”, en dicho proScreener quisiera que me avisara cuando aparece el punto ya sea verde o rojo, a continuación expongo su código:
momentumLength = 10
biasLength = 5
smoothLength = 10
impulseBoundaryLength = 30
stdDevMultiplier = 3
smoothIndicator =1
// Calcul de Momentum et Déviation Standard
moment = close – close[momentumLength]
stdDev = moment / ExponentialAverage[momentumLength](high – low) * 100
momentumUp = max(stdDev, 0)
momentumDown = min(stdDev, 0)
// Calcul des sommes avec une boucle
sumMomentumUp = 0
sumMomentumDown = 0
FOR i = 0 TO biasLength – 1 DO
sumMomentumUp = sumMomentumUp + momentumUp[i]
sumMomentumDown = sumMomentumDown + momentumDown[i]
NEXT
// Lissage et calcul des biais avec HMA intégrée
IF smoothIndicator=1 THEN
// Calcul de la Hull Moving Average (HMA) pour momentumUp
wmaHalfUp = WeightedAverage[ROUND(smoothLength / 2)](momentumUp)
wmaFullUp = WeightedAverage[smoothLength](momentumUp)
hullIntermediateUp = 2 * wmaHalfUp – wmaFullUp
smoothedMomentumUp = WeightedAverage[ROUND(SQRT(smoothLength))](hullIntermediateUp)
// Calcul de la Hull Moving Average (HMA) pour momentumDown
wmaHalfDown = WeightedAverage[ROUND(smoothLength / 2)](momentumDown)
wmaFullDown = WeightedAverage[smoothLength](momentumDown)
hullIntermediateDown = 2 * wmaHalfDown – wmaFullDown
smoothedMomentumDown = WeightedAverage[ROUND(SQRT(smoothLength))](hullIntermediateDown)
momentumUpBias = max(smoothedMomentumUp, 0)
momentumDownBias = max(-smoothedMomentumDown, 0)
ELSE
IF smoothIndicator=0 THEN
momentumUpBias = max(sumMomentumUp, 0)
momentumDownBias = max(-sumMomentumDown, 0)
ENDIF
ENDIF
// Moyenne des biais
averageBias = (momentumDownBias + momentumUpBias) / 2
// Calcul de la limite (boundary)
boundary = ExponentialAverage[impulseBoundaryLength](averageBias) + STD[impulseBoundaryLength](averageBias) * stdDevMultiplier
// Affichage des signaux
bullishSignal = momentumDownBias < momentumDownBias[1] AND momentumDownBias > boundary AND momentumDownBias > momentumUpBias
bearishSignal = momentumUpBias < momentumUpBias[1] AND momentumUpBias > boundary AND momentumUpBias > momentumDownBias
IF bullishSignal AND NOT bullishSignal[1] THEN
DRAWPOINT(barindex, low-0.02*low, 3)coloured(0,150,0)
//DRAWTEXT(“TP”, barindex,low-0.02*low, dialog, bold, 14) COLOURED(0, 150, 0)
ENDIF
IF bearishSignal AND NOT bearishSignal[1] THEN
DRAWPOINT(barindex, high+0.02*high,3)coloured(150,0,0)
//DRAWTEXT(“TP”, barindex,high+0.02*high, dialog, bold, 14) COLOURED(150,0, 0)
ENDIF
IF momentumUpBias > momentumUpBias[1] AND NOT (momentumDownBias > momentumDownBias[1]) THEN
r = 0
g = 255
b = 0
ELSIF momentumUpBias < momentumUpBias[1] AND NOT (momentumDownBias < momentumDownBias[1]) THEN
r = 0
g = 150
b = 0
ELSIF momentumDownBias > momentumDownBias[1] AND NOT (momentumUpBias > momentumUpBias[1]) THEN
r = 255
g = 0
b = 0
ELSIF momentumDownBias < momentumDownBias[1] AND NOT (momentumUpBias < momentumUpBias[1]) THEN
// Couleur rouge atténuée
r = 150
g = 0
b = 0
ENDIF
// Application des couleurs aux chandeliers
DRAWCANDLE(open, high, low, close) COLOURED(r,g,b)
RETURN02/21/2025 at 2:27 PM #24415302/21/2025 at 2:47 PM #244160 -
AuthorPosts
Find exclusive trading pro-tools on