咨詢(xún)內(nèi)容:我的模型使用1秒鐘輪詢(xún)一次在后臺(tái)運(yùn)行,有時(shí)會(huì)出現(xiàn)既有多倉(cāng)又有空倉(cāng)的情況,而代碼中已經(jīng)通過(guò)THOLDING進(jìn)行控制了,不知道那里出了問(wèn)題。 開(kāi)平倉(cāng)的代碼如下: //多頭平倉(cāng) IF THOLDING>0 THEN BEGIN 平多A:TSELL(平多1,THOLDING,MKT); 平多B:TSELL(平多2,THOLDING,MKT);END //空頭平倉(cāng)IF THOLDING<0 THEN BEGIN 平空A:TSELLSHORT(平空1,THOLDING,MKT); 平空B:TSELLSHORT(平空2,THOLDING,MKT);END //開(kāi)倉(cāng)IF 交易時(shí)間 AND THOLDING=0 THEN BEGIN IF THOLDING=0 THEN BEGIN 開(kāi)多A:TBUY(開(kāi)多2,手?jǐn)?shù),MKT); END IF THOLDING=0 THEN BEGIN 開(kāi)空A:TBUYSHORT(開(kāi)空2,手?jǐn)?shù),MKT); END IF THOLDING=0 THEN BEGIN 開(kāi)多B:TBUY(開(kāi)多1,手?jǐn)?shù),MKT); END IF THOLDING=0 THEN BEGIN 開(kāi)空B:TBUYSHORT(開(kāi)空1,手?jǐn)?shù),MKT); ENDEND
用戶(hù)回復(fù):按照你說(shuō)的我改成了tbuyholding和tsellholding,但是多空互鎖的情況仍然存在,難道需要加入什么錯(cuò)誤處理的代碼嗎? 代碼如下IF TBUYHOLDING(1)>0 THEN BEGIN //多頭平倉(cāng) IF TBUYHOLDING(1)>0 THEN 平多A:TSELL(平多1,TBUYHOLDING(1),MKT); IF TBUYHOLDING(1)>0 THEN 平多B:TSELL(平多2,TBUYHOLDING(1),MKT); //多頭止損 IF LOST>=MaxLost AND TBUYHOLDING(1)>0 THEN 止損平多:TSELL(1,TBUYHOLDING(1),MKT); //多頭收盤(pán)平倉(cāng) IF TIME>=151400 AND TBUYHOLDING(1)>0 THEN 收盤(pán)平多:TSELL(1,TBUYHOLDING(1),MKT); END IF TSELLHOLDING(1)>0 THEN BEGIN //空頭平倉(cāng) IF TSELLHOLDING(1)>0 THEN 平空A:TSELLSHORT(平空1,TSELLHOLDING(1),MKT); IF TSELLHOLDING(1)>0 THEN 平空B:TSELLSHORT(平空2,TSELLHOLDING(1),MKT); //空頭止損 IF LOST>=MaxLost AND TSELLHOLDING(1)>0 THEN 止損平空:TSELLSHORT(1,TSELLHOLDING(1),MKT); //空頭收盤(pán)平倉(cāng) IF TIME>=151400 AND TSELLHOLDING(1)>0 THEN 收盤(pán)平空:TSELLSHORT(1,TSELLHOLDING(1),MKT); END IF 交易時(shí)間 AND THOLDING=0 THEN BEGIN IF THOLDING=0 THEN 開(kāi)多B:TBUY(開(kāi)多2,手?jǐn)?shù),MKT); IF THOLDING=0 THEN 開(kāi)空B:TBUYSHORT(開(kāi)空2,手?jǐn)?shù),MKT); IF THOLDING=0 THEN 開(kāi)多A:TBUY(開(kāi)多1,手?jǐn)?shù),MKT); IF THOLDING=0 THEN 開(kāi)空A:TBUYSHORT(開(kāi)空1,手?jǐn)?shù),MKT);END
網(wǎng)友回復(fù):
IF THOLDING=0 THEN
開(kāi)多B:TBUY(開(kāi)多2,手?jǐn)?shù),MKT); IF THOLDING=0 THEN 開(kāi)空B:TBUYSHORT(開(kāi)空2,手?jǐn)?shù),MKT); IF THOLDING=0 THEN 開(kāi)多A:TBUY(開(kāi)多1,手?jǐn)?shù),MKT); IF THOLDING=0 THEN 開(kāi)空A:TBUYSHORT(開(kāi)空1,手?jǐn)?shù),MKT);END