Good morning and a Happy New Year! I am trying to create a trading system based on the indicator posted by Nicolas, One More Average MACD, but I fail. I tried to tweak the different parameters but without any results. Any ideas why? Thanks!! //------------------------------------------------------------------------- defparam cumulateorders=false Defparam preloadbars=10000 amount = 10 //quantity of shares/contracts to open for each new order //--------------------------------------------------------------------------------// //Indicators //Indicator: PRC_OneMoreAverage MACD //Release date: 23.11.2016 //Web: https://www.prorealcode.com/prorealtime-indicators/one-more-average-macd/ //Coded by: Nicolas @ www.prorealcode.com //--parameters //>OMA parameters Sensibility = 1 Adaptive = 1 //>MACD periods FLength = 24 SLength = 52 //>signal line SigLength = 9 Sigma = 4 Offset = 0.85 //-------- Speed = Sensibility Speed = Max(Speed,-1.5) price = average[1](customclose) tconst=Speed //--Fast moving average FLength = Max(FLength,1) //adaptive period averagePeriod = FLength if adaptive=1 and averagePeriod > 1 then minPeriod = averagePeriod/2.0 maxPeriod = minPeriod*5.0 endPeriod = round(maxPeriod) signal = Abs((price-stored[endPeriod])) noise = 0.00000000001 for k=1 to endPeriod do noise=noise+Abs(price-stored[k]) averagePeriod = round(((signal/noise)*(maxPeriod-minPeriod))+minPeriod) next endif alpha = (2.0+tconst)/(1.0+tconst+averagePeriod) e1 = e1 + alpha*(price-e1) e2 = e2 + alpha*(e1-e2) v1 = 1.5 * e1 - 0.5 * e2 e3 = e3 + alpha*(v1 -e3) e4 = e4 + alpha*(e3-e4) v2 = 1.5 * e3 - 0.5 * e4 e5 = e5 + alpha*(v2 -e5) e6 = e6 + alpha*(e5-e6) Fast = 1.5 * e5 - 0.5 * e6 //------------------------------------ //--Slow moving average SLength = Max(SLength,1) //adaptive period averagePeriod = SLength if adaptive=1 and averagePeriod > 1 then minPeriod = averagePeriod/2.0 maxPeriod = minPeriod*5.0 endPeriod = round(maxPeriod) signal = Abs((price-stored[endPeriod])) noise = 0.00000000001 for k=1 to endPeriod do noise=noise+Abs(price-stored[k]) averagePeriod = round(((signal/noise)*(maxPeriod-minPeriod))+minPeriod) next endif alpha = (2.0+tconst)/(1.0+tconst+averagePeriod) e1 = e1 + alpha*(price-e1) e2 = e2 + alpha*(e1-e2) v1 = 1.5 * e1 - 0.5 * e2 e3 = e3 + alpha*(v1 -e3) e4 = e4 + alpha*(e3-e4) v2 = 1.5 * e3 - 0.5 * e4 e5 = e5 + alpha*(v2 -e5) e6 = e6 + alpha*(e5-e6) Slow = 1.5 * e5 - 0.5 * e6 //------------------------------------ //--Signal moving average OMAMACD = Slow-Fast SigLength = Max(SigLength,1) //---Signal MA n = (Offset * (SigLength - 1)) t = SigLength/Sigma SWtdSum = 0 SCumWt = 0 for k = 0 to SigLength - 1 do SWtd = Exp(-((k-n)*(k-n))/(2*t*t)) SWtdSum = SWtdSum + SWtd * OMAMACD[SigLength - 1 - k] SCumWt = SCumWt + SWtd next SIGMACD = SWtdSum / SCumWt //------------------------------------ stored=price //------------------------------------ BullSMA=(SIGMACD<OMAMACD) BearSMA=(SIGMACD>OMAMACD) //--------------------------------------------------------------------------------// //Conditions when to act if (not longonmarket and BullSMA)then buy amount shares at market endif if (longonmarket and BearSMA and positionperf>0) then sell at market endif