查看: 1386|回复: 5
打印 上一主题 下一主题

[其它]

[复制链接]
跳转到指定楼层
1
发表于 2014-11-23 09:21:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于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
复制代码







2
 楼主| 发表于 2014-11-23 09:22:27 | 只看该作者
开盘区间突破交易系统
    发现这个很好用啊,开始还挺鄙视这种交易系统,认为太简单了,看过 拉里.威廉斯的《短线交易秘诀》后感觉还挺好用的。比上一个好用多了。如果能够把日趋势考虑进去,做到日间的,收益率感觉还能上去。看的比较粗糙,分别用前一日开盘和收盘的差,以及最高和最低差表示波幅回测了下,发现用最高价最低价的差乘以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:止损止盈从第一个粘贴过来的
回复 支持 反对

使用道具 举报

3
 楼主| 发表于 2014-11-23 09:34:04 | 只看该作者
    《短线交易秘诀》里第八章中介绍的那个震荡系统和dual thrust系统个人感觉本质上是一样的吧,都是找多空的力量。只不过震荡系统用的是开盘价,dual thrust用的是收盘价,震荡系统用的是4日的均值,dual thrust用的是最值。应该都算开盘区间突破中的一种。不过二楼是通过前日波幅找这个区间,震荡系统和dual thrust是根据多空力量找这个区间。而《完美的日内交易商》中的30分钟突破发和《日内交易策略-谷物期货实战指南》则是通过开盘后的几根K线走出的高点和低点,并配合不同的确认条件来确定区间。
回复 支持 反对

使用道具 举报

4
发表于 2014-11-23 10:54:21 | 只看该作者
学习啊   同行
回复 支持 反对

使用道具 举报

5
发表于 2014-12-31 08:42:34 | 只看该作者
学习      
回复 支持 反对

使用道具 举报

6
发表于 2014-12-31 17:34:24 | 只看该作者
回复就能涨积分吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册入住  

本版积分规则

易家网  ©2015-2023  郑州期米信息技术有限公司版权所有  豫公网安备 41010502005136号 豫ICP备16010300号