Multicharts下單指令介紹-PowerLanguage語法教學(三)

立即訂閱電子報,掌握最新資訊!

    電子郵件

    有興趣的主題
    量化交易金融知識台灣股市國內期貨海外期貨虛擬貨幣

    有興趣的量化交易軟體/平台
    不清楚MultiChartsTradingViewPythonXQMT4MT5

    還有什麼詢問的?

    MultiCharts優惠整理!軟體費用特價與折扣代碼
    MultiCharts線上課程限時特價中

    一、MultiCharts-PowerLanguage下單指令介紹

    這篇文我們就用前面教過的程式碼來組出一條下單指令,先介紹「下單指令」是什麼,下單指令也就是常聽到的交易指令。如果用傳統交易方式來說明,就像是打電話給營業員,告訴他今天我們要用什麼價格、買什麼商品,用什麼方式買。

    一個完整的程式交易下單指令通常會由以下幾個要素構成:

    1. 買賣指令: 下甚麼單?買單或是賣單
    2. 命名進出場:這筆交易指令的進出場名稱(非必要選項)
    3. 時間:在什麼時間?
    4. 價格:用什麼價格?
    5. 委託方式:什麼委託方式?stop觸價單、limit限價單、market市價單

    需要免費MultiCharts助教支援?

      填寫表單,符合資格者即可獲得
      🔸新手教學懶人包
      🔸不定時線上線下講座
      🔸免費量身訂做個人的程式
      🔸MultiCharts優惠

      稱呼

      LINE id

      電子郵件

      還有什麼想詢問的?

      Mc 101209091709
      Mc 101209091709

      二、MultiCharts 買賣下單指令:buy、sell、sellshort、buytocover

      MultiCharts的買賣指令共四種:BuySellSellShortBuyToCover,分別為多單的買賣空單的買賣PowerLanguage 的語法基本上都可以一看就明白。

      多單使用的是 Buy 和 Sell ,Buy 是「買入多單」,Sell 是「平倉多單」。以 Buy 來舉例,下面程式碼的意思就是「用市價買入一口多單」,其中 Buy_MA 為這筆交易的名稱,後面會說明。

      buy (“Buy_MA”) next bar at market ;

      空單的買賣指令是 SellShort 和 BuyToCover。 Short 在股票期貨市場是做空的意思,所以 Sellshort 就是「賣出空單」,BuyToCover 直白翻譯是買回來補掉,就是「買回空單」。 用 Sellshort 來舉例,下面程式碼的意思是「 用市價做一口空單」。

      Sellshort (“Buy_MA”) next bar at market;

      買賣指令 說明
      Buy  多單進場,買一口多單
      Sell  多單出場,多單平倉
      SellShort  空單進場,買一口空單
      BuyToCover  空單出場,空單平倉

      三、MultiCharts 命名進出場:(“Buy_MA”)、(“我是名稱”)

      1. 區分觸發條件

      如果在同一個策略中,同時有好幾個進出場邏輯一起運行,在圖表與交易明細上很難去區分這筆交易是由甚麼條件觸發。

      這時就可以將不同邏輯的進出場方式個別命名,命名不是強制選項。若省略沒填,會直接使用 MultiCharts 內預設的名稱 Buy 與 Short。

      2. 幫助策略開發

      一個策略有多個進出場方式,建議把它命名為不同的名稱,在識別上會比較容易。後續調整策略時,也可以很明確的知道是哪一個進出場的績效表現好,哪個績效不好,對於整個策略開發流程有很大的幫助。

      3. 避免相同名稱

      在命名進出場名稱的時候要注意,如果同一個交易策略中,有相同的名稱,在 PLE 編譯的時候會跳出失敗指令 ,所以要避免有相同的進出場名稱。

      buy (“Buy_MA”) next bar at market ;

      Buy_MA 為這筆交易的名稱。在程式碼中需要以(“”)夾住進出場名稱,如(“我是進場名稱”)。

      四、MultiCharts 進出場時間:next bar

      實務上都是只用 next bar,主因是 MultiCharts 的機制為「該根K棒收盤」才運算策略。因此要做交易只能在下一根 K棒才能動作,用 this bar 成交到的價格是過去的價格,實務上不會成交到,回測上會有不準確的風險存在。

      進出場時間 說明
      next bar 下一根K棒,實務上使用
      this bar 這一根K棒,不建議使用

      五、MultiCharts 進出場價格: market、at 價格

      進出場價格可以說是整個策略最重要的部分,主要分為市價和指定價格,市價是直接成交,指定價格要搭配 stop、limit 使用,後面會一起說明。

      進出場價格 說明
      market 市價, 馬上成交不指定價格,以市場上最新的價格做交易
      指定價格 以指定價格委託,可以填數值或是運算值。如10,000、「今天最高價」HighD(0) 或 「一根K棒的最高價」H

      六、MultiCharts 委託方式:stop、limit、 market

      1. market 市價單 – 速度優先

      market 為市價單,也是剛剛委託價格中的市價。 market單跟 stop單、limit單最大的不同是不用指定價格,因為它本身就是用當下的市場價格。能夠以最快的速度成交,但也因為不指定價格,通常會成交在比較差的點位。

      🔶 一般用於需要搶速度的策略,market單能用最有效率的方式成交。

      Buy (“Buy_MA”) next bar at market;

      2. limit 限價單 – 價格優先

      limit 為限價單,下方的程式碼意思為,「在價格 9400 掛一口多單的限價委託單」。當市場價格來到9400以下時,則買進一口多單。

      🔶 一般用於拉回買進或是逢高賣出,可以成交在比市價更好的價格。

      Buy (“Buy_MA”) next bar at 9400 limit;

      limit單的特性是可以指定委託價格,而實際成交價一定會等於或優於限制的價位。所以如果是委託買進的價格,比現在的市場價格還高, limit單會直接成交。但在實務使用上,比較常使用的是 stop停損單和 market 市價單, limit限價單要搭配下單機使用,所以比較不會使用到。

      3. stop 停損單 – 趨勢優先

      stop 為停損單,即主觀交易中俗稱的觸價單。下方程式碼意指,「 當未來價格來到9500以上,買進一口多單 」。

      🔶 一般用於突破型策略,當突破某個價格當下要立刻買進,用 stop單是很好的選擇。

      Buy (“Buy_MA”) next bar at 9500 stop;

      stop 單是掛單在那邊等,等價格到就買進,換句話說如果委託買進的價格比現在市場價還低,就會直接成交。

      買賣指令 說明
      market 市價單,速度優先。 以當下的市場價格立刻成交。
      一般用於需要搶速度的策略,market 單能用最有效率的方式成交。
      limit 限價單,價格優先。當價格優於委託價時成交。
      一般用於拉回買進或是逢高賣出,可以成交在比市價更好的價格。
      stop 停損單、觸價單,趨勢優先。當價格突破委託價時成交。
      一般用於突破型策略,當突破某個價格當下要立刻買進,則 stop 單是很好的選擇。

      本篇取自「MultiCharts 程式交易|從零到一快速上手」試閱內容,
      更多課程內容:https://quantpass.org/mc_onlineclass-2/

      MultiCharts優惠整理!報價源與軟體折扣


      量化通粉絲社群,一起討論程式交易!

      加入LINE社群量化交易討論群」無壓力討論與分享!

      加入臉書社團「程式交易 Taiwan」即時獲取實用的資源!

      東尼 Tony
      東尼 Tony

      十年餘法人級投資經驗,曾任加密貨幣量化基金經理人與投資策略長、AI智能基金經理人、證券期貨商自營部操盤手,管理資金規模最高超過七億元。
      熟悉各類金融商品操作與加密貨幣領域,在量化交易、指標設計、策略模組打造、投資組合配置,有著深厚的經驗。
      為”智慧型基金投資系統”之專利創作人,多次受邀至各大學與企業擔任講師。

      文章: 57

      發佈留言

      發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *