请大家注意,下列的指令在实盘交易中不一定能正确执行。
1.你现在持有空单1手,现在出现信号要平空单开多仓
if ------- then
begin
sellshort(holding<0,0,thisclose);
buy(holding=0,1,thisclose);
end
这命令是直接下单命令,如果你的资金只够一手,可能sellshort命令还没有执行完,程序就执行buy命令,造成资金不够而无法开多仓。
但金字塔的模拟交易不会出现这个问题,可能是模拟交易时不检查资金情况。
所以我改为:
if ------ then
begin
sellshort(holding<0,0,thisclose),orderqueue;
buy(holding=0,1,thisclose),orderqueue;
end
至今没有出现什么问题,不知这样改对不对。
2.在实盘交易时使用账户中快捷反手按钮无法成交(模拟交易没有问题),成交日志中返回“资金不足”可能和上述问题相同。
1.是的,楼主的做法很对,顺序下委托单,解决资金不足问题.
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332
该帖的问题5讲的就是该问题.
2.目前的快截反手,平仓委托单和开仓委托单是同时下的(不是平仓成交了,才下开仓委托单),会出现您说的资金不足问题.
恩,快截反手的,以后版本会完善的.