设为首页收藏本站

 找回密码
 注册
查看: 2178|回复: 0
打印 上一主题 下一主题

BollTrade策略(附源码) [复制链接]

精华
0
UID
247176
积分
162
帖子
72
主题
68
阅读权限
0
注册时间
2017-2-14
最后登录
2017-5-18
跳转到指定楼层
1#
发表于 2017-3-15 16:31:03 |只看该作者 |倒序浏览
策略思路:
多头入场:当前价格突破布林带上轨
空头入场:当前价格跌破布林带下轨
止损:开仓价格之下N倍ATR
止盈:开仓价格之上N倍ATR

策略源码:

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)<lags
        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)<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

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

BollTrade策略源码下载:http://www.digquant.com.cn/stra.php?mod=model&pid=109
您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-2 18:56

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部