Moving Average Ribbon (Fascio di medie mobili) è il nome di una tecnica basata su un insieme di medie mobili, inserite tutte sullo stesso grafico, per identificare il trend. Quando tutte le medie mobili si muovono nella stessa direzione il trend è considerato forte.

Il principio è molto semplice. Da vedere sul grafico l’andamento dell’indicatore è anche accattivante. Ma funziona?

ic1Come è tradizione non guardiamo alle apparenze ma traduciamo tutto in numeri per dare un senso a quella che potrebbe essere una idea alla base di una strategia.

La media di partenza che abbiamo usato è quella standard a 10 periodi con un incremento di 10. Il fascio è composto da 8 medie. Compriamo quando i prezzi superano in chiusura il fascio di medie, vendiamo stop & reverse quando chiudono sotto.

Come potete vedere dalle due curve dei profitti ottenute su Dax e Ftsemib dal 1996 qualcosa di buono c’è. La tecnica sembra effettivamente in grado di identificare il trend in modo efficace portando a un profit factor di 1,29 sul Ftsemib a 15 minuti e 1,21 sul Dax a 30 minuti. L’average trade è piuttosto ampio (maggiore di 120 € in entrambi i casi con un contratto) ed in grado di assorbire slippage e commissioni. Certamente questo non sarebbe un trading system tradabile sia perché manca un money management che andrebbe implementato, sia perché la percentuale di successo è troppo bassa per poter conquistare la fiducia di un trader, anche se automatico: siamo nel caso del Dax sotto al 30%… Tradotto significa che ci sarebbe bisogno di studiare come filtrare un po’ di falsi segnali portando tale percentuale vicina al 50% tipica dei migliori trend follower; partire da qualcosa che non fa perdite ma guadagni senza ottimizzazioni è comunque già essere a 1/3 di strada.

A breve troverete anche la versione per Metatrader sul sito MQL4Academy

Risultati del trading system Sar Moving Average Ribbon sul ftsemib future a 15 minuti

Risultati del trading system Sar Moving Average Ribbon sul ftsemib future a 30 minuti

dax

Equity line sul Dax a 30 minuti del trading system Moving Average Ribbon

Qui il listato messo in formato testo volutamente per consentirne la codifica anche in altri linguaggi di programmazione:

{Moving Average Ribbon
Copyright Enrico Malverti www.enricomalverti.com
2016
Codice Easy/Power Language per Tradestation/Multicharts}
inputs:
Price( Close ),
BaseLength( 10 ),
ArithOrGeom_1or2( 1 ),
IncrementOrMultiplier( 10 ),

FastColor( Yellow ),
SlowColor( Red ) ;

variables:
var0( 0 ) ;
arrays:
arr0[8]( 0 ),
arr1[8]( 0 ),
arr2[8]( 0 ),
arr3[8]( 0 ) ;

if CurrentBar = 1 then
begin
arr0[1] = BaseLength ;
arr1[1] = 2 / ( arr0[1] + 1 ) ;
arr2[1] = Price ;
arr3[1] = GradientColor( 1, 1, 8, FastColor, SlowColor ) ;
for var0 = 1 to 7
begin
if ArithOrGeom_1or2 = 1 then
arr0[ var0 + 1 ] = arr0[var0] + IncrementOrMultiplier
else
arr0[ var0 + 1 ] = arr0[var0] * IncrementOrMultiplier ;
arr1[ var0 + 1 ] = 2 / ( arr0[ var0 + 1 ] + 1 ) ;
arr2[ var0 + 1 ] = Price ;
arr3[ var0 + 1 ] = GradientColor( var0 + 1, 1, 8, FastColor,
SlowColor ) ;
end ;
end
else

for var0 = 1 to 8
begin
arr2[var0] = arr2[var0][1] + arr1[var0] * ( Price –
arr2[var0][1] ) ;
end ;

  if //C > ematrend(3, 21) and
C > arr2[1] and C > arr2[2]   and C > arr2[3] and C > arr2[4]
and C > arr2[5] and C > arr2[6]
and C > arr2[7] and C > arr2[8]
then buy next bar at market
else
if //C < ematrend(3, 21)   and
C < arr2[1] and C < arr2[2]
and C < arr2[3] and C < arr2[4]
and C < arr2[5] and C < arr2[6]
and C < arr2[7] and C < arr2[8]
   then  sellshort next bar at market;