洗價時會在這個點位上下洗刷,而這個關鍵點位是經由計算而來
主力控盤若在這點位上下震盪就會重覆多空
有沒有方法控制不要出現此問題?
先學好變數的時序控制,就可避免這個問題。
可以舉例說明 或說得清楚是那個時序控制?
這個需要教學至少兩小時。參考以下的貼文。
https://forum.xq.com.tw/thread/%e7%88%9b%e7%b3%bb%e7%b5%b1/?order=all#comment-a7ad32c2-cee7-4621-8b4c-b1a30028ae2d
var: intraBarPersist hasOrdered(false);
if condition1 and hasordered=false then begin
setposition(1,market);
hasordered=true;
end;
若用上述語法則停止下單,請問許教授是何處錯誤所致?
to 許教授:因為是用1分K,且還是同一根K內連續發生 多空的問題,有這語法嗎?
回測時看不到此問題
上述程式只控制進場,你的問題可能是出在出場控制。可以用position控制看看。若還不行,最好貼上程式碼,才好協助。
因為我貼圖內容也很清楚明確
如果虎科大許教授不了解或是看不懂,也就不要熱情回覆就好了
不然,您又貼了別文的連結,內容盡是數落該文發文者,答案又無法對該文發文者有幫助
這篇回覆語氣也不好 “先學好變數的時序控制,就可避免這個問題。” 似乎對別人有那麼點數落的語氣
按照您的 “這個需要教學至少兩小時” 也是一點幫助都沒有!
我最後再依照您的position控制,結果當然也一樣,無法作單。真是謝謝 虎科大許教授。
var: intraBarPersist hasOrdered(false);
if position=-1 and filled=-1 and condition1 and hasordered=false then begin
setposition(1,market);
hasordered=true;
end;
不確定是否有幫助,但分享我自動交易腳本避免的方法,框架大概如下:
var: intrabarpersist _XS_LastTradeBar(0);
var: intrabarpersist _barTradeCount(0);
if Getinfo("Instance") = 5 and GetInfo("IsRealTime") = 1 then begin
if _XS_LastTradeBar <> CurrentBar then begin
_XS_LastTradeBar = CurrentBar;
//每根Bar首次洗價
_barTradeCount = 0; //換Bar清變數
end;
if _barTradeCount < {每根Bar交易上限} then begin
//下單
_barTradeCount = _barTradeCount + 1;
end;
end;
可以加一個條件
condition1 = filledRecordCount = 0 or timediff(currenttime, filledRecordTime(filledRecordCount), "M") > 2;
以上條件是2分鐘內不再下單...時間可以自己修改!
12 評論