哎呦 [开拓者 TB]
- 咨询内容:
本帖最后由 haoliangbohai 于 2014-11-28 16:04 编辑
关于oops交易系统,就是跳空回调后买入。 胜率挺高的,优化后能到60%以上,盈利能力也可以。就是交易次数有点少。就算在《完美的日内交易商2》书中给出的例子,82年4月到98年交易SP500也才177次。可以做为策略池中的一个。针对一日的缺口的代码:- Params
- Numeric gapsize(2); //缺口大小
- Numeric breaksize(3); //突破大小
- Numeric stoploss(10); //止损
- Numeric takeprofit(20); //止盈
- Vars
- Bool isgap;
- Bool temp;
- Numeric enterprice;
- NumericSeries HighestAfterEntry(0);
- NumericSeries LowestAfterEntry(0);
- Begin
- isgap = OpenD(0)>HighD(1)+gapsize; //高开
- temp = Low<HighD(1)-breaksize; //跌破前日最高价
- enterprice = HighD(1)-breaksize-2;
- If(isgap And temp And MarketPosition==0)
- {
- SellShort(1,enterprice);
- LowestAfterEntry=Low;
- }
- isgap = OpenD(0)<LowD(1)-gapsize; //低开
- temp = High>LowD(1)+breaksize; //涨破前日最低价
- enterprice = LowD(1)+breaksize+2;
- If(isgap And temp And MarketPosition==0)
- {
- Buy(1,enterprice);
- HighestAfterEntry=High;
- }
- /*止损止盈部分*/
- If (MarketPosition!=0 And BarsSinceEntry!=0)
- {
- If(MarketPosition==-1)
- {
- LowestAfterEntry = Min(LowestAfterEntry,Low);
- If(High>EntryPrice And LowestAfterEntry>EntryPrice-takeprofit)
- {
- BuyToCover(1,EntryPrice-takeprofit); //空单止盈
- LowestAfterEntry=0;
- } Else If(High>EntryPrice+stoploss) //空单止损
- {
- BuyToCover(1,EntryPrice+stoploss);
- LowestAfterEntry=0;
- }
- }
- If(MarketPosition==1)
- {
- HighestAfterEntry = Max(HighestAfterEntry,High);
- If(Low<EntryPrice And HighestAfterEntry>EntryPrice+takeprofit)
- {
- Sell(1,EntryPrice+takeprofit); //多单止盈
- LowestAfterEntry=0;
- } Else If(Low<EntryPrice-stoploss)
- {
- Sell(1,EntryPrice-stoploss); //多单止损
- LowestAfterEntry=0;
- }
- }
- If((Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger && Date < CurrentDate)) //当日平仓
- {
- Sell(1,Close);
- BuyToCover(1,Close);
- }
- }
- End
- Params
- TB技术人员:
谢谢!先顶后看
- TB客服:
这个系统很有名,谢谢分享
- 网友回复:
开盘区间突破交易系统
发现这个很好用啊,开始还挺鄙视这种交易系统,认为太简单了,看过 拉里.威廉斯的《短线交易秘诀》后感觉还挺好用的。比上一个好用多了。如果能够把日趋势考虑进去,做到日间的,收益率感觉还能上去。看的比较粗糙,分别用前一日开盘和收盘的差,以及最高和最低差表示波幅回测了下,发现用最高价最低价的差乘以0.25为区间效果不错。感觉以这个为基础可以实盘模拟啊。- Params
- Numeric perc(0.1);
- Numeric stoploss(10); //止损
- Numeric takeprofit(20); //止盈
-
- Vars
- Bool con1; //开多条件
- Bool con2; //开空条件
- Numeric enterprice;
- NumericSeries HighestAfterEntry(0);
- NumericSeries LowestAfterEntry(0);
- Begin
- con1 = high > OpenD(0) + perc*Abs(HighD(1)-LowD(1)); //先用开盘收盘表示前一日波幅
- con2 = Low < OpenD(0) - perc*Abs(HighD(1)-LowD(1));
- If(MarketPosition==0 And con1)
- {
- Buy(1,OpenD(0) + perc*Abs(OpenD(1)-CloseD(1)));
- HighestAfterEntry=High;
- }
- If(MarketPosition==0 And con2)
- {
- SellShort(1,OpenD(0) - perc*Abs(OpenD(1)-CloseD(1)));
- LowestAfterEntry=Low;
- }
-
- /*止损止盈部分*/
- If (MarketPosition!=0 And BarsSinceEntry!=0)
- {
- If(MarketPosition==-1)
- {
- LowestAfterEntry = Min(LowestAfterEntry,Low);
- If(High>EntryPrice And LowestAfterEntry>EntryPrice-takeprofit)
- {
- BuyToCover(1,EntryPrice-takeprofit); //空单止盈
- LowestAfterEntry=0;
- } Else If(High>EntryPrice+stoploss) //空单止损
- {
- BuyToCover(1,EntryPrice+stoploss);
- LowestAfterEntry=0;
- }
- }
- If(MarketPosition==1)
- {
- HighestAfterEntry = Max(HighestAfterEntry,High);
- If(Low<EntryPrice And HighestAfterEntry>EntryPrice+takeprofit)
- {
- Sell(1,EntryPrice+takeprofit); //多单止盈
- LowestAfterEntry=0;
- } Else If(Low<EntryPrice-stoploss)
- {
- Sell(1,EntryPrice-stoploss); //多单止损
- LowestAfterEntry=0;
- }
- }
- If((Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger && Date < CurrentDate)) //当日平仓
- {
- Sell(1,Close);
- BuyToCover(1,Close);
- }
- }
- End
- Params
- 网友回复:
本帖最后由 趋势跟踪 于 2014-11-22 08:02 编辑
四楼的源码虽然有点问题,但源码一定要顶!
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容