sdfg123 发表于 2017-2-20 16:28:35

布林带突破策略(附源码)

策略名称:布林带突破策略

策略说明:
多头入场:当前价格突破布林带上轨
空头入场:当前价格跌破布林带下轨
止损:开仓价格之下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

hyqh900707171 发表于 2017-12-29 16:38:29

看不懂?有没有TB的?

fayu21 发表于 2018-9-19 10:14:30

什么源码
页: [1]
查看完整版本: 布林带突破策略(附源码)