2023-11-16|閱讀時間 ‧ 約 3 分鐘

大數據時代,資料為王

交易千萬別見樹不見林 中示範如何在同一張圖表上加入不同週期的行情走勢,本篇將對MultiCharts初體驗-函式撰寫MultiCharts初體驗-訊號撰寫 的程式進行改寫,讓程式可以讀取到多週期的K線資料。

資料數列

資料數列

在MC中可以用Data1、Data2、⋯⋯、Data99的指定方式,來存取圖表中的數列,讀者若不確定DataN代表的是那個數列,可在圖表上按下右鍵,然後選擇「設定商品」,即可看到如上圖的畫面,Data1代表的是五分鐘的台指期近、Data2代表的是三十分鐘的台指期近。

Inputs: Len(NumericSimple), Price(NumericSeries), ComparePrice(NumericSeries);
Variables: AvgValue(0);

AvgValue = Average(Price, Len);
_Bias = (ComparePrice - AvgValue) / AvgValue * 100;

可指定資料數列

首先改寫_Bias這個函式,加入可指定資料數列的輸入參數,否則函式在計算資料時,會以預設的Data1進行計算,若希望函式可以計算不同的數列時,就必需多加一個指定所要計算的數列,在_Bias中,多加一個Price(NumericSeries)來讓呼叫他的程式,可以指定計算的數列。

加入指定資料數列

接下來,在訊號的程式中,也加入計算長週期的數值,在此宣告一個LongBiasValus的變數,用來儲存三十分鐘K線所計算出來的Bias值。

在呼叫_Bias函式計算三十分鐘K線時,在傳入參數需要特地指名是Data2,否則在MC會預設以Data1為計算數列。

_Bias(BiasLen, Close of Data2, Close of Data2);

使用「of DataN」就可將數列指定至預設數列以外的數列。

本文以簡單的例子,讓讀者可以了解在MC中,如何新增第二個(或更多個)商品後,以程式存取這些數列,以進行更佳精緻的策略開發,讀者可試著自行改寫_ContinueBreakOut的函式及訊號。在本文中,僅提到改寫函式及訊號,並未提到指標,是因為指標計算的數列,可由加入圖表時指定(指定方式參閱交易千萬別見樹不見林),因此不用特別改寫。


分享至
成為作者繼續創作的動力吧!
由TradeStation、MultiCharts至完全自製交易程式的發展歷程,深入探討程式交易的交易觀念、策略寫法。
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言