Developing a MIN/MAX indicator.
1 view (last 30 days)
Show older comments
Okay, so I'm attempting to make a min/max indicator.It shows the min & max value over certain periods.
I'm using data from http://www.mathworks.com/matlabcentral/fileexchange/29489-algorithmic-trading-with-matlab-2010s as practice.
i.e. (Obviously this example is offset slightly. Ignore that.)
So far this is what I've come up with(focusing just on the max):
importfile('BundDaily.xls')
period = 14;
maxp = floor(length(High) / period);
startscale = 1;
endscale = 14;
fp = max(High(startscale:endscale,:));
for i=startscale:endscale:maxp
B(i) = fp;
startscale = (startscale + period);
endscale = (endscale + period);
plot(B, 'r') , hold on
end
This is the result:
Methinks the problem is either:
- How I'm using the max function.
- Problem with the for loop.
- Perhaps I need to somehow use a movavg?
- All of the above!? haha
I'm new to Matlab(clearly) so any help would be much appreciated. Thank-you in advance!
3 Comments
Accepted Answer
Oleg Komarov
on 9 Sep 2012
Plotting on Close with window size 14.
importfile('BundDaily.xls')
period = 14;
n = numel(Close);
% Run moving max
mClose = NaN(n,1);
for ii = 1:length(Close)-period
mClose(period+ii) = max(Close(ii:ii+period-1));
end
% Zoom the graph to see the candles
candle(High,Low,Close,Open)
hold on
plot(mClose,'r')
More Answers (0)
See Also
Categories
Find more on Financial Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!