欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → Dual Thrust策略源码[疯狂宽客源码分享]

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有8531人关注过本帖树形打印复制链接

主题:Dual Thrust策略源码[疯狂宽客源码分享]

帅哥哟,离线,有人找我吗?
ArkShen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2015/2/5 14:52:21
Dual Thrust策略源码[疯狂宽客源码分享]  发帖心情 Post By:2015/3/19 22:09:22 [只看该作者]

// Dual Thrust
//这个系统是 Michael Chalek 在80 年代开发的 Dual Thrust。
//1. 在今天的收盘,计算两个值: 最高价-收盘价, 和 收盘价-最低价。然后取这两个值较大的那个,乘以k值0.7。把结果称为 触发值。
//2. 在明天的开盘,记录开盘价,然后在价格超过(开盘+触发值)时马上买入,或者价格低于(开盘-触发值)时马上卖空。

源码如下:

input:K1(0.5,0,2,0.1);//多头突破波动比例
input:K2(0.5,0,2,0.1);//多头突破波动比例
input:Mday(1,0,9,1);//M日期最大价差
input:Nday(1,0,9,1);//N日前最大价差
input:LOTS(1,0,9,1);


         HighD:=callstock(stklabel,vthigh,6,-1);
        LowD:=callstock(stklabel,vtlow,6,-1);
        CloseD:=callstock(stklabel,vtclose,6,-1); 
        CYC:=barslast(date<>ref(date,1))+1;        
        OpenD:=valuewhen(cyc=1,open);
        
        HH:= HHV(HighD,Mday);
        HC:= HHV(CloseD,Mday);
        LL:= LLV(LowD,Mday);
        LC:= LLV(CloseD,Mday);

        SellRange:=Max(HH - LC,HC - LL);

        HH:=HHV(HighD,Nday);
        HC:=HHV(CloseD,Nday);
        LL:=LLV(LowD,Nday);
        LC:=LLV(CloseD,Nday);

        BuyRange:=Max(HH - LC,HC - LL);
      
        
        UpperBand: OpenD + K1*BuyRange;
        LowerBand: OpenD - K2*SellRange;


        If    (HOLDING=0) THEN BEGIN
                If    (High>=UpperBand) THEN
                        Buy(HOLDING=0,lots,LIMITR,Max(Open,UpperBand));
               
                If    (Low<=LowerBand) THEN
                        BuyShort(HOLDING=0,lots,LIMITR,Min(Open,LowerBand));
        END

        If    (HOLDING<0) THEN BEGIN
                If    (High>=UpperBand) THEN BEGIN
                        SELLSHORT(HOLDING<0,lots,LIMITR,Max(Open,UpperBand));
                        Buy(HOLDING=0,lots,LIMITR,Max(Open,UpperBand));
                END
        END

        If    (HOLDING>0) THEN BEGIN
                If    (Low<=LowerBand) THEN BEGIN
                         Sell(holding>0,lots,limitr,Min(Open,LowerBand));
                        BuyShort(holding=0,lots,limitr,Min(Open,LowerBand));
                END
        END
        

持仓:holding,noaxis ,linethick0 ;
盈亏:asset-1000000,noaxis,coloryellow,linethick2;


-------------------------------------------------------------------------------

我是期货程序化交易的学习实践人员,自己建了一个专门针对程序化的网站,欢迎去网站一起讨论,网站名:疯狂宽客( http://www.crazyquants.com ),提供一些行业资讯,投资分析,经验分享等,论坛:疯狂宽客论坛( http://bbs.crazyquants.com/forum.php ),提供免费策略分享等,疯狂宽客程序化交易QQ群: 282368700,期待你的加入




 回到顶部