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

哎呦 [开拓者 TB]

  • 咨询内容: 本帖最后由 haoliangbohai 于 2014-11-28 16:04 编辑

        关于oops交易系统,就是跳空回调后买入。 胜率挺高的,优化后能到60%以上,盈利能力也可以。就是交易次数有点少。就算在《完美的日内交易商2》书中给出的例子,82年4月到98年交易SP500也才177次。可以做为策略池中的一个。针对一日的缺口的代码:
    1. Params
    2.         Numeric gapsize(2);    //缺口大小              
    3.         Numeric breaksize(3);   //突破大小
    4.         Numeric stoploss(10);   //止损
    5.         Numeric takeprofit(20);   //止盈
    6. Vars
    7.     Bool isgap;
    8.         Bool temp;
    9.         Numeric enterprice;
    10.         NumericSeries HighestAfterEntry(0);        
    11.     NumericSeries LowestAfterEntry(0);
    12. Begin
    13.       isgap = OpenD(0)>HighD(1)+gapsize;     //高开
    14.           temp = Low<HighD(1)-breaksize;         //跌破前日最高价
    15.           enterprice = HighD(1)-breaksize-2;
    16.           If(isgap And temp And MarketPosition==0)
    17.           {
    18.                   SellShort(1,enterprice);
    19.                   LowestAfterEntry=Low;
    20.           }           
    21.       isgap = OpenD(0)<LowD(1)-gapsize;      //低开
    22.           temp = High>LowD(1)+breaksize;         //涨破前日最低价
    23.           enterprice = LowD(1)+breaksize+2;
    24.       If(isgap And temp And MarketPosition==0)
    25.           {
    26.           Buy(1,enterprice);
    27.                   HighestAfterEntry=High;
    28.           }          
    29.           /*止损止盈部分*/
    30.           If (MarketPosition!=0 And BarsSinceEntry!=0)
    31.           {
    32.                   If(MarketPosition==-1)
    33.               {
    34.                     LowestAfterEntry = Min(LowestAfterEntry,Low);
    35.                         If(High>EntryPrice And LowestAfterEntry>EntryPrice-takeprofit)
    36.                         {
    37.                            BuyToCover(1,EntryPrice-takeprofit);             //空单止盈
    38.                            LowestAfterEntry=0;
    39.                         } Else If(High>EntryPrice+stoploss)                 //空单止损
    40.                         {
    41.                            BuyToCover(1,EntryPrice+stoploss);
    42.                            LowestAfterEntry=0;
    43.                         }
    44.                   }                  
    45.                   If(MarketPosition==1)
    46.               {
    47.                     HighestAfterEntry = Max(HighestAfterEntry,High);
    48.             If(Low<EntryPrice And HighestAfterEntry>EntryPrice+takeprofit)
    49.                         {
    50.                            Sell(1,EntryPrice+takeprofit);                   //多单止盈
    51.                            LowestAfterEntry=0;
    52.                         } Else If(Low<EntryPrice-stoploss)
    53.                         {
    54.                             Sell(1,EntryPrice-stoploss);                    //多单止损
    55.                                 LowestAfterEntry=0;
    56.                         }
    57.                   }
    58.                   If((Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger && Date < CurrentDate))  //当日平仓
    59.           {
    60.               Sell(1,Close);
    61.                   BuyToCover(1,Close);
    62.               }                  
    63.         }
    64. End

     

  • TB技术人员: 谢谢!先顶后看

     

  • TB客服: 这个系统很有名,谢谢分享

     

  • 网友回复:     开盘区间突破交易系统
        发现这个很好用啊,开始还挺鄙视这种交易系统,认为太简单了,看过 拉里.威廉斯的《短线交易秘诀》后感觉还挺好用的。比上一个好用多了。如果能够把日趋势考虑进去,做到日间的,收益率感觉还能上去。看的比较粗糙,分别用前一日开盘和收盘的差,以及最高和最低差表示波幅回测了下,发现用最高价最低价的差乘以0.25为区间效果不错。感觉以这个为基础可以实盘模拟啊。
    1. Params
    2.    Numeric perc(0.1);
    3.    Numeric stoploss(10);   //止损
    4.    Numeric takeprofit(20);   //止盈
    5.    
    6. Vars
    7.    Bool con1;    //开多条件
    8.    Bool con2;    //开空条件
    9.    Numeric enterprice;
    10.    NumericSeries HighestAfterEntry(0);        
    11.    NumericSeries LowestAfterEntry(0);
    12. Begin
    13.    con1 = high > OpenD(0) + perc*Abs(HighD(1)-LowD(1));    //先用开盘收盘表示前一日波幅
    14.    con2 = Low  < OpenD(0) - perc*Abs(HighD(1)-LowD(1));

    15.    If(MarketPosition==0 And con1)
    16.    {
    17.        Buy(1,OpenD(0) + perc*Abs(OpenD(1)-CloseD(1)));
    18.            HighestAfterEntry=High;
    19.    }
    20.    If(MarketPosition==0 And con2)
    21.    {
    22.        SellShort(1,OpenD(0) - perc*Abs(OpenD(1)-CloseD(1)));
    23.            LowestAfterEntry=Low;
    24.    }
    25.    
    26.    /*止损止盈部分*/
    27.           If (MarketPosition!=0 And BarsSinceEntry!=0)
    28.           {
    29.                   If(MarketPosition==-1)
    30.               {
    31.                     LowestAfterEntry = Min(LowestAfterEntry,Low);
    32.                         If(High>EntryPrice And LowestAfterEntry>EntryPrice-takeprofit)
    33.                         {
    34.                            BuyToCover(1,EntryPrice-takeprofit);             //空单止盈
    35.                            LowestAfterEntry=0;
    36.                         } Else If(High>EntryPrice+stoploss)                 //空单止损
    37.                         {
    38.                            BuyToCover(1,EntryPrice+stoploss);
    39.                            LowestAfterEntry=0;
    40.                         }
    41.                   }                  
    42.                   If(MarketPosition==1)
    43.               {
    44.                     HighestAfterEntry = Max(HighestAfterEntry,High);
    45.             If(Low<EntryPrice And HighestAfterEntry>EntryPrice+takeprofit)
    46.                         {
    47.                            Sell(1,EntryPrice+takeprofit);                   //多单止盈
    48.                            LowestAfterEntry=0;
    49.                         } Else If(Low<EntryPrice-stoploss)
    50.                         {
    51.                             Sell(1,EntryPrice-stoploss);                    //多单止损
    52.                                 LowestAfterEntry=0;
    53.                         }
    54.                   }
    55.                   If((Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger && Date < CurrentDate))  //当日平仓
    56.           {
    57.               Sell(1,Close);
    58.                   BuyToCover(1,Close);
    59.               }
    60.                 }
    61. End
    复制代码PS:止损止盈从第一个粘贴过来的

     

  • 网友回复: 本帖最后由 趋势跟踪 于 2014-11-22 08:02 编辑

    四楼的源码虽然有点问题,但源码一定要顶!

 

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

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


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

相关文章

    没有相关内容