googleandy 發表於 13-4-10 20:39

請教語法: D <> D next bar

這篇MC官網文章http://www.multicharts.com.tw/dis/dis_Content.aspx?rd=1&D_ID=2&SN=14112 有這麼一行程式碼,語法很少見過(可能是我少見多怪也說不定)if D <> D next bar and open nextbar> Close and dayofweek(D) = 5 then buy next bar at market; 這問:1. D <> D next bar 是什麼意義?2. open next bar > Close是什麼意義?

謝謝!

xoxo 發表於 13-4-10 20:55

我來猜猜
1. D <> D next bar : 今天的日期不等於下一根bar的日期
2. open next bar > Close : 下一根bar的開大於現在bar的收
3. dayofweek(D) = 5 : 今天星期五

==>下一根bar的開是星期一開盤,
所以下星期一開盤大於本周五收盤的話, 下星期一開盤的第一根就市價買進

有錯請鞭小小力


googleandy 發表於 13-4-10 21:10

xoxo 發表於 13-4-10 20:55 static/image/common/back.gif
我來猜猜
1. DD next bar : 今天的日期不等於下一根bar的日期
2. open next bar > Close : 下一根bar的開 ...

我也這麼"推理"過,
但可能有 "引用未來數據" 的問題.

曾永政 發表於 13-4-10 22:23

本帖最後由 曾永政 於 13-4-10 22:27 編輯

的確就 Condition 的判斷來說是引用了未來數據,但是卻不會在 condition 的成立與否有變化的問題。這對於用來下單是一點問題也沒有的。

我曾經介紹過:http://www.yctseng.net/2012/02/open-tomorrow-stop.html

next bar(tomorrow) 資料取用是有限制的,只有下一根K棒的 Open、Date、Time、Time_s 可以取用,而這些資料都是在下一根K棒的第一個 tick 出現時,就立即確定且不會變化的數據,而 condition 判斷後的動作最快也不過就是 next bar market,所以就實際上的下單來說,因為 Open next bar 出現時,condition 就可以確立,動作與否也就可以確立 do or not,因此這個狀況下的引用未來數據是沒有問題的。

tedwang 發表於 13-4-10 23:38

長見識了.                     

lantis 發表於 13-4-10 23:45

Learned something.Thanks.{:4_209:}

K7774 發表於 13-4-11 00:16

小弟就我所知說一下, 說錯不要打我.

D 的意思是前兩根K棒的日期
D 的意思是前一根K棒的日期
D 或 D this bar 或 D today 或 D 的意思是當根K棒的日期
D[-1] 或 D next bar 或 D tomorrow 的意思是下一根K棒的日期

O 的意思是前兩根K棒的開盤價
O 的意思是前一根K棒的開盤價
O 或 O this bar 或 O today 或 O 的意思是當根K棒的開盤價
O[-1] 或 O next bar 或 O tomorrow 的意思是下一根K棒的開盤價

用[]可能比較好理解

googleandy 發表於 13-4-11 00:55

本帖最後由 googleandy 於 13-4-11 00:59 編輯

K7774 發表於 13-4-11 00:16 static/image/common/back.gif
小弟就我所知說一下, 說錯不要打我.

D 的意思是前兩根K棒的日期

好的, 謝謝 K 大,
其實我也嘗試把上述程式碼改為

if D <> D[-1]andopen[-1]> Close and dayofweek(D) = 5 then
buy next bar at market;


但得錯誤訊息:
"試圖使用未來數據, k棒引用值-1"

K7774 發表於 13-4-11 03:02

googleandy 發表於 13-4-11 00:55 static/image/common/back.gif
好的, 謝謝 K 大,
其實我也嘗試把上述程式碼改為



D[-1]在PL可以編譯得過, 但在MC卻不能引用...我覺得這應該算是MC的bug,
anyway, 改用D next bar, D tomorrow應該是ok的.

OHLC用[-1]好像就都沒有問題, 但還是要注意假聖杯的問題.
if D <> D next bar and Open[-1] < Close[-1] then buy next bar market;
setexitonclose;



頁: [1]
查看完整版本: 請教語法: D <> D next bar