Developing a MIN/MAX indicator.

1 view (last 30 days)
Seth
Seth on 9 Sep 2012
Okay, so I'm attempting to make a min/max indicator.It shows the min & max value over certain periods.
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
Seth
Seth on 9 Sep 2012
I have five sets of data relating to the price of the Bund (German bond future, it is sampled daily)
  • Open
  • High
  • Low
  • Close
  • Date
They are all 879x1
Oleg Komarov
Oleg Komarov on 9 Sep 2012
I added the missing line of code: importfile('BundDaily.xls').

Sign in to comment.

Accepted Answer

Oleg Komarov
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)

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!