量化交易matlab程序,【策略分享】Matlab量化交易策略源码分享

这是一个基于K线数据的横盘突破日内交易策略,采用收盘平仓,当价格突破过去30根K线高低点的上下0.5%范围时,进行买入或卖出操作。设置止损0.5%,盈利大于0.5%时启动跟踪止盈,回调20%即出场。策略代码实现包括条件判断和订单管理。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

策略名称:横盘突破策略

策略思路:

日内交易策略,收盘平仓;

横盘突破在过去30根K线的高低点围绕中轴上下0.5%的范围内波动时;

上轨=过去30根K线的最高价;

下轨=过去30根K线的最低价;

当价格突破上轨,买入开仓;

当价格跌穿下轨,卖出开仓。

多头出场条件:止损0.5%,盈利大于0.5%,启动跟踪止盈,回调20%多头出场

空头出场条件:止损0.5%,盈利大于0.5%,启动跟踪止盈,回调20%空头出场

策略代码:

function calmbreak(stoploss,stopprofit,trailinggap,Freq,shareNum)

% 横盘突破

% 日内交易策略,收盘平仓;

% 横盘突破在过去30根K线的高低点围绕中轴上下0.5% 的范围内波动时;

% 上轨=过去30根K线的最高价;

% 下轨=过去30根K线的最低价;

% 当价格突破上轨,买入开仓;

% 当价格跌穿下轨,卖出开仓。

% stoploss止损阈值

% stopprofit止盈阈值

% trailinggap跟踪止盈参数

% Freq 数据频率

% shareNum 买卖手数

%---------------------策略初始化与是否日内平仓---------------%

traderDailyCloseTime(145000); % 每天15:10分平仓

targetList = traderGetTargetList();

HandleList = traderGetHandleList();

marketposition=traderGetAccountPosition(HandleList(1),targetList(1).Market,targetList(1).Code);

lags=35;

[barnum,bartime] = traderGetCurrentBar(targetList(1).Market,targetList(1).Code);

if(barnum <=lags)

return;

end

%---------------------策略提取数据---------------%

[time,open,high,low,close,volume,turnover,openinterest] = traderGetKData(targetList(1).Market,targetList(1).Code,'min',Freq, 0-lags, 0,false,'FWard');

if length(close)<31

return;

end

%---------------------策略计算与基本逻辑---------------%

highTar = max(high(end-30:end-1));% 过去30根K线的最高价

lowTar = min(low(end-30:end-1));% 过去30根K线的最低价

if marketposition == 0 && close(end) > highTar

orderID1=traderBuy(HandleList(1),targetList(1).Market,targetList(1).Code,shareNum,0,'market','buy');

traderStopLossByOrder(HandleList(1),orderID1,stoploss,'Percent','market','stoplossS');

traderStopTrailingByOrder(HandleList(1),orderID1,stopprofit,'Percent',trailinggap,'Percent','market','trailingS');

end

if marketposition == 0 && close(end) < lowTar

orderID2=traderSellShort(HandleList(1),targetList(1).Market,targetList(1).Code,shareNum,0,'market','sell');

traderStopLossByOrder(HandleList(1),orderID2,stoploss,'Percent','market','stoplossB');

traderStopTrailingByOrder(HandleList(1),orderID2,stopprofit,'Percent',trailinggap,'Percent','market','trailingB');

end

end

更多免费策略源码下载请登录atrader社区-策略服务下载,http://www.atrader.com.cn/stra.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值