在交易千萬別見樹不見林 中示範如何在同一張圖表上加入不同週期的行情走勢,本篇將對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的函式及訊號。在本文中,僅提到改寫函式及訊號,並未提到指標,是因為指標計算的數列,可由加入圖表時指定(指定方式參閱交易千萬別見樹不見林),因此不用特別改寫。