开拓者期货期权程序化系统交易论坛

标题: 好的交易策略希望能变成交易程序 [打印本页]

作者: liyuan_8111    时间: 2011-6-21 11:06:51     标题: 好的交易策略希望能变成交易程序

15周期均线>25周期均线>35周期均线时>45周期均线时,买开;
15周期均线<25周期均线,卖平;
15周期均线<25周期均线<35周期均线时<45周期均线时,卖开;
15周期均线>25周期均线,买平;
作者: lzl563    时间: 2011-8-9 15:09:30

Vars
      Numeric ma1;
      Numeric ma2;
          Numeric ma3;
          Numeric ma4;
Begin
      ma1=AverageFC(Close,15);
          ma2=AverageFC(Close,25);
          ma3=AverageFC(Close,35);
          ma4=AverageFC(Close,45);
If(MarketPosition==0)          

    {  If(ma1 > ma2 and ma2> ma3  and ma3>ma4)
      {
           
                Buy(1,open[-1]);
      }
      If(ma1 <ma2 and ma2<ma3  and ma3<ma4)
      {
           
                        SellShort(1,open[-1]);
      }
        }
If(MarketPosition==1)
      If(ma1<ma2)
          {Sell(0,open[-1]);
          }
          
If(MarginRatio==-1)
      If(ma1>ma2)
          {BuyToCover(0,open[-1]);
          }
          
End


差不多就是这样吧 不过你这策略应该没说明白  或者可能还不完全。。
作者: lzl563    时间: 2011-8-9 15:18:27

框架应该就是那样吧  不过我自己弄了一下怎么运行不了。。。郁闷  
下面这样就能运行。。。。
Vars
      Numeric ma1;
      Numeric ma2;
          Numeric ma3;
          Numeric ma4;
Begin
      ma1=AverageFC(Close,15);
          ma2=AverageFC(Close,25);
          ma3=AverageFC(Close,35);
          ma4=AverageFC(Close,45);
      

    {  If(ma1 > ma2 and ma2> ma3  and ma3>ma4)
      {
           
                Buy(1,open[-1]);
      }
      If(ma1 <ma2 and ma2<ma3  and ma3<ma4)
      {
           
                        SellShort(1,open[-1]);
      }
        }
If(MarketPosition==1)
      If(ma1<ma2)
          {Sell(0,open[-1]);
          }
         
If(MarginRatio==-1)
      If(ma1>ma2)
          {BuyToCover(0,open[-1]);
          }
         
End
作者: nestneptune    时间: 2011-9-8 14:01:12

这个测试效果怎么样
作者: 江湖01    时间: 2011-9-8 14:30:46

dddddddddddddddddddddddddddd
作者: yangedwin99    时间: 2012-2-17 09:00:34

没有下文了!
作者: 松鹏    时间: 2012-8-18 06:19:22

多头排列买,空头排列卖,捕捉大趋势
作者: 刀刀天涯    时间: 2013-3-17 18:43:58

本帖最后由 刀刀天涯 于 2013-3-18 09:33 编辑

楼主自从发了帖子,就再也不上了啊。虽然很久了,既然我试了,我就分享一下,其实比较简单,所以请高手们批评指正。
我试了,直接用,不咋地,也许个别会好一些,比如螺纹小时线上。但螺纹这品种,我觉得趋势性策略基本都好用。
Params
        Numeric l1(15);
        Numeric l2(25);
        Numeric l3(35);
        Numeric l4(45);
        Numeric lots(1);

Vars
        NumericSeries ma1;
        NumericSeries ma2;
        NumericSeries ma3;
        NumericSeries ma4;
Begin
        ma1=AverageFC(Close,l1);
        ma2=AverageFC(Close,l2);
        ma3=AverageFC(Close,l3);
        ma4=AverageFC(Close,l4);
      

      If(ma1[1] > ma2[1] and ma2[1]> ma3[1]  and ma3[1]>ma4[1])
                Buy(lots,open);
      If(ma1[1] <ma2[1] and ma2[1]<ma3[1]  and ma3[1]<ma4[1])
                SellShort(lots,open);      
      If(MarketPosition==1 and ma1[1]<ma2[1])
                Sell(lots,open);
       If(MarketPosition==-1 and ma1[1]>ma2[1])
                BuyToCover(lots,open);

        PlotNumeric("ma15",ma1);
        PlotNumeric("ma25",ma2);
        PlotNumeric("ma35",ma3);
        PlotNumeric("ma45",ma4);

                 
End
作者: Transcend    时间: 2013-3-17 19:11:43

这个应该是穿越做信号比较好吧
作者: hepang    时间: 2013-4-15 16:56:48

这个,很平常的策略。
假如,你把会写字就叫有学问,那啥叫文盲哪?
作者: xnc123    时间: 2017-10-5 17:42:35

上穿不应该用crossover(ma1,ma2)吗,用大于的话貌似会有很多信号
crossover(ma15,ma25)and ma25>ma35 and ma35>ma45
buy(0,close)
........




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2