4.K线图以及常用技术指标的Matlab实现-基于Matlab的量化投资
2012-08-04 21:27阅读:
2.
从一个例子说起-基于Matlab的量化投资
http://www.matlabsky.com/thread-28490-1-1.html
3.关于BackTesting中一些细节的思考-基于Matlab的量化投资
http://www.matlabsky.com/thread-28573-1-1.html
Matlab的Bar图中Bar颜色灵活设置的一点总结【by faruto】
http://www.matlabsky.com/thread-24447-1-1.html
[原创]坐标轴刻度标签旋转升级版
http://www.matlabsky.com/thread-23524-1-1.html
========================
本次测试Demo使用数据,IF在20120104的主力数据-1分钟线。数据形式:
K线图实现:

局部:

该K线图实现与matlab自带的candle的K线图实现的区别是
matlab的candle生成的K线图阴线阳线的颜色是一样的,不能灵活设置。该K线图可以灵活设置阴线阳线的颜色。
实现测试脚本代码:
[code]
%%
K线图Matlab实现Demo
% by LiYang/faruto
%
Email:farutoliyang@gmail.com
% 2012/8/4
scrsz =
get(0,'ScreenSize');
figure('Position',[1 1
scrsz(3)*4/5 scrsz(4)]);
subplot(3,1,[1
2]);
OHLC = F(:,3:6);
cndlV2(OHLC,0,'r','b','k');
xlim([1,length( OHLC
)]);
% % Tick Label Set
XTick = [];
XTickLabel = [];
XTick = [XTick; 1];
str =
[num2str(F(1,1)),'-',num2str(F(1,2))];
XTickLabel{numel(XTickLabel)+1, 1} =
str;
ind = find(F(:,2) == 1000, 1);
if ~isempty(ind)
XTick = [XTick; ind
];
str = [num2str(F(ind,
1)),'-',num2str(F(ind, 2))];
XTickLabel{numel(XTickLabel)+1, 1} = str;
end
ind = find(F(:,2) == 1130, 1);
if ~isempty(ind)
XTick = [XTick; ind
];
str = [num2str(F(ind,
1)),'-',num2str(F(ind, 2))];
XTickLabel{numel(XTickLabel)+1, 1} = str;
end
ind = find(F(:,2) == 1400, 1);
if ~isempty(ind)
XTick = [XTick; ind
];
str = [num2str(F(ind,
1)),'-',num2str(F(ind, 2))];
XTickLabel{numel(XTickLabel)+1, 1} = str;
end
ind = length(F(:,1));
XTick = [XTick; ind ];
str = [num2str(F(ind, 1)),'-',num2str(F(ind,
2))];
XTickLabel{numel(XTickLabel)+1, 1} =
str;
set(gca,'XTick', XTick);
set(gca,'XTickLabel', XTickLabel);
TickLabelRotate(gca, 'x', 30, 'right');
title('K线图Matlab实现Demo', 'FontWeight','Bold', 'FontSize', 15);
subplot(313);
bar( F(:,7) );
xlim([1,length( OHLC
)]);
title('成交量', 'FontWeight','Bold', 'FontSize', 15);
set(gca,'XTick', XTick);
set(gca,'XTickLabel', XTickLabel);
TickLabelRotate(gca, 'x', 30, 'right');
[/code]
K线图函数代码(只需开高低收,即可画出K线图)
[code]