问题在这个系统自带策略我贴过来部分的最后一句(红色部分是在下写的注释):
顾比倒数线策略
//定义参数
H11:=HIGH;//h11为本K线最高价
L11:=LOW;//L11为本K线最低价
A:=IFELSE(HIGH>=REF(HIGH,1)&&HIGH>=REF(HIGH,2)&&HIGH>=REF(HIGH,3) &&HIGH>=REF(HIGH,4)&&HIGH>=REF(HIGH,5),LOW,0);
//定义A的计算公式为:如果(K线最高点≥前面第1根K线的最高价)
同时(高点≥前面第2根K线的最高价)
同时(高点≥前面第3根K线的最高价)
同时(高点≥前面第4根K线的最高价)
同时(高点≥前面第5根K线的最高价)
如果成立就返回本K线最低价,否则返回0
(这个返回零的情况,应该是后边有个判断是否大于零,如果大于零这根K线就参与比较,如果等于零这根K线就被忽略不参与后边的比较)
B:=IFELSE(LOW<=REF(LOW,1)&&LOW<=REF(LOW,2)&&LOW<=REF(LOW,3) &&LOW<=REF(LOW,4)&&LOW<=REF(LOW,5),HIGH,888888);
//定义B的计算公式为:如果(K线最低点≤前面第1根K线的最低价)
同时(K线最低点≤前面第1根K线的最低价)
同时(K线最低点≤前面第2根K线的最低价)
同时(K线最低点≤前面第3根K线的最低价)
同时(K线最低点≤前面第4根K线的最低价)
同时(K线最低点≤前面第5根K线的最低价)
如果成立就返回本K线最高价,否则返回888888,这个888888貌似没啥用,返回>0的就行,貌似。
P1:=IFELSE(A>REF(L11,1),REF(L11,1),0);
//p1的计算公式为:如果(A>前1K线最低点)则返回前1K线最低价,否则返回0.
P2:=IFELSE(A>REF(L11,2)&&A<=REF(L11,1),REF(L,2),0);
//p2的计算公式为:如果(A>前2K线最低点)
同时(A≤前1K线最低点)
则返回前2K线最低价,否则返回0.
P3:=IFELSE(A>REF(L11,3)&&A<=REF(L11,1)&&A<=REF(L11,2),REF(L11,3),0);
//p3的计算公式为:如果(A>前3K线最低点)
同时(A≤前1K线最低点)
同时(A≤前2K线最低点)
则返回前3K线最低价,否则返回0.
P4:=IFELSE(A>REF(L11,4)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3),REF(L11,4),0);
//p4的计算公式为:如果(A>前4K线最低点)
同时(A≤前1K线最低点)
同时(A≤前2K线最低点)
同时(A≤前3K线最低点)
则返回前4K线最低价,否则返回0.
P5:=IFELSE(A>REF(L11,5)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4),REF(L11,5),0);
//p5的计算公式为:如果(A>前5K线最低点)
同时(A≤前1K线最低点)
同时(A≤前2K线最低点)
同时(A≤前3K线最低点)
同时(A≤前4K线最低点)
则返回前5K线最低价,否则返回0.
P6:=IFELSE(A>REF(L11,6)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5),REF(L11,6),0);
//p6的计算公式为:如果(A>前6K线最低点)
同时(A≤前1K线最低点)
同时(A≤前2K线最低点)
同时(A≤前3K线最低点)
同时(A≤前4K线最低点)
同时(A≤前5K线最低点)
则返回前6K线最低价,否则返回0.
P7:=IFELSE(A>REF(L11,7)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5)&&A<=REF(L11,6),REF(L11,7),0);
//p7的计算公式为:如果(A>前7K线最低点)
同时(A≤前1K线最低点)
同时(A≤前2K线最低点)
同时(A≤前3K线最低点)
同时(A≤前4K线最低点)
同时(A≤前5K线最低点)
同时(A≤前6K线最低点)
则返回前7K线最低价,否则返回0.
P8:=IFELSE(A>REF(L11,8)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5)&&A<=REF(L11,6)&&A<=REF(L11,7),REF(L11,8),0);
//p8的计算公式为:如果(A>前8K线最低点)
同时(A≤前1K线最低点)
同时(A≤前2K线最低点)
同时(A≤前3K线最低点)
同时(A≤前4K线最低点)
同时(A≤前5K线最低点)
同时(A≤前6K线最低点)
同时(A≤前7K线最低点)
则返回前8K线最低价,否则返回0.
P9:=IFELSE(A>REF(L11,9)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5)&&A<=REF(L11,6)&&A<=REF(L11,7)&&A<=REF(L11,8),REF(L11,9),0);
//p9的计算公式为:如果(A>前9K线最低点)
同时(A≤前1K线最低点)
同时(A≤前2K线最低点)
同时(A≤前3K线最低点)
同时(A≤前4K线最低点)
同时(A≤前5K线最低点)
同时(A≤前6K线最低点)
同时(A≤前7K线最低点)
同时(A≤前8K线最低点)
则返回前9K线最低价,否则返回0.
P10:=IFELSE(A>REF(L11,10)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5)&&A<=REF(L11,6)&&A<=REF(L11,7)&&A<=REF(L11,8)&&A<=REF(L11,9),REF(L11,10),0);
//p10的计算公式为:如果(A>前10K线最低点)
同时(A≤前1K线最低点)
同时(A≤前2K线最低点)
同时(A≤前3K线最低点)
同时(A≤前4K线最低点)
同时(A≤前5K线最低点)
同时(A≤前6K线最低点)
同时(A≤前7K线最低点)
同时(A≤前8K线最低点)
同时(A≤前9K线最低点)
则返回前10K线最低价,否则返回0.
AA:=P1+P2+P3+P4+P5+P6+P7+P8+P9+P10;
//AA等于这些的和,这个数值有啥用不太理解,应该不止一个是非零的。
PP1:=IFELSE(AA>REF(L11,1),REF(L11,1),0);
//pp1的计算公式为:如果(AA大于前边第1根K线)就返回本周期K线最低点,否则返回0
PP2:=IFELSE(AA>REF(L11,2)&&AA<=REF(L11,1),REF(L11,2),0);
//pp2的计算公式为:如果(AA大于前边第2根K线)
同时(AA≤前1K线最低点)
就返回前2线最低点,否则返回0
PP3:=IFELSE(AA>REF(L11,3)&&AA<=REF(L11,1)&&AA<=REF(L11,2),REF(L11,3),0);
//pp3的计算公式为:如果(AA大于前边第3根K线)
同时(AA≤前1K线最低点)
同时(AA≤前2K线最低点)
就返回前3线最低点,否则返回0
PP4:=IFELSE(AA>REF(L11,4)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3),REF(L11,4),0);
//pp4的计算公式为:如果(AA大于前边第4根K线)
同时(AA≤前1K线最低点)
同时(AA≤前2K线最低点)
同时(AA≤前3K线最低点)
就返回前4线最低点,否则返回0
PP5:=IFELSE(AA>REF(L11,5)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4),REF(L11,5),0);
PP6:=IFELSE(AA>REF(L11,6)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5),REF(L11,6),0);
PP7:=IFELSE(AA>REF(L11,7)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5)&&AA<=REF(L11,6),REF(L11,7),0);
PP8:=IFELSE(AA>REF(L11,8)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5)&&AA<=REF(L11,6)&&AA<=REF(L11,7),REF(L11,8),0);
PP9:=IFELSE(AA>REF(L11,9)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5)&&AA<=REF(L11,6)&&AA<=REF(L11,7)&&AA<=REF(L11,8),REF(L11,9),0);
PP10:=IFELSE(AA>REF(L11,10)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5)&&AA<=REF(L11,6)&&AA<=REF(L11,7)&&AA<=REF(L11,8)&&AA<=REF(L11,9),REF(L11,10),0);
AAA:=PP1+PP2+PP3+PP4+PP5+PP6+PP7+PP8+PP9+PP10;
//AAA等于这些的和,这个数值有啥用不太理解,应该不止一个是非零的。
C11:=VALUEWHEN(AAA>0,AAA);
//C11的计算公式为:如果AAA>0,就返回AAA,否则返回VALUEWHEN的前一个值
---------------------------------------
这句貌似是说如果AAA>0就返回AAA,否则返回VALUEWHEN的前一个值
IF HOLDING=0 THEN BEGIN //若持仓为0
IF TMP<=0 THEN //且TMP<=0
BUY(1,1,LIMITR,CLOSE); //开多单(限价入场,按本周期收盘价来买)
请教版主:这个buy括号里边的第一个是cond的条件,这里边是个1应该怎么理解啊?就是说如果前边IF的那2个条件为true的话?
如果是这样。那不是条件写外边去了么?
还有那个close。我看是本周期收盘价,那买的时候这根K线还没走完的话怎么办?等最后几秒买?还是只前边那根K线的收盘价啊?