Backtesting simple moving average trading strategy
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Quantopic
il 8 Set 2014
Commentato: Josh Perry
il 18 Lug 2015
Hi everyone, I have to backtest a trading strategy based on the cross of 3 simple moving average of 4,9 and 18 periods. The script I wrote down is the foloowing:
% Construction of the 3 SMA for 4,9 and 18 periods.
SMA.sma4 = tsmovavg(EURUSD.price.pt1,'s',20,1);
SMA.sma9 = tsmovavg(EURUSD.price.pt1,'s',45,1);
SMA.sma18 = tsmovavg(EURUSD.price.pt1,'s',90,1);
% Construction of the buying/selling signals.
if SMA.sma4 >= SMA.sma9 && SMA.sma18 >= SMA.sma9;
SIGNALS.buy = 1;
else SIGNALS.buy = 0;
end
if SMA.sma4 <= SMA.sma9 && SMA.sma18 <= SMA.sma9; SIGNALS.sell = 1; else SIGNALS.sell = 0; end My problem consists on the fact that the SIGNALS.buy vector is always equal to 0 and I do not get signals for buying/selling assets.
Is there something wrong in the the script or the trading strategy does not work? Thanks for help.
0 Commenti
Risposta accettata
Roger Wohlwend
il 9 Set 2014
Modificato: Roger Wohlwend
il 9 Set 2014
Indeed, your code could be the reason that you don't get any buy signal. Try the following:
SIGNALS.buy = (SMA.sma4 >= SMA.sma9) & (SMA.sma18 >= SMA.sma9);
SIGNALS.sell = (SMA.sma4 <= SMA.sma9) & (SMA.sma18 <= SMA.sma9);
That should do it. If you still do not get any buy signal then you should check your trading strategy.
4 Commenti
Josh Perry
il 18 Lug 2015
yes but how do you back test this???? I am so lost on the backtesting of something like this in matlab
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Transaction Cost Analysis in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!