FTX 網格交易機器人 (GAS版)

前置作業:

  1. 註冊FTX:點我註冊FTX
  2. 註冊google帳號,因GAS (google apps script)為google服務。
  3. 若有不了解的部份,可以加入社群討論 。

點我加入 Telegram 頻道:重要訊息會透過此頻道發出。
點我加入 Telegram 聊天社群:討論FTX、Bitfinex 放貸、網格機器人與Defi 等各種幣圈話題。

使用此機器人之前請先了解網格交易原理;機器人完成後請先小量試單,盈虧自負

機器人說明:

  1. 網格開單為等比例
    假設現在價位1元,每格利潤為1%,那就會掛出賣單價 (1*1.01),買單價 (1/1.01)。
  2. 機器人每1分鐘執行一次
    GAS 觸發時間最短為1分鐘,故此機器人的反應時間為1分鐘。
  3. 波動大請增加網格數
    大部份人都使用預設值就好,不用刻意增加網格數。若網格很小 (獲利%數小),且幣種本身波動較大時,再修改網格數即可。文末有評估網格數量的方法。
  4. GAS每日額度有限,網格數請別設太高
    以GAS的每日額度來說,"URL Fetch calls" 為每日免費2萬次,未成交的觸發只會用掉1次額度;成交後的觸發,則會取消所有訂單並重新開單,每一筆訂單,都會用掉1次,您的網格成交機率愈高、網格數愈多,愈有可能用完額度,用完後機器人無法正常運作,直到免費額度重置。GAS 額度資訊
  5. 每次重設參數後,都要手動執行一次UserSettings (user_settings.gs 內)。
  6. 餘額充足的狀況下,機器人沒有上下限
    機器人開啟前,需自行準備足夠數量的幣與USD (兩者都要有),機器人才會正常運作。若幣、USD 的數量足夠,機器人沒有上下限,會一直持續運作下去。
    若USD或幣有不足的狀況,機器人會出現錯誤訊息,請手動補上USD或幣之後,執行一次UserSettings。
  7. 一個子帳戶內,只能執行一隻網格機器人。
  8. FTX 質押25個FTT 可免掛單手續費,對網格機器人來說非常好用。
  9. 此機器人預設使用USD交易對,若有需要可將 使用者參數內的 quoteCurrency 由 “USD",改為 “USDT"。
  10. 支援 現貨槓桿請自行控管槓桿倍數
  11. 支援 放貸,請保留一定額度供網格機器人買賣。
  12. 餘額不足時,會暫時單邊掛單,直到餘額足夠,恢復正常。

使用流程:

  1. 登錄FTX,建立一個子帳戶 (限英數字、符號),此子帳戶只用於機器人交易。
  2. 切到子帳戶後,點右上角你的名字,執行 “設置" -> “API" -> “為子帳戶創建API Key",並記下API Keys 與 API Secret Key。
  3. 關閉子帳戶的 現貨槓桿,等後續機器人確認正常後,有需要再開啟。
  4. 若你選擇的幣種,從未在這個子帳戶交易過,請先手動進行小額交易一次。
  5. 登入google帳號。因機器人使用的GAS是google服務,要先登入才能使用。
  6. 點擊 網格機器人程式碼 (GAS),進入後會看到左上角的資訊,如下圖

  1. 點左邊的總覽(驚嘆號圖案)
  2. 右上角 “建立複本" (星號旁)
  3. 建立複本後,修改 user_settings.gs 內的 “使用者參數設定",並將剛剛step 2的API Keys 與 API Secret Key 填入apikey 與 apisecret。
    需要多少幣與USD、網格上下限可由試算表計算出來,網格需求試算表

  1. 執行 UserSettings() 一次 (每次修改參數後,都要手動執行一次)

  1. 第一次執行會出現審查權限,這邊會警告不安全,若有安全考量,可先看過程式碼,再判斷是否使用。
  2. 權限開放後,點左邊的 “觸發條件" (鬧鐘圖案)
  3. 點右下角的 “新增觸發條件",執行功能請選 “TriggerMe" ( grids.gs 內),時間間隔請設每分鐘。
  1. 觸發設定後,可點選左4的 “執行項目",此時可看到手動執行、觸發執行的所有資訊,若有錯誤,會依照剛剛step 11的錯誤通知設定進行通知。
  2. 若想要固定時間傳送獲利資訊至 line ,設定方式同 step 13,但將執行功能改為 line_profit_log,觸發時間視自己的需求設定,觸發一次就會傳送一次訊息至line。
    另外還要到 https://notify-bot.line.me/my/ 申請 line token ,填入usersetting.gs中的 lineToken 變數。
  3. 取消 Post Only
    確認 開關單價位交易量 等細節都正確後,一定要將使用者參數內的post_only 設為 0。
    波動過大時,Post Only 將導致機器人無法正常運作。
  4. 支援放貸,增加資金利用率
    若網格區間較大,可將暫時用不到的幣/USD 放貸,用手動方式或使用 FTX 放貸機器人,記得放貸時請保留一些額度讓網格機器人交易。
  5. 支援現貨槓桿
    有需要也可開啟 現貨槓桿,讓機器人在餘額不足時,以借幣/借USD的方式進行交易。
    切記!請記得自行控管槓桿倍數,避免被清算。
  6. 想要取得目前獲利資訊,請手動執行 profit_log (grids.gs 內)
    想要重置目前獲利記錄,請手動執行 UserClearProfit (user_settings.gs 內)

出問題時,請先確認以下細節是否都有做到:

  1. 若你選擇的幣種,從未在這個子帳戶交易過,請先手動進行小額交易一次。
  2. 關閉現貨槓桿 (雖然有支援現貨槓桿,但出問題時請先關掉,讓問題簡單化)
  3. 一個子帳戶內,只能執行一支網格機器人
  4. 使用者參數 內的 grid_volume 要大於等於交易所的最小交易量。
  5. 使用者參數 內的 post_only 設為 0
  6. step 13的 TriggerMe 觸發設定是否正確。

如何評估網格數量?
若評估該幣種1分鐘的波動最大會是 3%,網格數就要能消化3%波動。
如果1格是1%,那就要設3組網格(買賣各3格);若是1格0.5%,則要設6組。
切記網格數不要設太大,1個網格機器人,每天至少會用掉 60*24=1440 次,每次成交會再重新開單,每筆訂單會再用掉1次,6組就會是12次,可以自行推算預估使用量。