投资者咨询:[求助]这里无法执行信号是合约数据有错还是代码错 (文华财经随身行Android 5.2.5(225))
来源:文华财经 日期:2018-6-16 16:26
代码和代码注释如下,老师可以直接复制使用:
XFX := L>=REF(L,2) && REF(L,1)>=REF(L,2) && REF(L,2)<=REF(L,3) && REF(L,2)<=REF(L,4);
XFX_N ^^ BARSLAST(XFX);
//AMA1自适应均线定义
DIRECTION1 := CLOSE-REF(CLOSE,10);
VOLATILITY1 := SUM(ABS((CLOSE-REF(CLOSE,1))),10);
ER1 := ABS(DIRECTION1/VOLATILITY1);
FASTSC1 := 2/(2+1);
SLOWSC1 := 2/(30+1);
SSC1 := ER1*(FASTSC1-SLOWSC1)+SLOWSC1;
CONSTANT1 := SSC1*SSC1;
AMA1 ^^ EMA(DMA(CLOSE,CONSTANT1),2);
//开仓条件1:从XFX形态的第四根K线开始 到 当前K线前一根K线,发生过K线最高价 大于等于 AMA1
TJ1 := REF(EXIST(H >= AMA1,XFX_N+1),1);
//当前K线下破前两根K线的最低价时,开空单:
SKVOL=0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
SKVOL>0 && TJ1 && L<=LV(L,2),SK(1);
//TICK级回测
MULTSIG(0,0,1,0);
/*问题说明:
在2014-2-25 14:00这根K线,已经满足了所有进场条件,却未进场,经查发现是未满足开仓条件1.
但是根据实际数据看,2014-2-25 11:00这根K线已经满足了最高价大于等于AMA1:也就是说条件1已经被满足,其它条件也满足,就应该开仓了。
可是事实上就是没有开仓
请老师帮忙检查一下问题在哪里?
*/
技术人员回复
日期:2018-6-16 16:42
投资者咨询:[求助]这里无法执行信号是合约数据有错还是代码错 (文华财经随身行Android 5.2.5(225))
来源:文华财经 日期:2018-6-16 16:26
原文中有写://回测标的物:螺纹指数,1小时周期,2014年2月14日 -- 2014年2月28日
技术人员回复
日期:2018-6-17 18:10
SKVOL应该是等于零,而不是开盘价,这样改下
//XFX形态定义:连续五根K线满足以下以形态
XFX := L>=REF(L,2) && REF(L,1)>=REF(L,2) && REF(L,2)<=REF(L,3) && REF(L,2)<=REF(L,4);
//取形态XFX到当前K线的周期数
XFX_N ^^ BARSLAST(XFX);
//AMA1自适应均线定义
DIRECTION1 := CLOSE-REF(CLOSE,10);
VOLATILITY1 := SUM(ABS((CLOSE-REF(CLOSE,1))),10);
ER1 := ABS(DIRECTION1/VOLATILITY1);
FASTSC1 := 2/(2+1);
SLOWSC1 := 2/(30+1);
SSC1 := ER1*(FASTSC1-SLOWSC1)+SLOWSC1;
CONSTANT1 := SSC1*SSC1;
AMA1 ^^ EMA(DMA(CLOSE,CONSTANT1),2);
//开仓条件1:从XFX形态的第四根K线开始 到 当前K线前一根K线,发生过K线最高价 大于等于 AMA1
TJ1 := REF(EXIST(H >= AMA1,XFX_N+1),1);
//当前K线下破前两根K线的最低价时,开空单:
SKVOL=0 && TJ1 && L<=LV(L,2),SK(1);
//TICK级回测
MULTSIG(0,0,1,0);
投资者咨询:[求助]这里无法执行信号是合约数据有错还是代码错 (文华财经随身行Android 5.2.5(225))
来源:文华财经 日期:2018-6-16 16:26
谢谢老师。这个应该是我手误,我的原版程序写的是skvol=0,但结果仍然不对。
投资者咨询:[求助]这里无法执行信号是合约数据有错还是代码错 (文华财经随身行Android 5.2.5(225))
来源:文华财经 日期:2018-6-16 16:26
技术人员回复
日期:2018-6-18 15:12
