請選擇 進入手機版 | 繼續訪問電腦版

COCO研究院

 找回密碼
 註冊
搜索
查看: 6302|回復: 5

請問一個Data2程式的問題

[複製鏈接]
發表於 12-3-6 17:02 | 顯示全部樓層 |閱讀模式
最近練習編寫程式寫了一個邏輯很簡單應用到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 data2  then
sellshort ("Sell")next bar at market;

這段程式的訊號原本預設應該是在13:35出現
但是都等到第二天才會出現在昨天的13:35
所以回測看起來都正常
但是上線就不能使用
請問各位大大我的程式哪裡寫錯了嗎?
發表於 12-3-6 17:24 | 顯示全部樓層
基本上程式應該是沒問題的..
但商品設定可能會有點問題.. 現行的搓合盤制度.. 加權大約要到13:33之後才會有價格出現..
我的MC加權1分K.. 常常過了13:34也沒有更新到最後的價格.. 要切一下視窗才會更新..
不知是我的問題或MC的問題..
所以你可能要設定好正確的加權商品交易時間.. 並在觀察看看..
發表於 12-3-6 17:56 | 顯示全部樓層
本帖最後由 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 data2  then
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也許不一樣。
 樓主| 發表於 12-3-6 18:41 | 顯示全部樓層
首先感謝兩位的回覆
剛剛也做了一些測試還是沒法達到我要的效果
後來得到了凱衛的回答
發現是軟體的問題
凱衛客服的回答如下
在 MC6中,要兩個DATA都有K棒時,程式才會運作

因為大盤只到1:30 ,後面沒有K棒可以跟期貨對映,所以不會動作,要到次日才會運作

這個問題在MC7 已被解決,可以在訊號設定中,設定成任一DATA的K棒結束都要運作

所以後先更新到MC7才能解決
發表於 12-3-6 20:20 | 顯示全部樓層
A大.. 建議你可以自設加權的交易結束時間為13:35.. 而不是13:30..
發表於 12-5-9 17:08 | 顯示全部樓層
我也想學用DATA2
做套利很需要...> <"
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-3-29 05:33

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 | AI繪圖AI超擬真美女AI beauty AI Stable DiffusionAI正妹AI Lookbook