最新公告
  • 欢迎您光临九毛八公式指标网www.9m8.cn,本站全新改版试运行,期间内容全部免费,欢迎下载!欢迎加入本站VIP
  • 金字塔【震荡+趋势混合策略】恒温器策略(适用)

    正文概述    2024-04-14 11:00:33  

    恒温器策略

    策略简述

    当CMI指标小于20时,策略处于震荡模式。

    若处于趋买市:

    最新价 max(开盘价+0.5*10日ART,3日平均低价),做多。

    最新价 max(开盘价-0.75*10日ART,3日平均高价),做空。

    若处于趋卖市:

    最新价 max(开盘价-0.75*10日ART,3日最低价),做多。

    最新价 max(开盘价+0.5*10日ART,3日最高价),做空。

    当CMI指标大于20时,策略处于趋势模式。

    趋势策略使用 布林带策略

    进入趋势模式后,有震荡模式下的持仓,以开仓价+-3个10日ATR为出场条件。

    策略详述

    恒温器策略以其能够在震荡和趋势市场中自动调节交易行为而得名。看到自动调节的字眼,很多人会觉得这一定是个高级、神秘的策略。但事实恰恰相反,这是个简单的策略组合,这类策略的关键在于将不同市场状态下能成功应用的策略相结合。

    市场状态转换,我们采用CMI指标(市场波皱指标)作为评判标准。

    当CMI值小于20,短周期震荡模式下运用的是区间突破结合模式识别策略。,我们将系统归于震荡模式。模式识别依靠关键价指标(关键价指的是(high+low+close)/3),如果当收盘价高于昨天的关键价,我们推测明天的市场是熊市(趋卖市),反之亦然。但是我们需明白,我们不是神算,不可能预测明天的市场,所以我们是计划以熊市手段去操作,但仍可以做多,只不过需要走出一定的行情。

    当CMI值大于20,该策略系统在趋势模式下(长周期)运用的是个类似布林通道策略(常规布林策略此处不做介绍)。值得称道的是,该模型考虑了趋势模式下,原有震荡持仓的处理问题。因为震荡模式的出场是以3日高低均价为准。但是把这个标准放在趋势模式下就不合时宜了,该策略的方法是以开仓价+-3个10日ATR为出场条件(一个相对较长期的条件)。

    代码

    //策略:恒温器系统
    //类型:中长期通道突破
    //版本:1.0
    //修订时间:2012.11.6
    //Designed By Rogarz

    //中间变量
    input:m(50,5,300,30),N(1.25,0.1,10,0.1),ss(1,1,100,1),k1(0.5,0.1,1,0.1),k2(0.75,0.1,1,0.1);
    variable:A:=0;//0表示仓位是在趋势模式下下单 1表示在震荡模式下下单
    MID : MA(CLOSE,M);//布林中轨
    UPPER:MID + N*STD(CLOSE,M);//布林上轨
    LOWER:MID - N*STD(CLOSE,M);//布林下轨
    今开:=callstock(stklabel,vtopen,6,0);
    CMI:=abs(close-ref(close,29))/(hhv(high,30)-LLV(L,30))*100;//0-100 取值越大,说明趋势越强,CMI 20震荡模式,反之为趋势
    关键价:(high+low+close)/3;//关键价的计算,国外常称作中枢价格(pivot point)
    ATR10:=ma(tr,10);
    3日均低价:=ma(L,3);

    3日均高价:=ma(h,3);

    手数:=ss;

    //交易条件
    if C 关键价 then begin
    趋买市开多平空条件:=C max(今开+k1*ATR10,3日均低价);
    趋买市开空平多条件:=C min(今开-k2*ATR10,3日均高价);
    end

    if c 关键价 then begin
    趋卖市开多平空条件:=C max(今开+k2*atr10,3日均低价);
    趋卖市开空平多条件:=C min(今开-k1*atr10,3日均高价);
    end

    趋势开多条件:=c upper;
    趋势开空条件:=c lower;
    趋势平多条件:=c
    趋势平空条件:=c

    震荡多单平仓条件:=c =enterprice-3*atr10;
    震荡空单平仓条件:=c =enterprice+3*ATR10;


    //交易系统
    if cmi 20 then begin {震荡模式}
    if C 关键价 then begin
    趋买市平空:sellshort(趋买市开多平空条件 and holding =0,手数,market);
    趋买市平多:sell(趋买市开空平多条件 and holding =0,手数,market);
    趋买市开多:buy(趋买市开多平空条件 and holding =0,手数,market);
    趋买市开空:buyshort(趋买市开空平多条件 and holding =0,手数,market);
    A:=1;
    end
    if c 关键价 then begin
    趋卖市平空:sellshort(趋卖市开多平空条件 and holding =0,手数,market);
    趋卖市平多:sell(趋卖市开空平多条件 and holding =0,手数,market);
    趋卖市开多:buy(趋卖市开多平空条件 and holding =0,手数,market);
    趋卖市开空:buyshort(趋卖市开空平多条件 and holding =0,手数,market);
    a:=1;
    end
    ENd

    if cmi =20 then BEGIN {趋势模式}
    if a:=1 then begin //趋势模式下 原震荡模式下 仓位处理
    震荡多单平仓:sell(震荡多单平仓条件 and holding 0,手数,market);
    震荡空单平仓:sellshort(震荡空单平仓条件 and holding 0,手数,market);
    a:=0;
    end

    if a:=0 then begin
    趋势平空:sellshort(趋势平空条件 and holding 0,手数,market);
    趋势平多:sell(趋势平多条件 and holding 0,手数,market);
    趋势开多:buy(趋势开多条件 and holding =0,手数,market);
    趋势开空:buyshort(趋势开空条件 and holding =0,手数,market);
    A:=0;
    end
    ENd
    //注意先平后开原则

    九毛八公式指标,一个优质的公式指标平台!
    九毛八公式指标 » 金字塔【震荡+趋势混合策略】恒温器策略(适用) 加入收藏