Developing a MIN/MAX indicator.
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Oleg Komarov
le 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')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Financial Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!