MultiCharts初體驗-指標撰寫

閱讀時間約 6 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。

在軟體工程中強調架構的延展性、維護性及重用性,將運算邏輯先寫成函式就是為了提高重用及維護,軟體界在這樣的發展下,開發出許多通用的套件,使得許多程式開發者可以利用套件來提升開發速度及穩定度,就如同現在的微波食品,想要煮一桌菜,不用自己從買食材開始、處理食材、料理食物、擺盤上桌⋯⋯等步驟,只需將買來的調理包弄熱,擺盤就可上桌了,在前篇寫的函式就可想像類似製作這類的調理包,日後只要拿來搭配使用,就可以寫出各式的指標或策略。

接下來就來將連續過高點或連續過低點的指標寫出來,讓MC的圖表視窗可以拿來使用,首先在PowerLanguage Editor中新增一個指標類型的空白文件,新增的方式與函式類似,只是在類型的視窗選擇「指標」。

新增指標

新增指標

指標名稱就取名為「_ContinueBreakOut」。

為指標命名

為指標命名

在指標的部份,也可以設定輸入的參數,與函式不同點在於函式是指定參數名及參數型態,而在指標是指定參數名及參數值,為了讓指標的使用情境可以更多元,在輸入參數的部份設計成三個參數,說明如下:

  1. BarCount:
    指定連續創高點或連續創低點的K棒數,使用者在日後使用時,可以依據自己的習慣改變後,觀察行情。
  2. Direction:
    要標示的方向,1為標示創高、-1為標示創低、0為二者都標示,讀者可以回想上一篇的參數,在撰寫時,就先預留了Direction的參數,在同一個函式中,就可以指定要判斷高點還是低點。
  3. Offset:
    當連續創高時,可指定標示的位置是在該根K棒高點往上加多少點數,連續創低時,可指定標示的位置是在該根K棒低點往下減多少點數,這樣的設計可以避免標示圓點剛好標示在最高價或最低價而影響到K線的觀察。
Inputs:BarCount(3), Direction(0), Offset(3);
輸入參數

輸入參數

接下來在指標的程式中,也需要使用到幾個變數,其說明如下:

  1. NeedDraw:
    用來存放此根K棒是否需要標示,當有連續創高點或連續創低點時,就可將此值改變成True,讓指標將其標示在K線圖上。
  2. Color:
    用來存放標示圓點的顏色,在程式中判斷連續創高點或連續創低點時,將標示點用不同顏色來標示。
  3. PlotValue:
    在計算過程中,創高點則往上加Offset的點數,創低點則往下減Offset的點數,為了讓程式的可讀性提高,則利用此變數來統一存放要標示的位置。
  4. UpColor:
    指定創高點的標示顏色。
  5. DownColor:
    指定創低點的標示顏色。
Variables:NeedDraw(False), Color(White), PlotValue(0), UpColor(Red), DownColor(Green);
程式中使用的變數

程式中使用的變數

調理包熱好了,餐具也準備好了,接下來進行擺盤後,就可以上桌了,讀者在剛接觸到程式設計時,也許無法一次就將這些變數完整設計出來,可以在用到時,再宣告就好,隨著寫作的次數增加,就會越來越熟練。

NeedDraw = False;

If Direction >= 0 And _ContinueBreakOut(BarCount, 1) Then
Begin
Color = UpColor;
PlotValue = High + Offset;
NeedDraw = True;
End;

If Direction <= 0 And _ContinueBreakOut(BarCount, -1) Then
Begin
Color = DownColor;
PlotValue = Low - Offset;
NeedDraw = True;
End;

If NeedDraw Then
Plot1(PlotValue, "", Color);
標示指標標示點

標示指標標示點

在指標撰寫時,先將NeedDraw設為False(即預設為沒有創高或創低),接下來,就要使用買來的調理包來上菜(誤,是已寫好的判斷函式),首先,先判斷是否有連續創高點,在此要有二個判斷式都成立,才會標示,Direction >= 0,用來決定是否要判斷行情連續創高點,在這裹使用個小技巧,使用Direction >= 0,讓使用者可以使用0或1來畫創高點(可參閱輸入參數說明,1表示只畫創高、0表示創高與創低均畫),另外使用我們已寫好的判斷函式_ContinueBreakOut,若回傳True即代表本根K棒是創新高。當二者都成立時,就將要標示的顏色(Color = UpColor)、標示的位置(PlotValue = High + Offset)並將此根K標示為需要標示(NeedDraw = True);連續創低點的邏輯與此類似,只是將其反過來,讓顏色及位置符合標示低點的設定。

最後使用Plot1這個內建函式來將標示點畫出,在這使用了NeedDraw來判斷是否需要畫出標示點,至此已將指標撰寫好,可以加入圖表視窗中使用。

在桌角遇到MultiCharts文寫到如何新增指標,讀者現在就可將指標顯示在K線圖上。

在指標的預設類型為「線條圖」,讀者可以將此類型變更為「點狀圖」這可以讓指標將標示點標示為點狀而非如均線般的線條,選完後,可勾選左下角的「設成預設值」即可將此指標的預設值設定為「點狀圖」,下次再使用時,就不需再手動調整。

設為點狀圖,並勾選設為預設值

設為點狀圖,並勾選設為預設值

按下確定後,即可將指標標示在行情上,但讀者會發現,為什麼不是如同均線一般標示在K線的圖表中,而是如成交量一樣,新增在下方成為一個新圖表,這是因MC的預設都是新增一個副圖。

標示在獨立的圖表區

標示在獨立的圖表區

此時,可以透過設定指標的方式,將圖移至K線圖,在設定的「屬性」頁籤可看到「副圖」的選項,將此指標的副圖選至「副圖#1」,然後一樣勾選「設成預設值」即可將其移至K線圖的位置。


將指標移至K線圖

將指標移至K線圖

raw-image

雖然已移至K線圖所在的區塊,但標示圖太小,不容易看,此時可以再透過設定的方式,增加其寬度,就可讓標示的點變大。

增加點狀圖寬度

增加點狀圖寬度

至此,讀者有沒有覺得自己突然得到神丹,功力立馬大增數萬年,已經可以開發自己的指標並且標示在線圖上,指標是交易訊號寫作靈感的來源,透過圖表的判斷,歸納出自己的交易訊號。




15會員
55內容數
金融市場入門新手所必知的基本知識
留言0
查看全部
發表第一個留言支持創作者!
股市觀察家的沙龍 的其他內容
程式交易初探
閱讀時間約 3 分鐘
市場觀察方式的演進
閱讀時間約 2 分鐘
在桌角遇到MultiCharts
閱讀時間約 3 分鐘
MultiCharts初體驗-函式撰寫
閱讀時間約 4 分鐘
你可能也想看
【程式交易入門】MultiCharts 新手入門、學習、線上課程投資股市,所要面臨的人性考驗 在投資股市的過程中,有經驗的投資人,一定會經歷,人性的考驗 例如:帳面賠錢時,是否該停損;股票賺錢時,是否該獲利了結 然而,現實的狀況是,大部份的人,過度被 情緒 所主導,以致於在投資的過程中,容易發生,股票賣在阿呆谷,事後卻看著股票揚長狂飆,大嘆三聲無奈 另一個場
Thumbnail
avatar
Dash
2023-06-24
【Multicharts】【布林通道策略】程式碼逐條解說歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
avatar
Kevin 凱龍
2023-04-29
【Multicharts】【RSI指標策略】程式碼逐條解說歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
avatar
Kevin 凱龍
2023-04-03
【Multicharts】【顧比指標】程式碼逐條解說歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
avatar
Kevin 凱龍
2023-04-01
【Multicharts】【KD指標策略】程式碼逐條解說歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
avatar
Kevin 凱龍
2023-03-31
【Multicharts】【MACD策略】程式碼逐條解說歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
avatar
Kevin 凱龍
2023-03-22
初體驗-玫瑰藝伎咖啡及兔子芒果雪糕 朋友特別約在此碰面喝咖啡,心想怎會在水晶店內?到店鋪才發現是一家複合式店鋪,原來是軟雕藝術作品還有店家自己食用過覺得很棒的商品與喜歡藝術品的朋友分享,另外安排幾張小桌子,讓喜歡藝術的朋友可以在此小聚。 特別值得一提,朋友特別點了點心組超特別是芒果雪糕(正確名稱不記得了
Thumbnail
avatar
學習分享
2023-01-31
初體驗|來自星星塔羅棧的療癒訊息YouTube有非常多大眾塔羅占卜,我會選擇星星塔羅棧的主要原因是他的塔羅諮詢是理性分析的療癒,直搗核心的好壞都直說,一點都不囉嗦的風格,對我而言才是最有幫助的。 關於塔羅占卜,一般而言我會比較喜歡面對面和老師對談覺得比較有互動,也能更好表達自己的問題;這次分享的占卜是線上電話諮詢的方式。
Thumbnail
avatar
琳聽
2021-06-23
初體驗身心靈療癒世界:魔法地圖(下)巴哈花精 由英國巴哈醫師(Dr. Edward Bach)所發明,花精的功效在於心靈最脆弱的時候,適時提供援助。巴哈醫師:「生命不要求我們無止盡的犧牲,只要我們快樂的度過人生的旅程,並為旁人造福。如果我們造訪地球,能讓這世界變得好一點,那麼我們已完成了人生的任務。」
Thumbnail
avatar
月球漫步魚
2021-06-21
初體驗身心靈療癒世界:魔法地圖(上)書名 / 魔法地圖:16種療癒身心靈的新時代教導 作者 / Leela 天使之翼女巫部落格 這本書是2009年出版的,我直到12年後的今天,才與它相見!仍對其中的魔法奧妙感到稱奇!現在可能有越來越多的魔法開始被廣為人知,但是這16種魔法很經典,有一些一直在身邊,我們什麼時候才會發現它呢?
Thumbnail
avatar
月球漫步魚
2021-06-17