由于我是初学者,所以我在论坛里学了很多关于编写过程中遇到的问题。我的原则是自己能解决的问题自己解决,以下问题实在解决不了。
我的模型是在编写过程中遇到的问题,没有日志。
//平多
IF THOLDING2 > 0 THEN BEGIN TSELL(COND2,1,MKT,0,0,ZH1,PZ1); SLEEP(3000);END
//平空
IF THOLDING2 <0 THEN BEGIN TSELLSHORT(COND1,1,MKT,0,0,ZH1,PZ1); SLEEP(3000); END
//开多
IF THOLDING2=0 THEN BEGIN TBUY(COND1,1,MKT,0,0,ZH1,PZ1) ; END
//开空
IF THOLDING2=0 THEN BEGIN TBUYSHORT(COND2,1,MKT,0,0,ZH1,PZ1) ; END
1解决资金不足的问题我用过 ORDERQUEUE顺序下单的意思是委托单按先后顺序排队等待,依次处理但也有不足的地方,就是在平仓单未及时成交时,依然会出现保证金不足的错误。如 A(平多)、B(开空),A未及时成交自动撤单后追单自动追单的委托就排在后面了,也就是下单顺序就为 B、A 。B发送时就会提示错误,因为保证金并未释放。(所以我后来没有采用)
2后来我采用SLEEP(3000)延迟三秒的方法,但是所有策略都会延迟,我感觉不科学。(请问SLEEP是当平多,平空信号出现才延迟;还是不管平多,平空有没有信号都每次扫描都会延迟)。(我准备要采用)
附加问题如果我采用SLEEP延迟。会不会和金字塔系统自带的程序化下单设置里的顺序下单模式;顺序递交和之前报单完全成交后再顺序递交(因为必须选择一个)会不会有冲突。
请问老师解决资金不足还有没有更好的解决办法,我现在是没有一点方向感。
资金不足就用顺序下单的方式进行限定,防止反手的时候资金不足导致的下单失败
举例:
if IF THOLDING2 > 0 THEN BEGIN TSELL(COND2,1,MKT,0,0,ZH1,PZ1),orderqueue; END