Backtesting simple moving average trading strategy
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Quantopic
am 8 Sep. 2014
Kommentiert: Josh Perry
am 18 Jul. 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 Kommentare
Akzeptierte Antwort
Roger Wohlwend
am 9 Sep. 2014
Bearbeitet: Roger Wohlwend
am 9 Sep. 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 Kommentare
Josh Perry
am 18 Jul. 2015
yes but how do you back test this???? I am so lost on the backtesting of something like this in matlab
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Transaction Cost Analysis finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!