函数编写问题 (文华财经WH8赢智V8.2)

投资者咨询:函数编写问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-31 10:05
 不使用IMPORT的情况下,如何定义在一小时级别调用TIME=1500的收盘价的N周期移动平均线
技术人员回复
日期:2018-7-31 10:19

 参考:

 

N:=10;
NN:=SUMBARS(ISLASTKLINE,N-1);
CC:=IF(ISLASTKLINE,C,0);
MAN:(SUM(CC,NN)+C)/N;

投资者咨询:函数编写问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-31 10:05
 好的,我试一下
投资者咨询:函数编写问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-31 10:05
 还有一个问题,

H1:=REF(HHV(H,DAYBARPOS),DAYBARPOS);//昨日高
L1:=REF(LLV(L,DAYBARPOS),DAYBARPOS);//昨日低
C1:REF(C,DAYBARPOS);//昨日收盘
O1:=REF(VALUEWHEN(DAYBARPOS=1,O),DAYBARPOS);//昨日开盘
O2:=VALUEWHEN(DAYBARPOS=1,O);//今日开盘

A1:=IF(C1>O1 ,((H1-C1)+(O1-L1)),IF(C1<O1,(O1-C1),(H1-C1)));//空
B1:=IF(C1<O1 ,((H1-O1)+(C1-L1)),IF(C1>O1,(C1-O1),(O1-L1)));//多

 

这几行代码中,我如果想把N天内的A1值和B1值再进行平均的话,我应该如何写?

技术人员回复
日期:2018-7-31 10:58

 参考:

 

N:=10;
H1:=REF(HHV(H,DAYBARPOS),DAYBARPOS);//昨日高
L1:=REF(LLV(L,DAYBARPOS),DAYBARPOS);//昨日低
C1:REF(C,DAYBARPOS);//昨日收盘
O1:=REF(VALUEWHEN(DAYBARPOS=1,O),DAYBARPOS);//昨日开盘
O2:=VALUEWHEN(DAYBARPOS=1,O);//今日开盘
NN:=SUMBARS(DATE<>REF(DATE,1),N);
A1:=IF(C1>O1 ,((H1-C1)+(O1-L1)),IF(C1<O1,(O1-C1),(H1-C1)));//空
B1:=IF(C1<O1 ,((H1-O1)+(C1-L1)),IF(C1>O1,(C1-O1),(O1-L1)));//多
A2:=MA(A1,NN);//N天A1的均值
B2:=MA(B1,NN);//N天B1的均值
 

投资者咨询:函数编写问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-31 10:05

之前A1和B1两个值在日内是固定量,但是加载后A2和B2编程了变量,所以可能还是不对,可能问题出在调用了单日的A1值和B1值,如果不调用今日的值怎么写?

技术人员回复
日期:2018-7-31 11:40
 预计下午15前回复
投资者咨询:函数编写问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-31 10:05
 好的
技术人员回复
日期:2018-7-31 14:17

 这样试试:

 

N:=10;
H1:=REF(HHV(H,DAYBARPOS),DAYBARPOS);//昨日高
L1:=REF(LLV(L,DAYBARPOS),DAYBARPOS);//昨日低
C1:=REF(C,DAYBARPOS);//昨日收盘
O1:=REF(VALUEWHEN(DAYBARPOS=1,O),DAYBARPOS);//昨日开盘
O2:=VALUEWHEN(DAYBARPOS=1,O);//今日开盘
NN:=SUMBARS(DATE<>REF(DATE,1),N);
A1:=IF(C1>O1 ,((H1-C1)+(O1-L1)),IF(C1<O1,(O1-C1),(H1-C1)));//空
B1:=IF(C1<O1 ,((H1-O1)+(C1-L1)),IF(C1>O1,(C1-O1),(O1-L1)));//多
A2:=REF(MA(A1,NN),DAYBARPOS);
B2:=REF(MA(B1,NN),DAYBARPOS);

投资者咨询:函数编写问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-31 10:05
 OK,已经解决了,谢谢您