老师,我写了一个减仓语句,可是在测试中确不能保证只减仓一次,源码如下,请教老师帮忙看看问题出现在哪?variable : EXCPT=0; //平仓次数
//多单减仓条件
JCDD:=HH20-ATR;
KDZS:=IF(JCDD>C,1,0);
//多单减仓
IF HOLDING>0 AND KDZS=1 THEN BEGIN//若持有多单并且满足减仓多单条件
SELL(KDZS=1,HOLDING/2,LIMITR,JCDD-MINDIFF),ignorecheckprice;//减仓多单
EXCPT:=1;
END
你这个没有限制到减仓,EXCPT加入到减仓条件里面去。
//多单减仓
IF HOLDING>0 AND KDZS=1 AND EXCPT=0 THEN BEGIN
SELL(KDZS=1,HOLDING/2,LIMITR,JCDD-MINDIFF),ignorecheckprice;
EXCPT:=1;
END
这样改写不对。没有减仓动作。怎么写才对?
这样也不对,在十五分钟图表里面不需要重置减仓次数的。当持有多单时,价格回撤到一定幅度,减仓一次,有且只减仓一次。
你输出下你的减仓条件,你看下是否有成立过。 全局变量的控制是没问题的。
//多单减仓条件
JCDD:=HHV(H,20)-ATR;
KDZS:=IF(JCDD>C,1,0);
这是减仓条件
条件成立,后面联系减仓几次,我需要的是只减仓一次。
[此贴子已经被作者于2017/12/13 9:54:11编辑过]
你在什么模式下运行的,序列模式下 全局变量会失效的。
方便的话,可以把完整代码帖下。我本地调下。
[此贴子已经被作者于2017/12/13 10:07:43编辑过]