[cmd] Bill Williams Smoothed Moving Average SMA (SMMA)

stable
By Kobalt in Trend Published July 2020 👁 2,373 views 💬 0 comments

Description

Bill Williams Smoothed Moving Average SMA (SMMA) Often used for its smoothing properties (I'm truly flattered that after I published this for what it really shines as a Moving Average: SmMA is now gaining momentum as a trendy Moving Average after Kraken was first to add it (together with z-score, good busy kraken...;]) Now most exchange TradingView widgets offer it as SMA (it seems they finally got SMMA right lets see if they remembered to update their Alligator approximation from SMA to SMAA ;) Beginning to LOVE SMA and am making Guppy style bands with it already like SMA over MA and EMA most of the times) Used in my coming Soon... ™ True Williams Alligator (with Timeframe Multiplier) SmoothMoneyFlow: https://www.haasscripts.com/t/kobalt-smooth-money-flow/ credits: I probably wouldn't have done it without pshai who was kind enough to made the SMMA function..:)
HaasScript
-- SMMA function for Alligator Trend lines.
-- https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/alligator
-- Created by pshai

DefineCommand("SMMA", "Bill Williams Smoothed Moving Average (SMMA)")
--local chartIndex = DefineParameter(NumberType, 'chartIndex', 'The index on which to chart', false, 0, 'Number')
local src = DefineParameter(ListNumberType, "source", "Source data series.", true, HLPrices(), "HLPrices")
local period = DefineParameter(NumberType, "period", "Period length of calculation", true, 10)

DefineIntervalOptimization(CurrentInterval(src))

local s = Load('s', HNC())

if (Count(s) == 0) then
    s = SMA(src, period)
else
    local t1 = Grab(src, 0, period)
    local t2 = Grab(s, 0, period)
    s = (Sum(t1) - t2 + t1) / period
end
--Plot(0, 'SMMA', s, SkyBlue)
Save('s', s)

DefineOutput(ListNumberType, s, "SMMA result", "Plot")

0 Comments

Sign in to leave a comment.

No comments yet. Be the first!