您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

求助一个关于海龟策略问题,请大神帮忙 [开拓者 TB]

  • 咨询内容: 想表达最高价>=50日高点就开多
    最低价<=50日最低点就开空
    平多:最低价<=20日最低点
    平空:最高价>=20日最高点
    这是我从MC语言翻译过来的,回测记录不对,谁能帮我看看是哪写错了,拜托
    Params
            Numeric Lots(1);
    Vars
        NumericSeries MA1;
            NumericSeries MA2;
            NumericSeries MA3;
            NumericSeries MA4;
    Begin
        //集合竞价和小节休息过滤
        If (!CallAuctionFilter())Return;
            MA1=Highest(High,50);
            MA2=Lowest(Low,50);
            MA3=Highest(High,20);
            MA4=Lowest(Low,20);
            PlotNumeric("MA1",MA1);
            PlotNumeric("MA2",MA2);
            PlotNumeric("MA3",MA3);
            PlotNumeric("MA4",MA4);
            //进场条件
            if (MarketPosition!=1 And High[1]>=MA1[2])//多
            {
            Buy(Lots,Max(open,MA1[1]));
            }
            if (MarketPosition!=-1 And Low[1]<=MA2[2])//空
            {
            SellShort(Lots,Min(open,MA2[1]));
        }
            //出场条件
            if (marketposition==1 And Low[1]<=MA4[2])//平多
            {
            BuyToCover(0,Min(open,MA4[1]));
        }
            if (marketposition==-1 And High[1]>=MA3[2])//平空
            {
            Sell(0,Max(open,MA3[1]));
            }
    End

     

     来源:CXH99.COM

  • TB技术人员: 不清楚你所讲的不对,是指哪个地方不对。
    只是看到你的回溯数据看是否可以修改:
    high/low是拿最新k线的high,还是上一根k线的high?
    均线,是从前一个周期的bar开始算,还是从前两根bar开始算?

     

  • TB客服:
    spring_abc 发表于 2017-8-30 08:22
    不清楚你所讲的不对,是指哪个地方不对。
    只是看到你的回溯数据看是否可以修改:
    high/low是拿最新k线的hig ...

    拿开多举例:如果最高价>=50日最高点,第二天就开多,那么所提到的最高价就是前一天的最高价吧,而最高价又不能和当天的MA1比较,应该和前五十跟Bar的最高点比较较,所以是 High[1]>=MA1[2],再open,对吗?我是这样理解,这样写的。
    if (MarketPosition!=1 And High[1]>=MA1[2])//多
            {
            Buy(Lots,Max(open,MA1[1]));
            }

     

  • 网友回复:
    marialeng 发表于 2017-8-30 10:14
    拿开多举例:如果最高价>=50日最高点,第二天就开多,那么所提到的最高价就是前一天的最高价吧,而最高价 ...

    1. 最高价>=50日最高点,是否可这样去解?
            上一周期的高点high,就是近50个周期的最高点--->可以做成high[1] == MA1[1]
    2. 对于多头,当出现最高价时,去下多单会有多大的风险,这个要看情况。空头反之亦然.
        如果是突破行情或行情中继,应该可以。在底部有点像就是蛟龙出海(收盘价突然拉高并配合量,一下子高出前面几根均线)
        但如果到行情结束,则应该需要注意。
       总的来讲,大部分情况下,高于近期最高点后,后面可能会回抽。

     

  • 网友回复:
  • spring_abc 发表于 2017-8-30 12:34
    1. 最高价>=50日最高点,是否可这样去解?
            上一周期的高点high,就是近50个周期的最高点---> ...

    就算改成这样:high[1] == MA1[1],结果还是一样。
    其实不想问策略本身的问题,因为我是负责翻译的,只想问我代码哪里写的不对。

 

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

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


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

相关文章

    没有相关内容