关于模型之间取信号 (文华财经WH8赢智V8.2)

投资者咨询:关于模型之间取信号 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-2-6 7:32

 老师,我有模型A(大周期模型)和模型B(小周期模型).模型A的理论持仓状态(假定是单向开多仓模型)用T表示,当T=1时,表示A是理论持多仓状态,当T=0时,表示A是理论持空仓状态。

我的模型思路是:

T=1并且满足B模型开多仓条件,则开多仓;

T=1并且满足B模型平仓条件,则平仓。或者T=0,也平仓。

请问能够实现吗?

技术人员回复
日期:2018-2-6 8:21
可以参考如下方法:

N1:BARSLAST(A开仓条件)+1;
N2:BARSLAST(A平仓条件)+1;
N1<N2&&B开仓条件,BK;
N1<N2&&B平仓条件||N2<N1,SP;
投资者咨询:关于模型之间取信号 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-2-6 7:32
 A模型是大周期的,您的意思是加载在B小周期上运行,对吧?那么调用A模型的开仓条件是不是要用到跨周期模型了?还有,如果不用BARSLAST函数,就不能取A模型的持仓状态了?
技术人员回复
日期:2018-2-6 13:14
 是的

您的需求需要小周期上跨周期引用大周期的开仓条件,进行判断的

因为跨周期引用的是指标,而不是持仓状态,所以需要使用BARSLAST函数判断条件出现的时间进行判断
投资者咨询:关于模型之间取信号 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-2-6 7:32

 老师,我调试了一下,还是不行,系统提示没信号,干脆我把思路写得再详细些,您帮我完整写一下,调试一下,

大周期被调用模型AA:

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:=SMA(RSV,3,1);//RSV的移动平均值
D:SMA(K,3,1);//K值的移动平均

小周期加载模型:

MA1:=MA (C,20);

C>MA1,BK;

C<MA1.SP;

我的意思加载在小周期上运行,当大周期收盘价满足K>D后开多仓,并且在大周期满足平仓信号K<D之前,若满足小周期模型C<MA1,平仓。若大周期收盘价满足K<D后,平仓。大周期在满足平仓信号K<D之后,在大周期满足开仓信号K>D之前,不开仓。

技术人员回复
日期:2018-2-18 15:53
以引用日线周期AA中指标为例,参考

引用指标AA,
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:=SMA(RSV,3,1);//RSV的移动平均值
D:SMA(K,3,1);//K值的移动平均

跨周期模型,
#IMPORT[DAY,1,AA] AS VAR
K:VAR.K;
D:VAR.D;

MA1:=MA (C,20);
K>D,BK;
K>D&&C<MA1,SP;
K<D,SP;
AUTOFILTER;
投资者咨询:关于模型之间取信号 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-2-6 7:32

星星老师,这里有个问题,如果我把跨周期模型加载在15分钟K线上,那么我获取的K值是日K线K值的实时值,还是上一根日K线的K值?我希望是上一根日K线的K值,就是想达到AA大周期模型是理论持多仓状态,然后我在15分钟K线状态下运行模型。麻烦请了解一下我1楼的思路后,再帮我完善模型,谢谢!

技术人员回复
日期:2018-2-19 15:21
被引用指标:AA:

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:=SMA(RSV,3,1);//RSV的移动平均值
D:SMA(K,3,1);//K值的移动平均
A:CROSS(K,D);
B:CROSS(D,K);

跨周期指标:

MA1:=MA (C,20);

#IMPORT[DAY,1,AA] AS VAR
A:VAR.A;
B:VAR.B;
N1:BARSLAST(A)+1;
N2:BARSLAST(B)+1;
N1<N2&&C<MA1,BK;
N1<N2&&C<MA1||N2<N1,SP;
AUTOFILTER;
投资者咨询:关于模型之间取信号 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-2-6 7:32
 被引用指标:AA:

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:=SMA(RSV,3,1);//RSV的移动平均值
D:SMA(K,3,1);//K值的移动平均
A:CROSS(K,D);
B:CROSS(D,K);

跨周期指标:

MA1:=MA (C,20);
#IMPORT[WEEK,1,ZXBY] AS VAR
A:VAR.A;
B:VAR.B;
N1:BARSLAST(A)+1;
N2:BARSLAST(B)+1;
N1<N2&&C>MA1,BK;
N1<N2&&C<MA1||N2<N1,SP;
AUTOFILTER;

老师,我把上述模型在郑醇指数一小时周期上加载,跨周K线调用周K线数据,但是请看截图中白色空心箭头所示,那是2016年9月左右,这段时间,有K线满足C>MA1的,但是居然没有出现开多仓信号。请问这是什么原因?

 



图片点击可在新窗口打开查看
技术人员回复
日期:2018-2-20 16:08
模型都是根据编写出信号的,不出信号说明不满足条件的

您的条件是N1<N2&&C>MA1,必须同时满足才可以

可以把模型这样写下:AA:N1<N2&&C>MA1;看AA的返回值是多少,只有返回1才会出开仓信号的

您这样检查试试看