对变量的递归赋值 (文华财经WH6赢顺V6.7)

投资者咨询:对变量的递归赋值 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-17 14:13
 老师:您好!
请问一个变量A的当前K线处的值的判定需要 判断此变量在前一K线处的值来定,这如何实现?
A:IF(REF(A,1)>0, 1,-1);即若前1K处变量A的值大于0则当前K处的变量A为1,否则为-1.
谢谢!

技术人员回复
日期:2018-7-17 14:24

wh6是专业的看盘软件无法通过编写直接引用变量自身的

 

您可以说明一下具体需要实现的思路,我们帮您分析一下

投资者咨询:对变量的递归赋值 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-17 14:13
 盈智WH8中可以实现吗?
写技术指标用,思路就是当前K处的值需结合比较前面K处的同一个变量名的值来定。
WH6中的变量好像都是相当于时间系列的动态数组,能否定义一个赋值后值不会跟着不同K线位置变的变量?
谢谢!

技术人员回复
日期:2018-7-17 14:46

取比如最近一次阳线开盘价后面阴线下不变动可以参考

 

OO:VALUEWHEN(ISUP,O);
A:REF(OO,1)>2000; //然后引用OO变量做判断就可以

 

您可以参考这种方式具体说明一下思路,我们帮您分析一下

投资者咨询:对变量的递归赋值 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-17 14:13
 一般是当条件成立时对一个变量A赋值,如果要当条件成立时同时对2个以上变量赋值,不知是否能实现?
要达到   IF(条件成立时,对变量A和变量B赋值,对变量C和变量D赋值);这样的效果。谢谢!

即达到如下要求:
IF(a>b)
{
A:=  ;
B:= ;
}
ELSE
{
C:=  ;
D:= ;
}

技术人员回复
日期:2018-7-17 16:19

 比如阳线时把AA复制为1,BB复制为2参考:

 

AA:IF(ISUP,1,0);
BB:IF(ISUP,2,0);

投资者咨询:对变量的递归赋值 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-17 14:13
 谢谢!
我思路为:
取倒数第100根K线为基准,若第100根K CLOSE>=OPEN,则A=1, 否则 A=-1;HH为REF(HIGH,100); LL为REF(LOW,100);//A:=IF(REF(CLOSE,100)>=REF(OPEN,100),1,-1);
然后从倒数第99根K线开始,A,HH,LL的取值规则为:
A值:
若前一根K线处的A>0: 若CLOSE>=前一根K线处的LL值,则A=1,否则=-1;
前一根K线处的A<0: 若CLOSE<=前一根K线处的HH值,则A=-1,否则=1;
HH值:
若CLOSE>前一根K线处的HH值或<前一根K线处的LL值,则HH=HIGH,否则=REF(HH,1);
LL值:
若CLOSE>前一根K线处的HH值或<前一根K线处的LL值,则HH=LL,否则=REF(LL,1);

如此一直判断到最新这根K线。
请问能否实现?谢谢!

技术人员回复
日期:2018-7-17 21:46
 wh8中这么试下,由于我们k线是从左到右计算的,不能从倒数第100根K线,应该从历史第100根k线开始

VARIABLE:A:=0,HH:=0,LL:=0;
IF BARPOS=101&&C>=O THEN
BEGIN
A:=1;
HH:=REF(H,100);
LL:=REF(L,100);
END
IF BARPOS=101&&C<O THEN
BEGIN
A:=-1;
HH:=REF(H,100);
LL:=REF(L,100);
END

IF BARPOS>101&&A>0 THEN
BEGIN
A:=IF(C>REF(LL,1),1,-1);

END
IF BARPOS>101&&A<0 THEN
BEGIN
A:=IF(C<REF(HH,1),-1,1);
END
IF BARPOS>101&&(C>HH||C<LL) THEN
BEGIN
HH:=H;
END
IF BARPOS>101&&(C>HH||C<LL) THEN
BEGIN
LL:=L;
END
HH1:HH;
LL1:LL;
投资者咨询:对变量的递归赋值 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-17 14:13
 谢谢老师!基本可以了。
另外请问图标的大小如何设定?
技术人员回复
日期:2018-7-18 15:51

 图标大小默认显示的不支持调整

 

或者您可以使用DRAWTEXT函数标注文字支持调整大小

 

参考:DRAWTEXT(ISUP,L,'阳线'),FONTSIZE30;