布林带突破策略(附源码)
策略名称:布林带突破策略策略说明:
多头入场:当前价格突破布林带上轨
空头入场:当前价格跌破布林带下轨
止损:开仓价格之下N倍ATR
止盈:开仓价格之上N倍ATR
回测曲线:
策略代码:
function BollTrading(Freq,ShareNum,N,plus)
targetList = traderGetTargetList();
HandleList = traderGetHandleList();
global s;
lags=20;
for j=1:length(targetList)
= traderGetKData(targetList(j).Market,targetList(j).Code,'day',1, -lags, 0,false,'FWard');
= traderGetKData(targetList(j).Market,targetList(j).Code,'min',Freq, -lags, 0,false,'FWard');
if length(closeday)<lags
continue;
end
mp=traderGetAccountPosition(HandleList(1),targetList(j).Market,targetList(j).Code);
=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)<BollDown(end);
con6=closemin(end)<openmin(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).stoplossprice || 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)<s(j).stopprofitprice
traderPositionTo(HandleList(1), targetList(j).Market,targetList(j).Code,0,0,'market','buy');
end
end
end
end
更多免费策略代码下载请登录atrader社区-策略服务下载,http://www.atrader.com.cn/stra.php
布林带突破策略源码下载,http://www.atrader.com.cn/stra.php?mod=model&pid=69 看不懂?有没有TB的? 什么源码
页:
[1]