Skip to content

Instantly share code, notes, and snippets.

@c9s
Last active March 6, 2023 13:37
Show Gist options
  • Star 18 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save c9s/a3e60415fe31db0a0f31749a37f843b7 to your computer and use it in GitHub Desktop.
Save c9s/a3e60415fe31db0a0f31749a37f843b7 to your computer and use it in GitHub Desktop.
BBGO 之 MAX 交易所網格設定指南
# API Key 可以在以下頁面建立:
# https://max.maicoin.com/api_tokens/new
#
MAX_API_KEY=
MAX_API_SECRET=

BBGO 之 MAX 交易所網格設定指南

流動性風險控管

有經歷過 2016-2018 年交易所倒閉潮的幣圈使用者應該都知道交易所出錯或被駭的風險 所以有經驗的幣圈使用者基本上都會分散資產在不同交易所。

質押雖然利率高,但是基本上是犧牲掉了流動性,把風險轉移到流動性上,因此也很依賴不同交易所資金控管的能力。

把部分 TWD 和 USDT 留在 MAX 交易所做不僅可以做備用資金,同時也可以利用 USDT/TWD 市場的波動性來賺取價差。 (只要 BTC 價格波動,通常 USDTTWD 也會跟隨一起波動) 套利出來的 USDT 部位,可以變成 BTCUSDT 網格,做長期部位。

交易手續費很關鍵

網格的獲利很容易因為獲利價差太小而被手續費吃掉,在 MAX 上的好處是掛單手續費目前在幣安、幣託以及其他台灣交易所中是最便宜。

幣安 VIP 0 掛單是手續費 0.1% 如果有 BNB 折抵,折扣 25%,基本上要扣到 0.075%

MAX 交易所目前 VIP 0 掛單手續費 0.050% 如果你有 MAX token 平台幣折抵,再折 50%,基本上是 0.025%,比幣安便宜

BitoPro VIP 0 掛單也是 0.1%,但是如果有 BITO 折抵,最後是 0.070% 比 MAX 貴。

鎖倉變成免手續費

要把手續費賺回來的方式,就是鎖倉 MAX token,利用 MAX token 每日的鎖倉利息來當成交易手續費。

鎖倉總金額越高,再加上時間加權,回饋就越多,其實就幾乎等於免手續費,還順便賺利息。

網格策略使用的訣竅

如果要掛網格天地單 (一種上下價格區間非常大的網格設定方式) ,可以把上方價格 (upperPrice) 與下方價格 (lowerPrice) 拉到非常寬的價格區間,但也因為網格格數越高就會需要越多資金掛單,也因此同時會有機會成本,你可以自己斟酌要投多少金額進去。

(因為原本的 USDT 是可以主動拿去直接建立部位,但網格則屬被動式交易,建立部位需要等價格下跌)

基本上如果你很明確看多,建議不要掛網格天地單,把上方價格 upperPrice 與下方價格 lowerPrice 設定於比目前價位低,然後依照每個人能承受的風險,決定格數。

再來,你看多的程度有多大的信心,決定套利價差 (profitSpread) 要下多少,如果你非常有信心,可以把套利價差 (profitSpread) 抓一個很大的值,這樣套利出來的部位可以足夠大到留在市場上持續獲利。

如果沒信心,就設一個保險能夠成交到的價差

你可以預先用 profitSpread 與 quantity 來算每格獲利,假設 profitSpread 為 0.01,quantity 為 1000,每格獲利 1000 * 0.01 為 10 USDT。 (這邊的算法還沒有算手續費進去。)

如果你暫時看空,可以 upperPrice 與 lowerPrice 設定於比目前價位高,然後依照每個人能承受的風險,決定格數,然後利用套利價差低價回補。

如果你長期看多,可以設定 long: true,這樣套利之後,會把獲利留在基準貨幣 (USDT/TWD 的 USDT,或 BTC/USDT 的 BTC 或 MAX/USDT 的 MAX) ,讓他隨著上漲趨勢持續創造獲利。

安裝方式

先裝好 Go SDK 👉 https://golang.org/doc/install

裝 BBGO:

go install github.com/c9s/bbgo/cmd/bbgo@main

執行方式

準備好兩個檔案: bbgo.yaml.env.local (設定好你的 API Key 與 API Secret),樣板在此 gist 附件內。

bbgo run

這樣就會開始下單了

FAQ

我還沒有 MAX 帳號,請問到哪裡註冊?

可使用我的推薦碼 c7982718 註冊帳戶,被推薦者可以有 8 折手續費折扣 https://max.maicoin.com/signup?r=c7982718

MAX Level 2 用戶設定推薦碼,我會送 9 USDT 給你,截圖至 Telegram https://t.me/c123456789s 即可,防止詐騙請認明帳號,我不會主動私訊你。

MAX 的 API Key, Secret 要在哪裡建立呢?

請到 https://max.maicoin.com/api_tokens/new

BBGO 裝不起來,請問可以在哪裡發問呢?

有任何問題,也歡迎來 Telegram 群組發問: https://t.me/bbgocrypto

免責聲明

為維護您個人權益,使用本系統前請先閱讀以下聲明,使用者將視為同意本系統各項聲明

提供之投資建議及參考資料內容,不得作為任何交易之依據,使用者依建議或資料內容進行任何投資行為所產生之風險及盈虧,未經自行了解判斷,而導致交易損失風險,應自行負擔,BBGO 不對使用者之投資決策負任何責任。

市場上可能會發生什麼事都是無法預料,風險還是要自己控制好。

# 建立 MAX 交易所的連線
sessions:
max:
exchange: max
envVarPrefix: max
# 風險控管
riskControls:
# 基於連線的風險控管
sessionBased:
# 設定 MAX 交易所連線的下單風控
max:
orderExecutor:
# 依照市場不同設定不同的風控
bySymbol:
BTCUSDT:
# basic risk control order executor
basic:
# 花到剩下 100.0 USDT 就不再繼續下單
minQuoteBalance: 100.0
# 最多買到 3.0 顆 BTC 不可多買
maxBaseAssetBalance: 3.0
# 最少要保留 0.1 顆 BTC 不可多賣
minBaseAssetBalance: 0.1
# 下單金額最高不超過 1000.0 USDT
maxOrderAmount: 1000.0
exchangeStrategies:
- on: max
grid:
# 你要交易的市場,這邊是 MAXUSDT
symbol: MAXUSDT
# 如果要掛天地單,可以把 upperPrice 與 lowerPrice 拉到非常寬的價格區間,但也因為網格格數越高就會需要越多資金掛單,同時會有機會成本。
# (原本的 USDT 可能可以拿去直接建立部位,網格是屬於被動式交易,建立部位需要等價格下跌)
#
# 基本上如果你很明確看多,建議不要掛天地單,把 upperPrice 與 lowerPrice 設定於比目前價位低,然後依照每個人能承受的風險,決定格數。
# 如果你暫時看空,可以 upperPrice 與 lowerPrice 設定於比目前價位高,然後依照每個人能承受的風險,決定格數,然後利用套利價差低價回補。
# 網格區間的最高價
upperPrice: 0.160
# 網格區間的最低價
lowerPrice: 0.110
# 成交後掛的套利價差,買價 0.11 成交後,賣價會掛 0.12。 賣價 0.12 成交後,會掛買價 0.11。
# 你看多的程度有多大的信心,決定 profitSpread 要下多少,如果你非常有信心,可以把 profitSpread 抓一個很大的值
# 如果沒信心,就設一個保險能夠成交到的價差。
#
# 你可以預先用 profitSpread 與 quantity 來算每格獲利,假設 profitSpread 為 0.01,quantity 為 1000,每格獲利 1000 * 0.01 為 10 USDT。
# (這邊的算法還沒有算手續費進去。)
profitSpread: 0.01
# 總格數 50 格,你可以先手動用上下區間算一下每格價錢會落在什麼位置,還有你現在餘額夠不夠下單
# 格數越高,就需要越多資金部位
gridNumber: 50
# 一開始掛單使用每格固定顆量 200 顆
# 有些市場會有最小下單金額,基本上都是最少要 10 美元金額才可以下單。
quantity: 200.0
# 看多, 每隔成交之後,用成交金額掛套利單。 賣單成交後,掛低價買單。 買單成交後,掛高價賣單。
# 如果你長期看多,可以設定 long: true,這樣套利之後,會把獲利留在基準資產 (BTC or MAX) ,讓他隨著上漲趨勢持續創造獲利。
long: true
- on: max
grid:
symbol: BTCUSDT
quantity: 0.001
gridNumber: 100
profitSpread: 1000.0
upperPrice: 50000
lowerPrice: 56000
long: true
- on: max
grid:
symbol: USDTTWD
quantity: 100.0
gridNumber: 50
profitSpread: 0.1
upperPrice: 28.80
lowerPrice: 27.70
side: buy
catchUp: true
long: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment