zx0988158941 發表於 20-12-23 22:27

求助,marketposition的問題

本帖最後由 zx0988158941 於 20-12-23 22:34 編輯

想了解,在程式碼中,marketposition 判斷的有無是如何影響到交易的判斷的舉例:
var:avg1(0),avg2(0);
value1 = average(c,10);
value2 = average(c,20);
avg1 = value1 > value2;
avg2 = value1 < value2;

if marketposition <> 1 and avg1 then buy next bar at highest(h,1) stop;
if marketposition <> -1 and avg2 then sellshort next bar at lowest(l,1) stop;

if avg1 then buy next bar at highest(h,1) stop;
if avg2 then sellshort next bar at lowest(l,1) stop;


上圖是同一時間,下面策略多了marketposition的判斷而多空單進場,想知道為何交易點不同的原因。

flashbibby 發表於 20-12-25 09:27

不是程式碼的問題,是要先考慮你判斷進場的程式段跟結算出場的程式段的相對位置可能會造成marketposition 的判斷不同

以你的圖例來說,或許你可以在進場前加印出 marketposition 的狀態看看,是不是他造成結果不同

print(marketposition );
if marketposition <> -1 and avg2 then sellshort next bar at lowest(l,1) stop;


print(marketposition );
if avg2 then sellshort next bar at lowest(l,1) stop;

flashbibby 發表於 20-12-24 09:42

資料不足,無法單純用這幾行判斷。
要考慮你程式的相對關係,例如 End of Day 的成立點跟判斷要不要進場,就會對取出的marketposition有影響

zx0988158941 發表於 20-12-24 18:46

flashbibby 發表於 20-12-24 09:42
資料不足,無法單純用這幾行判斷。
要考慮你程式的相對關係,例如 End of Day 的成立點跟判斷要不要進場, ...

抱歉 附上我的結算日出場
{=======LastTradingDay======}
condition1=(dayofweek(date) = 3 and dayofmonth(date) > 14 and 22 > dayofmonth(date));
if condition1 = true then begin
setexitonclose;
end;

所以可能是因為結算日影響進場判斷瞜?
策略內容加結算日就都放上了

zx0988158941 發表於 20-12-29 18:34

flashbibby 發表於 20-12-25 09:27
不是程式碼的問題,是要先考慮你判斷進場的程式段跟結算出場的程式段的相對位置可能會造成marketposition...

感謝 以解決,在結算日當根K棒雖然已經進行賣出交易,MARKETPOSITION卻還顯示在倉才會影響交易的有無。
頁: [1]
查看完整版本: 求助,marketposition的問題