QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6109|回复: 1
打印 上一主题 下一主题

网格资金管理策略(附源码)

[复制链接]
字体大小: 正常 放大
sdfg123        

3

主题

13

听众

6

积分

升级  1.05%

该用户从未签到

自我介绍
跳转到指定楼层
1#
发表于 2017-2-28 16:18 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
策略原理:
  p; G/ {1 ^$ S/ j          将资金分为N份,采取随机抛点的形式入场,止损为10%,止盈为11%# h/ o+ i$ B6 i" s
          如果该份资金获利超过11%,则上移止盈止损线,且启动下一份资金抛点入场。$ r  J1 z! ]" _; E
          只有多头入场
  W( s1 P8 ^/ U! ~! @4 f# h/ ?/ _; i. Q3 ?/ D$ a, j6 Q
策略代码:/ s: @3 S6 z* q/ V( }# E
function  Strategy1(default_unit,default_exitway,freq)%
6 o9 t5 ^- V' b6 A' s$ k& [
targetList  =  traderGetTargetList();  
%获取目标资产信息
HandleList  =  traderGetHandleList();
%获取账户句柄
global  entrybar;
global  record;
for  k=1:length(targetList);

/ f. R% ~0 w3 p* c% W; H6 A* T
        %--------------------仓位、K线、当前bar的提取-----------------------------%
        %获取当前仓位
        [marketposition,~,~]=traderGetAccountPosition(HandleList(1),targetList(k).Market,targetList(k).Code);
        %策略中每次取数据的长度
        lags=90;
        dlags=20;
        barnum=traderGetCurrentBar(targetList(k).Market,targetList(k).Code);
        %数据长度限制
        if(barnum<lags)
                continue;
        end
        if(barnum<dlags)
                continue;
        end
        %获取K线数据
        [time,open,high,low,close,volume,turnover,openinterest]  =  traderGetKData(targetList(k).Market,targetList(k).Code,'min',freq,  0-lags,  0,false,'FWard');
        if  length(close)<lags
                continue;
        end;        
        %-------------------------交易逻辑-------------------------------%
        %----------入场信号--------------------%
        stoplossratio=0.01;
        stopearnratio=0.011;
        remain_num=find(record.isopen==1);
        remain.isopen=record.isopen(remain_num);
        remain.isearn=record.isearn(remain_num);
        remain.pivotprice=record.pivotprice(remain_num);
        remain.entrybar=record.entrybar(remain_num);
        remain.unit=record.unit(remain_num);
        [ValidCash,MarketCap,OrderFrozen,MarginFrozen,PositionProfit]  =  traderGetAccountInfo(HandleList(1));
        [~,~,Multiple,~,~,~,~,~,~]  =  traderGetFutureInfo(targetList(k).Market,targetList(k).Code);
        remain_share=10-length(remain_num);
        con1=0;
        if  remain_share~=0;
                con1=1;
                buyunit=fix(ValidCash/remain_share/close(end)/Multiple);
        end;
        for  i=1:length(remain_num)
                index=remain_num(i);
%                  barsinceentry=barnum-remain.entrybar(i);
%                  [~,entryopen,entryhigh,entrylow,entryclose,~,~,~]  =  traderGetKData(targetList(k).Market,targetList(k).Code,'min',freq,  0-barsinceentry,  0,false,'FWard');
%                  enterprice=entryclose(1);
                if  close(end)<remain.pivotprice(i)-stoplossratio*remain.pivotprice(i)  %  触发止损线
                        orderID2=traderDirectSell(HandleList(1),targetList(k).Market,targetList(k).Code,remain.unit(i),0,'market','sell');
                        if  orderID2==0
                                continue;
                        end;
                        record.isopen(index)=0;
                elseif  close(end)>remain.pivotprice(i)+stopearnratio*remain.pivotprice(i)  %  触发止盈线
                        record.pivotprice(index)=close(end);
                        record.isearn(index)=2;
                end;
        end;
        con2=randi([1  10],1,1)==1;
        con3=isempty(find(remain.isearn==1,1));
        buycon=con1  &&  con2  &&  con3;
        %---------------------------入场操作--------------------------------%
        if  buycon
                orderID1=traderDirectBuy(HandleList(1),targetList(k).Market,targetList(k).Code,buyunit,0,'market','buy');
                if  orderID1==0
                        continue;
                end;
                record.pivotprice=[record.pivotprice,close(end)];
                record.isearn=[record.isearn,1];
                record.isopen=[record.isopen,1];
                record.unit=[record.unit,buyunit];
                record.entrybar=[record.entrybar,barnum];
        end;
end
end
) j/ v4 c. I) |% G: M
9 C0 p/ m8 S, ?2 [" a
9 p  ?9 u& |7 c- O( u6 d
( P; L, G  T4 F0 |0 Z- D, O

' H, S8 h# l. m8 K8 b1 o0 x
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
sdfg123        

3

主题

13

听众

6

积分

升级  1.05%

该用户从未签到

自我介绍
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-7-19 12:12 , Processed in 1.208982 second(s), 54 queries .

回顶部