请教,限制当日同方向的交易次数不超过3次的代码
用全局变量做处理
vairable:n=0;//n记录当天开多的交易次数
if 持仓判断 and n<3 and 开多 条件 then begin
buy.......;
n:=n+1;
end
if time=closetime(0) then n:=0;//最后在收盘时重置变量,避免变量影响到第二天的交易
请问:
vairable:n:=0;
用全局变量赋值与直接赋值:N:=0;有什么区别?
刚才试了下,如果不用全局变量赋值就不行
普通变量,每个周期都会重置为初始值;全局变量仅在第一根k线置为初始值
初始值就是0
请问:
如果只是限制同一品种当日的同向交易次数不超过3次,上面的代码得如何改下
vairable:n=0;//n记录当天开多的交易次数
if 持仓判断 and n<3 and 开多 条件 then begin
buy.......;
n:=n+1;
end
if time=closetime(0) then n:=0;//最后在收盘时重置变量,避免变量影响到第二天的交易
这是开多的
然后再做个开空的标记:
variable:k_bj=0;
使用方法和开多bj一样的
试了下,按上面的思路多空,都实现了。
但是存在一个问题(应该是因为我的表述没清楚),如果某一个品种同向交易达到3次后,换成别的品种后,别的品种即使1次也没有交易,该同向交易也限制了而不交易,这是不需要的;
要求是:限制每一个品种的同向交易次数,各个品种之间不关联
谢谢