平仓时间:=time>( 144000 or 224000);
IF HOLDING>0 THEN BEGIN
IF 平多条件 and 平仓时间 THEN BEGIN {平多单}
多平:SELL(1,0,MARKET),ORDERQUEUE;
ct:=ct+NUMPROFIT(1);//只在有平仓时候进行平仓盈亏的累计
END
为什么他在15:00 之前不平仓呢 是我代码有问题???
此主题相关图片如下:微信图片_20181015184612.png

平多条件 and 平仓时间
两个条件都成立才会平仓,你平多条件不成立自然不会平仓。
如果你日内盘尾平仓,条件不能合并,需要单独处理。
if 平仓时间 then begin
平仓语句;
end
另外:你这个条件逻辑不对,平仓时间:=time>( 144000 or 224000);
过了144000后,条件恒成立,夜盘会开仓后就平仓。
以下是引用wenarm在2018/10/15 21:23:35的发言:
另外:你这个条件逻辑不对,平仓时间:=time>( 144000 or 224000);
过了144000后,条件恒成立,夜盘会开仓后就平仓。
那请问一下想在 下午收盘平仓 跟晚上11点前平仓代码该如何写呢
需要分两条语句吗?
if time>=144000 or time>=224000 then
begin
sellshort(holding<0,0,thisclose);
sell(holding>0,0,thisclose);
end
这样写对不对呢
time>=144000 or time>=224000
2.写成时间段形式才能保证逻辑完整。。
(time>=184000 and time<=170000) or (time>24000 and time<=30000)