matlab 突破交易策略,【每日一策】Matlab量化交易策略之 布林带突破策略

该代码实现了一种基于Bollinger Bands(布林带)的交易策略。它首先获取历史K线数据,然后计算Bollinger Bands、平均真实范围(ATR)等指标。当满足开多或开空条件时,执行买入或卖出操作,并设置止损和止盈价格。同时,根据市场变动调整已有头寸的止损和止盈。
摘要由CSDN通过智能技术生成

function BollTrading(Freq,ShareNum,N,plus)

targetList = traderGetTargetList();

HandleList = traderGetHandleList();

global s;

lags=20;

for j=1:length(targetList)

[timeday,openday,highday,lowday,closeday,volumeday,turnoverday,openinterestday] = traderGetKData(targetList(j).Market,targetList(j).Code,'day',1, -lags, 0,false,'FWard');

[timemin,openmin,highmin,lowmin,closemin,volumemin,turnovermin,openinterestmin] = traderGetKData(targetList(j).Market,targetList(j).Code,'min',Freq, -lags, 0,false,'FWard');

if length(closeday)

continue;

end

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

[mid, BollUp, BollDown]=Bollin_c(closeday,N,plus);

TRvalue=TR(closemin,highmin,lowmin);

atr=mean(TRvalue(end-atrlength+1:end));

%开多条件

con2=lowmin(end)>BollUp(end);

con3=closemin(end)>openmin(end);

%开空条件

con5=highmin(end)

con6=closemin(end)

if mp==0

if con2&&con3

traderDirectBuy(HandleList(1), targetList(j).Market,targetList(j).Code,ShareNum,0,'market','buy');

s(j).stoplossprice=closemin(end)-4*atr;

s(j).stopprofitprice=closemin(end)+4*atr;

elseif con5&&con6

traderDirectSell(HandleList(1), targetList(j).Market,targetList(j).Code,ShareNum,0,'market','buy');

s(j).stoplossprice=closemin(end)+4*atr;

s(j).stopprofitprice=closemin(end)-4*atr;

end

end

%% 止损

if mp>0

if closemin(end)s(j).stopprofitprice

traderPositionTo(HandleList(1), targetList(j).Market,targetList(j).Code,0,0,'market','buy');

end

end

if mp<0

if closemin(end)>s(j).stoplossprice || closemin(end)

traderPositionTo(HandleList(1), targetList(j).Market,targetList(j).Code,0,0,'market','buy');

end

end

end

end

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值