您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

为什么用 超级日内测试 pp00一分钟数据 会没有结果呢 [金字塔]

  • 咨询内容: 不是数据导入的问题 因为其他策略回测有数据 答主能实际操作下吗

     

  • 金字塔客服:

    //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!

    //策略:超级日内组合系统
    //类型:日内5、走完K线
    //版本:1.0
    //详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=34043
    //修订时间:2012.12.24
    //DESIGNED BY ROGARZ

    //中间变量
    INPUT:SS(1,1,100,1),K1(0.3,0.1,1,0.1),K2(0.6,0.1,1,0.1),BOCP(0.25,0,1,0.01),FBOCP(0.25,0,1,0.01);
    VARIABLE:开多次数=0,开空次数=0,趋买市=0,趋卖市=0,多头止损价=0,空头止损价=0;
    CYC:=BARSLAST(DATE>REF(DATE,1))+1;
    昨开:=CALLSTOCK(STKLABEL,VTOPEN,6,-1);
    昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
    昨昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-2);//昨天的前一天的收盘价,暂称为昨昨收
    昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
    昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
    今高:=IF(CYC=1,HIGH,REF(HHV(HIGH,CYC),1));
    今低:=IF(CYC=1,LOW,REF(LLV(LOW,CYC),1));
    今开:=IF(CYC=1,OPEN,REF(OPEN,CYC-1));
    10日平均波幅:=ref(MA(CALLSTOCK(STKLABEL,VTHIGH,6,0)-CALLSTOCK(STKLABEL,VTLOW,6,0),10),1);//AVERAGERANGE
    10日平均开收盘区间:=ref(MA(ABS(CALLSTOCK(STKLABEL,VTopen,6,0)-CALLSTOCK(STKLABEL,VTclose,6,0)),10),1);//AVERAGEOCRANGE
    开关:ABS(昨开-昨收)<0.85*10日平均开收盘区间;//CANTRADE
    3周期最高价:=REF(HHV(HIGH,3),1);
    3周期最低价:=REF(LLV(LOW,3),1);
    多头突破确认价:=昨高+BOCP*10日平均波幅;//LONGBREAKPT
    空头突破确认价:=昨低-BOCP*10日平均波幅;//SHORTBREAKPT
    多翻空确认价:=昨低+FBOCP*10日平均波幅;//LONGFBOPOINT
    空翻多确认价:=昨高-FBOCP*10日平均波幅;//SHORTFBOPOINT
    手数:=SS;
    开仓历时:=ENTERBARS+1;

    //交易条件
    IF 昨收<=昨昨收 THEN BEGIN//昨日收盘价小于等于昨昨收为趋买市(BUYEASIERDAY)
     趋买市:=1;
     趋买市开多价:今开+K1*10日平均波幅;//BUYBOPT
     趋买市开空价:今开-K2*10日平均波幅;//SELLBOPOINT
    END

    IF 昨收>昨昨收 THEN BEGIN//昨日收盘价大于昨昨收为趋买市(SELLEASIERDAY)
     趋卖市:=1;
     趋卖市开多价:今开+K2*10日平均波幅;//BUYBOPT
     趋卖市开空价:今开-K1*10日平均波幅;//SELLBOPOINT
    END

    //交易系统
    //突破
    IF TIME>=094500 AND TIME<143000 AND 开关=1 THEN BEGIN
    {趋买市}
     IF 趋买市=1 AND 开多次数=0 THEN BEGIN
       趋买市开多:BUY(C>=趋买市开多价 AND HOLDING=0,手数,MARKET);
         多头止损价:=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);//这个策略用于股指,多头常规止损价为 开仓价减25%的10日平均波幅和3个大点的较小值。
      开多次数:=1;
     END
     
     IF 趋买市=1 AND 开空次数=0 THEN BEGIN
       趋买市开空:BUYSHORT(CLOSE<=趋买市开空价 AND HOLDING=0,手数,MARKET);
         空头止损价:=Max(ENTERPRICE+0.25*10日平均波幅,ENTERPRICE+3);//这个策略用于股指,空头常规止损价为 开仓价加25%的10日平均波幅和3个大点的较小值。
       开空次数:=1;
      END
    {趋卖市}
      IF 趋买市=1 AND 开多次数=0 THEN BEGIN
       趋卖市开多:BUY(CLOSE>趋卖市开多价 AND HOLDING=0,手数,MARKET);
         多头止损价:=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);
       开多次数:=1;
      END
     
      IF 趋卖市=1 AND 开空次数=0 THEN BEGIN
       趋卖市开空:BUYSHORT(CLOSE<趋卖市开空价 AND HOLDING=0,手数,MARKET);
         空头止损价:=Max(ENTERPRICE+0.25*10日平均波幅,ENTERPRICE+3);
       开空次数:=1;
      END
    END
    //突破失败
    {多头突破失败情况1:价格曾经高于多头突破确认价,最新价又回落至空翻多确认价}
    IF 今高>多头突破确认价 AND C<多翻空确认价 AND TIME<143000 AND 开空次数=0 AND HOLDING>=0 THEN BEGIN
     多头止损1:SELL(1,手数,MARKET);
     多翻空1:BUYSHORT(1,手数,MARKET);
     开空次数:=1;
    END
     
    {多头突破失败情况2:突破入场后,行情反转。止损的同时我们反手开空,但前提是时间在中午11:30之前,且多头进场在至少4根K之前。瞬间止损我们不允许反转,因为这往往是市场的膝跳反射}
    IF HOLDING>=0 AND TIME<143000 AND 开空次数=0 THEN BEGIN
     IF C<=多头止损价 THEN BEGIN
      多头止损2:SELL(1,手数,MARKET);
      IF TIME<=110000 AND 开仓历时>=4 THEN BEGIN
       多翻空2:BUYSHORT(1,手数,MARKET);
       空头止损价:=MIN(ENTERPRICE+0.15*10日平均波幅,ENTERPRICE+3);//多翻空止损价为开仓价加15%的10日平均波幅和3个大点的较小值。
       开空次数:=1;
      END
     END
    END

    {空头突破失败情况1:价格曾经低于空头突破确认价,最新价又上涨至空翻多确认价}
    IF 今低<空头突破确认价 AND C>空翻多确认价 AND TIME<143000 AND 开多次数=0 AND HOLDING<=0 THEN BEGIN
     空头止损1:SELLSHORT(1,手数,MARKET);
     空翻多1:BUY(1,手数,MARKET);
     开多次数:=1;
    END
    {空头突破失败情况2:突破入场后,行情反转。止损的同时我们反手开多,但前提是时间在中午11:30之前,且空头进场在至少4根K之前。瞬间止损我们不允许反转,因为这往往是市场的膝跳反射}
    IF HOLDING<0 AND TIME<143000 AND 开多次数=0 THEN BEGIN
     IF C>=空头止损价 THEN BEGIN
      空头止损2:SELLSHORT(1,手数,MARKET);
      IF TIME<=110000 AND 开仓历时>=4 THEN BEGIN
       空翻多2:BUY(1,手数,MARKET);
       多头止损价:=MIN(ENTERPRICE-0.15*10日平均波幅,ENTERPRICE-3);//多翻空止损价为开仓价加15%的10日平均波幅和3个大点的较小值。
       开多次数:=1;
      END
     END
     
    END
    //止损
    IF HOLDING>0 AND C<多头止损价 AND TIME<151000 THEN 常规多头止损:SELL(1,手数,MARKET);
    IF HOLDING<0 AND C>空头止损价 AND TIME<151000 THEN 常规空头止损:SELLSHORT(1,手数,MARKET);
    //止损价调整
    {若持多单,而5分钟K高点超过了开仓价+50%10日平均波幅,止损调整为保本型 }
    IF 今高>ENTERPRICE+0.5*10日平均波幅 THEN 多头止损价:=ENTERPRICE+2*MINDIFF;
    IF 今低<ENTERPRICE-0.5*10日平均波幅 THEN 空头止损价:=ENTERPRICE-2*MINDIFF;
    {若时间处于14:30以后,多头跟踪止损为过去3个5分钟的最高低点与多空头止损价中的较大值}
    IF TIME>=143000 THEN BEGIN
     多头止损价:=MAX(多头止损价,3周期最低价);
     空头止损价:=MIN(空头止损价,3周期最高价);
    END

    //日内平仓
    IF TIME=closetime(0) THEN BEGIN
     收盘平多:SELL(1,手数,MARKET);
     收盘平空:SELLSHORT(1,手数,MARKET);
     趋卖市:=0;
     趋买市:=0;
     开多次数:=0;
     开空次数:=0;
     多头止损价:=0;
     空头止损价:=0;
    END

     

  • 用户回复: 代码做如上修改

     

  • 网友回复:  你好
    测试的时候还是0

     

  • 网友回复: 补充日线数据

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容