请教:怎么样能控制当第5单收盘价大于白线时不开单(条件是C5>白线),且平掉前面开的4单,语句描述。如下图,谢谢
也就是讲这个变量关掉,另一个变量打开。谢谢

此主题相关图片如下:5.png
用全局变量控制吧。每次加仓时候 全局变量递增,当第五次满足加仓条件的时候 判断下是否C5>白线 如果是那么全平即可。
具体实现大概类似这样的过程
VARIABLE:ct:=0;
if 加仓条件 and holding>0 and ct<=4 then
begin
if ct=4 and C5>白线 then //第五次时候判断下 是否满足C5>白线
begin
sell(holding>0,holding,market);
end
buy(holding>0,1,market);//这里holding>0是必须加上的,以防止第五次平仓后又开仓
ct:=ct+1;
if holding=0 then ct:=0; //如果平仓了那么重置全局变量
end
注意:其他地方的平仓条件触发的平仓也需要做一次全局变量的重置。
别直接导入进去,我这个不是也不能写成模块直接用的。都是需要理解思路之后修改自己代码才行的。