请老师看看问题在哪里 (文华财经WH8赢智V8.2)

投资者咨询:请老师看看问题在哪里 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-17 13:20
下面是代码:
A2:=VALUEWHEN(CROSS(REF(K,1),REF(D,1)),REF(L,1));
D2:=SUMBARS(CROSS(REF(K,1),REF(D,1)),1);
D1:=SKVOL=0  AND k>d  AND L<A2;
D3:=IF(D1 AND K<D,4,IF(D1 AND D2=1,1,IF(D1 AND D2=2,2,IF( D1 AND D2>2,3,0))));
SKVOL=0 AND D1 ,SK;
D6:=HHV(H,D2);
D5:IF(SKVOL=1 AND D3=1  AND  BARSSK=1,D6,IF(SKVOL=1 AND D3<4 AND D3>1 AND BARSSK=1 ,REF(D6,1) ,REF(D5,1) ));
这里出的问题是没办法得到D5的值,软件 不报错。

技术人员回复
日期:2018-8-17 13:26

 D5在满足条件的时候赋值为D6,或REF(D6,1),但是由于模型没有开仓,所以D5一直没有被赋值,也就没有返回值了

 

您把开仓条件调整一下试试,或者复制完整代码,我们帮您检查一下

投资者咨询:请老师看看问题在哪里 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-17 13:20
 RSV:= (C-LLV(LOW,8))/(HHV(HIGH,8)-LLV(LOW,8))*100;
FASTK:=MA(RSV,5);
K:=MA(FASTK,3);
D:=MA(K,3);
A2:=VALUEWHEN(CROSS(REF(K,1),REF(D,1)),REF(L,1));
D2:=SUMBARS(CROSS(REF(K,1),REF(D,1)),1);
D1:=SKVOL=0  AND K>D  AND L<A2;
D3:=IF(D1 AND K<D,4,IF(D1 AND D2=1,1,IF(D1 AND D2=2,2,IF( D1 AND D2>2,3,0))));
SKVOL=0 AND D1 ,SK;
D6:=HHV(H,D2);
D5:IF(SKVOL=1 AND D3=1  AND  BARSSK=1,D6,IF(SKVOL=1 AND D3<4 AND D3>1 AND BARSSK=1 ,REF(D6,1) ,REF(D5,1) ));
D7:MA(C,120);
SKVOL=1 AND  BARSSK>0 AND L>REF(D7,1),BP;
AUTOFILTER;
我随便写了一个交易条件,麻烦老师帮我看看D5的问题
技术人员回复
日期:2018-8-17 13:51

因为满足D3=1或D3<4 AND D3>1才能对D5赋予初始值,

 

而满足K线上面两个条件的K线都是开仓当根K线,而开仓当根K线SKVOL为0,BARSSK返回的是上一次SK的位置

 

也就是说赋予D5初始值的条件是相悖的,所以D5一直没有被赋值,您理解一下

投资者咨询:请老师看看问题在哪里 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-17 13:20
 好的,谢谢老师。我习惯性的在赋值的时候把习惯在不给新值的时候保持ref(x,1),然后D3那里却是0