holding 不能用,因为用 c2:=cash(1)/10000; 这样来确定开仓数目了
所以本来的 abs(holding)<10 就不可以用了
for i:=1 to 1 do
BEGIN
c2:=cash(1)/10000;
开空:=ref(KK,1);
buyshort(开空 ,c2,limitr,open); // 开空代码
end
这样每次信号“开空” 出现就会执行1次, 我通过限制成 abs(holding)<10 可以控制开仓次数,只要大于10就不会继续交易
现在改成c2:=cash(1)/10000; 自动算钱后就无法控制开仓次数了 ,开仓只要开3次要怎么写?
在就是是不是REF最好放在 for上面才能避免程序风险?
你在FOR循环里加交易语句是没效果的,一行语句只能执行一次的.
除非你用后台交易
你在FOR循环里加交易语句是没效果的,一行语句只能执行一次的.
除非你用后台交易
那开仓3次意思是改结构? 写3个IF来判定是否开了3次?
图表用全局变量来记录下单次数
variable:n=0;
if n<3 and 开空条件 then begin
buyshort.....;
n:=n+1;
end
if 重置变量条件 then n:=0;
后面要加上一条判断条件让n重置变量,不然n的值会在下单3次之后不再变化
图表用全局变量来记录下单次数
variable:n=0;
if n<3 and 开空条件 then begin
buyshort.....;
n:=n+1;
end
if 重置变量条件 then n:=0;
后面要加上一条判断条件让n重置变量,不然n的值会在下单3次之后不再变化
3Q 学会了