0% found this document useful (0 votes)
278 views2 pages

Indicator

The document describes the ALMA Smoothed Gaussian Moving Average (ASGMA) trading indicator, which incorporates various technical analysis components such as RSI and Chande Momentum to generate buy and sell signals. It includes parameters for smoothing, lookback periods, and adaptive settings for volatility, allowing for dynamic adjustments based on market conditions. The script is designed for use in trading platforms, providing visual cues through color-coded bars and alerts for trading opportunities.

Uploaded by

Be first gamer.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
278 views2 pages

Indicator

The document describes the ALMA Smoothed Gaussian Moving Average (ASGMA) trading indicator, which incorporates various technical analysis components such as RSI and Chande Momentum to generate buy and sell signals. It includes parameters for smoothing, lookback periods, and adaptive settings for volatility, allowing for dynamic adjustments based on market conditions. The script is designed for use in trading platforms, providing visual cues through color-coded bars and alerts for trading opportunities.

Uploaded by

Be first gamer.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

w=9,268

d=27,644

===================================================================================
======================================
ALMA smoothed gaussian moving average INDICATER(ASGMA-PROFITPROTRADING).
website-https://www.profitprotrading.com

//@version=5
indicator("ALMA Smoothed Gaussian Moving Average", shorttitle = "ASGMA",
overlay=true)

src = input(close, title='Source', group = "ALMA Smoothing")


smooth = input.int(1, title='Smoothing', minval=1, group = "ALMA Smoothing")
length1 = input.int(25, title='Lookback', minval=1, group = "ALMA Smoothing")
offset = 0.85
sigma1 = 7
pchange = ta.change(src, smooth) / src * 100
avpchange = ta.alma(pchange, length1, offset, sigma1)

//RSI
rsi = ta.rsi(close, 14)
rsiL = rsi > rsi[1]
rsiS = rsi < rsi[1]

//Chande Momentum
length11 = 9
src1 = close
momm = ta.change(src1)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = math.sum(m1, length11)
sm2 = math.sum(m2, length11)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
cL = chandeMO > chandeMO[1]
cS = chandeMO < chandeMO[1]

length = input.int(14, minval=1, title="Length", group = "Gaussian Adaptive Moving


Average")
adaptive = input.bool(true, title="Adaptive Parameters", group = "Gaussian Adaptive
Moving Average")
volatilityPeriod = input.int(20, minval=1, title="Volatility Period", group =
"Gaussian Adaptive Moving Average")

// Calculate Gaussian Moving Average


gma = 0.0
sumOfWeights = 0.0
sigma = adaptive ? ta.stdev(close, volatilityPeriod) : input.float(1.0, minval=0.1,
title="Standard Deviation", group = "Gaussian Adaptive Moving Average")

for i = 0 to length - 1
weight = math.exp(-math.pow(((i - (length - 1)) / (2 * sigma)), 2) / 2)
value = ta.highest(avpchange, i + 1) + ta.lowest(avpchange, i + 1)
gma := gma + (value * weight)
sumOfWeights := sumOfWeights + weight

gma := (gma / sumOfWeights) / 2


gma:= ta.ema(gma, 7)
gmaColor = avpchange >= gma ? color.rgb(0, 161, 5) : color.rgb(215, 0, 0)

// Color bars based on signals until the next signal occurs


var int currentSignal = 0
currentSignal := avpchange >= gma ? 1 : -1//le_final ? -1 : currentSignal

var color barColor = na


if currentSignal == 1
barColor := color.rgb(0, 186, 6)
else if currentSignal == -1
barColor := color.rgb(176, 0, 0)

barcolor(barColor)
plotcandle(open, high, low, close, "Bar Color", barColor, barColor, bordercolor =
barColor)

//Plotting
ema = ta.ema(close, 7)
plot(ema, color=gmaColor, linewidth=3, title="Gaussian Moving Average")

plotshape(ta.crossover(avpchange,gma) and barstate.isconfirmed, "Buy Signal", text


= "B", textcolor = color.white, style = shape.labelup, location =
location.belowbar, color = color.rgb(0, 161, 5), offset = -1)
plotshape(ta.crossunder(avpchange,gma) and barstate.isconfirmed, "Sell Signal",
text = "S", textcolor = color.white, style = shape.labeldown, location =
location.abovebar, color = color.rgb(215, 0, 0), offset = -1)

bgcolor(ta.crossover(avpchange,gma) and barstate.isconfirmed and rsiL and cL ?


color.rgb(0, 162, 5, 85): na, offset = -1)
bgcolor(ta.crossunder(avpchange,gma) and barstate.isconfirmed and rsiS and cS ?
color.rgb(207, 0, 0, 85): na, offset = -1)
barcolor(gmaColor)

alertcondition(ta.crossover(avpchange,gma) and barstate.isconfirmed, title="Buy


Signal", message="Go Long! {{exchange}}:{{ticker}}")
alertcondition(ta.crossunder(avpchange,gma) and barstate.isconfirmed, title="Sell
Signal", message="Go Short! {{exchange}}:{{ticker}}")

You might also like