請問一個Data2程式的問題
最近練習編寫程式寫了一個邏輯很簡單應用到data2的程式每天的加權指數日線收盤大於均線買進,小於均線賣出
data1設台指期5分鐘線
data2設加權指數日線
inputs: MA(5);
if close of data2 > Average(close ,MA)of data2 then
buy ("Buy")next bar at market;
if close of data2< Average(close ,MA)of data2then
sellshort ("Sell")next bar at market;
這段程式的訊號原本預設應該是在13:35出現
但是都等到第二天才會出現在昨天的13:35
所以回測看起來都正常
但是上線就不能使用
請問各位大大我的程式哪裡寫錯了嗎? 基本上程式應該是沒問題的..
但商品設定可能會有點問題.. 現行的搓合盤制度.. 加權大約要到13:33之後才會有價格出現..
我的MC加權1分K.. 常常過了13:34也沒有更新到最後的價格.. 要切一下視窗才會更新..
不知是我的問題或MC的問題..
所以你可能要設定好正確的加權商品交易時間.. 並在觀察看看.. 本帖最後由 samuelho 於 12-3-6 06:09 PM 編輯
inputs: MA(5);
if close of data2 > Average(close ,MA)of data2 then
buy ("Buy")next bar at market;
if close of data2< Average(close ,MA)of data2then
sellshort ("Sell")next bar at market;
.........................................................................
1.在下覺得,因該是average(close,ma)of data2怪怪的,
如果是在下寫,應該會寫average(close of data2,5)
另外建議用變數會比較好,且函數裡面不要用變數ma,直接打5
vars:x(0)
x=close of data2;
2.由於週期不同可能會導致計算的錯誤,因為程式在算往前5根的average(x,5)的時候是用data of data1來前推5根,
不是用data2來往前推5根,所以會導致average(x,5)可能計算到1330,1325,1320,1315,1310的close of data2的平均,但是大大要的卻是data2的5日平均,建議先print 出來print出1330的close of data2與average(x,5)是否有這問題。
若真的是這樣,在下建議2商品都攤開成為5分k或15分k讓週期一致。
p.s在下是用ts和hts語法有遇到這問題,所以僅供參考囉,mc也許不一樣。 首先感謝兩位的回覆
剛剛也做了一些測試還是沒法達到我要的效果
後來得到了凱衛的回答
發現是軟體的問題
凱衛客服的回答如下
在 MC6中,要兩個DATA都有K棒時,程式才會運作
因為大盤只到1:30 ,後面沒有K棒可以跟期貨對映,所以不會動作,要到次日才會運作
這個問題在MC7 已被解決,可以在訊號設定中,設定成任一DATA的K棒結束都要運作
所以後先更新到MC7才能解決 A大.. 建議你可以自設加權的交易結束時間為13:35.. 而不是13:30.. 我也想學用DATA2
做套利很需要...> <"
頁:
[1]