BBGO — 移動停損單 EMA Stop

c9s
7 min readDec 31, 2020

--

利用移動停損停利單鎖住利潤、即時停損。

什麼是停損單 停利單?

在市場裡交易,一旦入場後,為了要防止市場發生劇烈變化,我們可以設定一筆或多筆停損單,隨著價格逐漸往上遠離進貨價格,你可以逐步移動你的停損單的價格,如果有利潤空間,那我們可以說是停利單。不過英文裡我們統一叫他 Stop Order,而 Stop Order 有兩種機制,一種是 Stop Limit ,叫限價停損單,另外一種是 Stop Market,叫市價停損單。

這兩種停損單都是利用固定價格觸發的機制,限價停損單被觸發後會被轉換成一般的限價單,而市價停損單被觸發後會被轉為市價單

這邊可能有些新手不知道限價單和市價單的概念,所以也簡單解說一下:

  1. 限價單是固定價格的買單或賣單,當市場沒有到達該價格,你的訂單就不會成交。
  2. 市價單是不管價格一定要買或賣的訂單,一旦下了市價單,就會立刻往下或往上成交。

那停損停利單的機制是什麼呢? 舉例來說,在停損的情境,當目前價格低於或碰觸到 19100.0,那就下賣單用 19000 賣掉 1 顆 BTC。 這邊的 19100 就是觸發價格,而 19000 則是你下單的價格。

當下單價格比觸發價格低,如果觸發的當下有買單 (只要價差不大,通常會有) ,就會直接成交 (taker order)。 如果下單價格比觸發價格高,通常不會直接成交 (maker order),當交易者下這樣的單,代表他預期會有小反彈來成交他的停損單。

通常來說要果斷停損,就是下停損賣單,而且指定價格比觸發價格低就可以了。如果你怕你的量太大,下市價單會有滑價問題,可以使用停損限價。

不管是哪一種停損單,你都可以下買或賣,下賣就是我們常說的停損停利。 而下買的話,可以當成是做空時的停損停利 (譬如說超過多少的話我應該要買回我的部位)

MAX 交易所的停損限價下單介面

什麼價位應該停損停利?

停損的藝術,個人認為是最難的,在價格波動劇烈的市場裡,如果停損價格太敏感 (離目前價格太近) 很容易就被觸發,在上漲行情裡,你很有可能會因為波動賣在低點,結果之後行情就一路往上再也不回頭。

但如果停損價格太低,在下跌的行情,又會因為太慢停損而造成更多虧損。

所以有些交易者會參考一些技術指標來設定停損價格,譬如參考移動平均線或是布林通道的範圍來設定停損價位。

停損單可以下很多檔,所以一個典型的操作方式是參考 1h EMA(99) 均線設定一檔停損,參考 5m EMA(99) 均線設定一檔停損,5m 是五分均線,所以算是短線操作的停損價。

EMA 7, 25, 99

上圖的 EMA 均線,紅色那條是 EMA(99) ,你可以觀測是否 K 線有觸及到,像在這張圖裡面,1h EMA(99) 看起來就是很適合的移動停損線參考。

當然,你每檔的停損部位可以不同,舉例來說,敏感的停損單可以下少量,而 1h EMA(99) 可以下 25~50% 左右的停損。 (只是舉例,不是操作建議)

當上漲趨勢確定,而且已經遠離你的進貨價格,這個時候你就可以把你原本設定的停損單取消,然後再重新設定新的停利單 (因為有利潤,所以就變成了停利單)

停損應該下多少部位?

這個牽涉到交易的時候的部位操作,還有操作者的風險承受度,每個人的偏好都不同,和出場難度一樣,都是門藝術。

如果是在牛市,我個人建議在牛市不要下 100% 停損,因為很可能只是修正行情,會在你睡覺的時候反彈,早上起床發現大漲,那真的是少賺要人命。

停損單要一直移動價格好麻煩?

沒錯,筆者最近為了這個需求開發了自動移動停損單的機制,在 BBGO 交易框架裡新增了一個新的微策略叫做 Trailing Stop (移動停損單)

如果還沒跑在自己電腦上跑過 BBGO 程式的朋友,建議先走過一次流程,再來這篇實地操作一次,會比較熟稔喔

👉 BBGO — 在家也可以跑的網格策略程式

移動停損單 (Trailing Stop) 是一個很好的停利停損工具,可以讓你不用一直關注行情,就可以隨著上漲行情調整停損停利單。

移動停損單其實也有各種算法,BBGO 提供的是依據 EMA 來做 TrailingStop ,這個 EMA STOP 基本上就是參考 EMA 均線,你可以選擇自己偏好的均線,來自動掛停損單。

一個最簡單的移動停損策略的 BBGO 設定看起來會像這樣:

---
exchangeStrategies:
- on: max
emastop:
symbol: BTCUSDT
interval: 1h
movingAverageType: EWMA
movingAverageInterval: 1h
movingAverageWindow: 99
orderType: market
quantity: 0.02

這邊分不同欄位解釋一下參數:

  1. symbol 是你要下停損停利單的市場
  2. interval 是多久要下一次停損停利單 (如果時間內被觸發的話會重新下)
  3. movingAverageType 指你要聽哪一種平均線,這邊是用 EWMA
  4. movingAverageInterval 指你的平均線要看多久的,這邊可以設定 一分 1m 五分 5m 十五分 15m 半小時 30m 一小時 1h 四小時 4h 等等。
  5. movingAverageWindow 指你的平均線 Window 要多大,一般來說我喜歡抓 99 才不會太過敏感。
  6. orderType 則是你的停損單被觸發後要下市價單還是限價單。 這邊的範例是市價單。
  7. quantity 則是你的停損單要下多少量。 如果不想要固定量的話,可以改用 balancePercentage: 0.25 來指定你要下餘額的多少量,`0.25` 意思是 25%。

那要整合 BBGO 其他策略譬如說網格等等,應該怎麼寫設定檔呢?這邊提供一個範例給大家參考:

---
exchangeStrategies:
- on: max
buyandhold:
symbol: "BTCUSDT"
interval: "1m"
baseQuantity: 0.001
minDropPercentage: 0.01
- on: max
emastop:
symbol: ETHUSDT
interval: 5m
movingAverageType: EWMA
movingAverageInterval: 1h
movingAverageWindow: 99
balancePercentage: 0.25

上面的範例是 Buy and Hold 策略加上移動停損單策略,只要像清單一樣往下排列,就可以變成 BBGO 組合技了。

筆者最近在推廣符合法規的台灣加密貨幣交易所 MAX,用最近在加密貨幣市場的獲利分享給讀者。我都用真實姓名,可以查證,不是詐騙。

如果你喜歡我的文章或是想要支持 BBGO 自動交易機器人,可以使用我的推薦碼 c7982718 或使用此連結 註冊 MAX 交易所帳號,並獲得 8 折的手續費折扣。

註冊後,只要完成 Google 表單中的小任務就可拿到總共 9 美元 (USDT),只限內轉

👉 https://bit.ly/max-9usdt

*為防止詐騙,請認明我的 Telegram @c123456789s ,我不會主動私訊你,絕不會中途增加其他條件或是請你轉錢!請你轉錢出去的都是詐騙集團*

關於 MaiCoin

MaiCoin集團為台灣歷史最久的數位資產交易集團,成立於2014年,提供加密貨幣的交易服務,業務包含MaiCoin平台、AMIS 帳聯網公司、MAX 交易所、香港 MaiCapital。

MAX 交易所,於2018年成立,提供幣幣及新台幣對加密貨幣之交易; 推出七個月,交易量即突破新台幣 54 億、2018 年 10 月底全球交易所排行第15名(資料來源:Coingecko 統計網站)。MAX 亦獨步全球,為首家將用戶資金交由銀行信託保的交易所。

--

--