后臺輪詢方式出現多空單互鎖 [金字塔]
- 咨詢內容:
我的模型使用1秒鐘輪詢一次在后臺運行,有時會出現既有多倉又有空倉的情況,而代碼中已經通過THOLDING進行控制了,不知道那里出了問題。
開平倉的代碼如下:
//多頭平倉 IF THOLDING>0 THEN BEGIN 平多A:TSELL(平多1,THOLDING,MKT); 平多B:TSELL(平多2,THOLDING,MKT); END
//空頭平倉IF THOLDING<0 THEN BEGIN 平空A:TSELLSHORT(平空1,THOLDING,MKT); 平空B:TSELLSHORT(平空2,THOLDING,MKT); END
//開倉IF 交易時間 AND THOLDING=0 THEN BEGIN IF THOLDING=0 THEN BEGIN 開多A:TBUY(開多2,手數,MKT); END IF THOLDING=0 THEN BEGIN 開空A:TBUYSHORT(開空2,手數,MKT); END IF THOLDING=0 THEN BEGIN 開多B:TBUY(開多1,手數,MKT); END IF THOLDING=0 THEN BEGIN 開空B:TBUYSHORT(開空1,手數,MKT); ENDEND
- 金字塔客服:
如果需要判斷多空倉,那么使用具體的持倉判斷函數:tbuyholding和tsellholding
- 用戶回復:
按照你說的我改成了tbuyholding和tsellholding,但是多空互鎖的情況仍然存在,難道需要加入什么錯誤處理的代碼嗎?
代碼如下IF TBUYHOLDING(1)>0 THEN BEGIN //多頭平倉 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); //多頭收盤平倉 IF TIME>=151400 AND TBUYHOLDING(1)>0 THEN 收盤平多:TSELL(1,TBUYHOLDING(1),MKT); END
IF TSELLHOLDING(1)>0 THEN BEGIN //空頭平倉 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); //空頭收盤平倉 IF TIME>=151400 AND TSELLHOLDING(1)>0 THEN 收盤平空:TSELLSHORT(1,TSELLHOLDING(1),MKT); END
IF 交易時間 AND THOLDING=0 THEN BEGIN IF THOLDING=0 THEN 開多B:TBUY(開多2,手數,MKT); IF THOLDING=0 THEN 開空B:TBUYSHORT(開空2,手數,MKT); IF THOLDING=0 THEN 開多A:TBUY(開多1,手數,MKT); IF THOLDING=0 THEN 開空A:TBUYSHORT(開空1,手數,MKT);END
- 網友回復:
IF THOLDING=0 THEN
開多B:TBUY(開多2,手數,MKT);
IF THOLDING=0 THEN
開空B:TBUYSHORT(開空2,手數,MKT);
IF THOLDING=0 THEN
開多A:TBUY(開多1,手數,MKT);
IF THOLDING=0 THEN
開空A:TBUYSHORT(開空1,手數,MKT);
END
1.這里的也改了
2.平倉手數都寫0
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容