等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
请教:同一个通道突破类策略,理论上来说用开盘价确认信号对比直接用高低点突破确认信号得到的信号次数要少,按照经验测试数据结果也应该会更好。但在金字塔中得到了完全相反的数据,一直无法找到原因,请金字塔技术老师帮忙看看问题出在哪儿了?
开盘价确认版代码如下:
//==========================================================
MID : MA(O,50);//中轨
X周期高点: MID + 2*STD(O,50);//上轨
X周期低点: MID - 2*STD(O,50);//下轨
手数:=10000/(MULTIPLIER*(2*STD(O,50)));
//交易条件:
开多条件:=O>=X周期高点 and holding<=0 ;
开空条件:=O<=X周期低点 and holding>=0 ;
平空条件:=O>MID and holding<0 && MID<=ENTERPRICE;
平多条件:=O<MID and holding>0 && MID>=ENTERPRICE;
空单止损条件:=O>=MID and holding<0 && MID>ENTERPRICE && ENTERBARS()>0;
多单止损条件:=O<=MID and holding>0 && MID<ENTERPRICE && ENTERBARS()>0;
//交易系统
平空:sellshort(平空条件 and holding<0,0,limitr,O);
平多:sell(平多条件 and holding>0,0,limitr,O);
止损平空:sellshort(空单止损条件 and holding<0,0,limitr,O);
止损平多:sell(多单止损条件 and holding>0,0,limitr,O);
开空:buyshort(开空条件 and holding=0,手数,limitr,O);
开多:buy(开多条件 and holding=0, 手数,limitr,O);
//==========================================================
高低点突破版代码如下:
//==========================================================
MID : MA(O,50);//中轨
X周期高点: ROUND((MID + 2*STD(O,50))/MINDIFF())*MINDIFF();//上轨
X周期低点: ROUND((MID - 2*STD(O,50))/MINDIFF())*MINDIFF();//下轨
手数:=10000/(MULTIPLIER*(2*STD(O,50)));
//交易条件:
开多条件:=H>=X周期高点 and holding<=0 ;
开空条件:=L<=X周期低点 and holding>=0 ;
平空条件:=O>MID and holding<0 && MID<=ENTERPRICE;
平多条件:=O<MID and holding>0 && MID>=ENTERPRICE;
空单止损条件:=H>=MID and holding<0 && MID>ENTERPRICE && ENTERBARS()>0;
多单止损条件:=L<=MID and holding>0 && MID<ENTERPRICE && ENTERBARS()>0;
//交易系统
平空:sellshort(平空条件 and holding<0,0,limitr,O);
平多:sell(平多条件 and holding>0,0,limitr,O);
止损平空:sellshort(空单止损条件 and holding<0,0,limitr,max(MID,O));
止损平多:sell(多单止损条件 and holding>0,0,limitr,min(MID,O));
开空:buyshort(开空条件 and holding=0,手数,limitr,min(X周期低点,O));
开多:buy(开多条件 and holding=0, 手数,limitr,max(X周期高点,O));
//==========================================================
难道说突破版代码有偷价?
如果交易条件修改为:
开多条件:=H>X周期高点 and holding<=0 ;
开空条件:=L<X周期低点 and holding>=0 ;
开仓条件修改为:
开空:buyshort(开空条件 and holding=0,手数,limitr,min(X周期低点-mindiff(),O));
开多:buy(开多条件 and holding=0, 手数,limitr,max(X周期高点+mindiff(),O));
止损条件也相应修改,同样的数据和测试设置会得到相同的交易次数,但效果要差得多。这不应该啊?理论上来说交易次数会减少,测试刚好等于通道的交易有10%左右,却得到了相同的交易次数。到底要如何写才是准确的呢?
|
|