如何用matlab画股市K线,修改内置candle函数

您所在的位置:网站首页 蜡烛的图片怎么画 如何用matlab画股市K线,修改内置candle函数

如何用matlab画股市K线,修改内置candle函数

2024-07-13 12:04:19| 来源: 网络整理| 查看: 265

MATLAB里面自带了画K线的函数candle 自带函数效果预览图原始candle的使用方法语法描述输入参数 修改源代码原始代码修改部分 最终显示预览修改后的完整代码

自带函数效果预览图

Alt 可以看出K线图有基本的框架,但是和我们平常的习惯不同,还需要修改其颜色,使得更直观些

原始candle的使用方法 语法

candle(Data) candle(Data,Color) h = candle(ax___)

描述

例子 candle(Data)从证券的一系列开盘价、最高价、最低价和收盘价中绘制蜡烛形图。如果收盘价大于开盘价,则主体(开盘价和收盘价之间的区域)未填充;否则主体被填充。

例子 candle(Data,Color)添加Color的可选参数.

例子 h = candle(ax___)为ax添加可选参数. 默认为gca,可选任意坐标轴

输入参数

Data=开盘价、最高价、最低价和收盘价数据 开盘价、最高价、最低价和收盘价的数据,指定为矩阵、表格或时间表。对于矩阵输入,Data 是存储在相应列中的开盘价、最高价、最低价和收盘价的M矩阵。 数据类型:double|table|timetable

color= (可选) 三个元素颜色矢量 图形窗口的背景颜色(默认) |颜色矢量[R G B] |字符串 三个元素颜色矢量,指定为[R G B]颜色矢量或指定颜色名称的字符串。默认颜色因图形窗口的背景颜色而异。 数据类型:double|string

修改源代码 原始代码 function varargout = candle(varargin) %--------------------------- Parsing/Validation --------------------------% try narginchk(1,Inf); [ax,args] = internal.finance.axesparser(varargin{:}); if ~isempty(ax) && ~isscalar(ax) error(message('finance:internal:finance:axesparser:ScalarAxes')) end output = internal.finance.ftseriesInputParser(args, ... 4,{'open','high','low','close'},{},{},{'Color'},{''},{@(x)1,@ischar},1); catch ME throwAsCaller(ME) end [data,optional,dates,~] = output{:}; op = data(:,1); hi = data(:,2); lo = data(:,3); cl = data(:,4); % Validation work will be left to child functions. color = optional.Color; %------------------------------ Data Preparation -------------------------% % Need to pad all inputs with NaN's to leave spaces between day data % Vertical High/Low lines data preparation. numObs = length(hi(:)); hiloVertical = [hi lo NaN(numObs, 1)]'; indexVertical = repmat(dates',3,1); % Boxes data preparation if isdatetime(dates) && length(dates) > 1 %If using datetimes, make the box width one half of the smallest %distance between dates inc = 1/4 * min(diff(dates)); else inc = 0.25; end indexLeft = dates - inc; indexRight = dates + inc; %------------------------------- Plot ------------------------------------% if isempty(ax) ax = gca; end % Store NextPlot flag (and restore on cleanup): next = get(ax,'NextPlot'); cleanupObj = onCleanup(@()set(ax,'NextPlot',next)); backgroundColor = get(ax,'color'); if isempty(color) cls = get(ax, 'colororder'); color = cls(1, :); end h = gobjects(numObs+1,1); % Preallocate % Plot vertical lines h(1) = plot(ax,indexVertical(:),hiloVertical(:),'Color',color,'AlignVertexCenters','on'); set(ax,'NextPlot','add') % Plot filled boxes colorSet = {backgroundColor,color}; % Filled the boxes when opening price is greater than the closing price. filledIndex = ones(numObs, 1); filledIndex(op > cl) = 2; try for i = 1 : numObs h(i+1) = fill(ax, ... [indexLeft(i); indexLeft(i); indexRight(i); indexRight(i)], ... [op(i); cl(i); cl(i); op(i)],colorSet{filledIndex(i)},'Edgecolor',color, ... 'AlignVertexCenters', 'on'); end catch ME throwAsCaller(ME) end switch next case {'replace','replaceall'} grid(ax, 'on') case {'replacechildren','add'} % Do not modify axes properties end if nargout % Not equal to 0 varargout = {h}; end end; 修改部分

在这里插入图片描述 1. 这里是输入参数的读取 2. 这里是单日数据的读取 由此可见,输入参数不管为多少个,只取前4个 在这里插入图片描述 1.这里是日期长度,后期画图plot需要的横坐标和纵坐标 2. 这里是画框需要的坐标点,后期画图fill需要的参数 3. 这里是坐标轴的设置,默认取当前axes

在这里插入图片描述 1. 这里是默认颜色的选取,可以不管 2. 这里是画直线的,也就是每天的最高价和最低价之间的细线,统一都是一种颜色,所以等会需要更 改,用两个plot分别画出不同颜色的细线 3. 这里是后面 fill 给框框填色的颜色选取,由前面的设置选取,需要更改 4. 这里是后面判断填色的依据

2处的修改

kk=indexVertical(:,find(op > cl)); kkk=hiloVertical(:,find(op > cl)); hh1=plot(ax,kk(:),kkk(:),'color',[0 150/255 0],'LineWidth',1,'AlignVertexCenters','on'); hold on; kk=indexVertical(:,find(op


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭