ALMA MACD

If you need an Indicator or Signal developed or translated from other language, please post all Indicator development REQUESTS to this section here.

Moderator: admin

ALMA MACD

Postby isamegrelo » Thu Aug 10, 2017 1:18 pm

Formula:


//parameters
// Sigma = 4
// Offset = 0.85
// Fast = 12
// Slow = 26
// Signal = 9

Price = customclose

//---Fast MA
m = (Offset * (Fast - 1))
s = Fast/Sigma
WtdSum = 0
CumWt = 0
for k = 0 to Fast - 1 do
Wtd = Exp(-((k-m)*(k-m))/(2*s*s))
WtdSum = WtdSum + Wtd * Price[Fast - 1 - k]
CumWt = CumWt + Wtd
next
FastMA = WtdSum / CumWt

//---Slow MA
n = (Offset * (Slow - 1))
t = Slow/Sigma
SWtdSum = 0
SCumWt = 0
for k = 0 to Slow - 1 do
SWtd = Exp(-((k-n)*(k-n))/(2*t*t))
SWtdSum = SWtdSum + SWtd * Price[Slow - 1 - k]
SCumWt = SCumWt + SWtd
next
SlowMA = SWtdSum / SCumWt

//---MACD
ALMAMACD = FastMA-SlowMA

//---Signal MA
n = (Offset * (Signal - 1))
t = Signal/Sigma
SWtdSum = 0
SCumWt = 0
for k = 0 to Signal - 1 do
SWtd = Exp(-((k-n)*(k-n))/(2*t*t))
SWtdSum = SWtdSum + SWtd * ALMAMACD[Signal - 1 - k]
SCumWt = SCumWt + SWtd
next
SignalMACD = SWtdSum / SCumWt

RETURN ALMAMACD as "ALMA MACD", SignalMACD as "Signal line"
isamegrelo
FXCodeBase: Initiate
 
Posts: 114
Joined: Mon May 29, 2017 3:36 pm



Return to Indicator and Signal Requests

Who is online

Users browsing this forum: No registered users and 38 guests