如下:
FOR I = 1 TO T DO BEGIN
V1 := REF(C,I) - REF(O,2*I-1);
V2 := C - REF(O,I-1);
A[I] : (V2 - V1) / I,COLORWHITE;
MAX_A_HHV[I] : HHV(A[I],T*10),COLORRED;
MIN_A_LLV[I] : LLV(A[I],T*10),COLORGREEN;
END;
数组的赋值是不是不能直接这么写?编译可以通过,但是在图上就无法显示出A[I]与其他两个最大最小值,如果我想显示出这三个数的话要怎么写才好?
策略交易中基本上用不到数组这种方式,数组和k线不在一个坐标系内。数组在k线上计算结果是纵向的最后一个。对于整个k线看,每根k的结果就是固定不变的、
数组需要定义。
VARIABLE:A[5]:=0,MAX_A_HHV[5]:=0,MIN_A_LLV[5]:=0;
FOR I = 1 TO T DO BEGIN
V1 : REF(C,I) - REF(O,2*I-1);
V2 : C - REF(O,I-1);
A[I] := (V2 - V1) / I,COLORWHITE;
MAX_A_HHV[I] := HHV(A[I],T*10),COLORRED;
MIN_A_LLV[I] := LLV(A[I],T*10),COLORGREEN;
END;
显示必须单独指定显示。
A1:A[1];
bb:MAX_A_HHV[2] ;
cc: MIN_A_LLV[2];
那我这样定义一个临时参数再加一个循环来传导其中一个特定目标的呢,为什么还是没显示?
INPUT : T(5,1,50);//自行定义td的值。
TEMP_UP := -100000;//初始定义一个比较小的值
TEMP_DOWN := 100000;//初始定义一个比较小的值
J_UP := 0;
J_DOWN := 0;
VARIABLE:A[5]:=0,MAX_A_HHV[5]:=0,MIN_A_LLV[5]:=0;
FOR I = 1 TO T DO BEGIN
V1 := REF(C,I) - REF(O,2*I-1);
V2 := C - REF(O,I-1);
A[I] := (V2 - V1) / I,COLORWHITE;
MAX_A_HHV[I] := HHV(A[I],T*10),COLORRED;
MIN_A_LLV[I] := LLV(A[I],T*10),COLORGREEN;
END;
FOR J := T TO 1 DO BEGIN
IF A[J] > TEMP_UP AND A[J] > 0 AND A[J] > REF(MAX_A_HHV[J],1) THEN BEGIN
TEMP_UP := A[J];
J_UP := J;
END;
IF A[J] < TEMP_DOWN AND A[J] < 0 AND A[J] < REF(MIN_A_LLV[J],1) THEN BEGIN
TEMP_DOWN := A[J];
J_DOWN := J;
END;
END;
MAX_A_UP_NOW : TEMP_UP,COLORYELLOW;//最大值
MAX_T_UP : J_UP,LINETHICK0,COLORBLUE;//最大值对应的t
MAX_A_DOWN_NOW : TEMP_DOWN,COLORWHITE;//最大值
MAX_T_DOWN : J_DOWN,LINETHICK0,COLORBLUE;//最大值对应的t
MAX_A_HHV[I] := HHV(A[I],T*10),COLORRED;
MIN_A_LLV[I] := LLV(A[I],T*10),COLORGREEN;
你这种不符合金字塔pel策略的运行计算机制。hhv等函数计算的条件就是必须是序列变量,而不是元素。元素自己没有最大最小的说法
你这类多维的需求,pel很难实现。