串接自動交易機器人
Last updated
Last updated
由於機器人大部分都是使用市價單,因此在市場較為劇烈時的極端情況下,所實際成交的進出場價格可能會比訊號給出的進出場價格還來的差。
機器人不能放著完全不管,需要隔一段時間重新調整參數確保盈利因子都有保持在一定水準,不然隨著市場行情的變化可能原本獲利很好的機器人也會開始走下坡。
這裡會介紹兩個主流交易虛擬幣使用的機器人(TTA 和 3Commas),若要使用其他機器人也可以,只要將控制機器人的指令代碼貼到訊號王參數設定中的相應位置即可。
代碼全部貼上後需要建立一個推播通知,快訊名稱可以使用方便自己辨識的名稱,訊息直接複製以下代碼貼上:
這個代碼會自動帶入前面設定好的代碼,比如說現在有做多訊號,那就會自動帶入前面設定的做多代碼,如果有停利1,那就會自動帶入停利1的代碼。
通知部分只需開啟 Webhook URL 並輸入機器人的 Webhook。
TTA 是一個非常便宜且簡單可以馬上自動化交易的第三方平台,首先需要到他們官網串接自己的交易所API,以下使用 ByBit 交易所交易 BTCUSDT 做為設定範例:
*注意:每個交易所的代碼都不同,詳細各交易所的代碼設定請參考 TTA官網。
做多代碼:Long BTCUSDT Q=10%
放空代碼:Short BTCUSDT Q=10%
由 Long/Short 來代表做多或放空。BTCUSDT 是欲交易的交易對。Q代表倉位大小,10%代表是帳號內總資產的10%(有些交易所內可以設定子帳號 sub-account),也可以使用定值,比如 Q=0.01 代表進場 0.01顆BTC。
停利1代碼:Close BTCUSDT Q=50%
停利2代碼:Close BTCUSDT Q=100% 或 Close BTCUSDT
這裡的 Q 代表已開啟倉位的%數,所以停利1打到要先關一半就是50%,而停利2要全關所以就是100%,也可以直接不特別寫%數。
如果在打到停利1之前就先碰到停損,那麼這兩段代碼會同時被觸發,也就會關掉所有倉位進而達到停損效果。
做多全關代碼:Close BTCUSDT T=Long
放空全關代碼:Close BTCUSDT T=Short
做多/放空全關適用於開啟動態停利時,由於沒有固定的停利(訊號王 - 短線特定模式下固定停利/停損都不會有)因此需要使用這段代碼在訊號一出現時關閉倉位。T 代表欲關閉的倉位。
儘管沒有開啟動態停利,也建議將全關的代碼貼上,尤其是使用 訊號王 - 短線,因為短線中有些模式的停利/停損方式是有動態條件的(比如一般模式中的停損),若沒有特別貼上代碼,有可能造成機器人沒有停損。
代碼全貼上後,將 TTA 帳號中的 Webhook 複製貼上到通知內即可。
3Commas 是較為進階的機器人,設定上較為複雜但能有更多額外設定。首先需要到他們官網串接自己的虛擬幣交易所API,以下使用 ByBit 交易所交易 BTCUSDT 做為設定範例。
3Commas 使用的 Webhook URL 是固定的,因此只要是使用 3Commas 串接機器人都是使用以下 Webhook:
由於機器人本身的限制,做多/放空/停利1/停利2都需要分別創建機器人,因此一個交易對總共會需要4個機器人,分別是:做多停利1、做多停利2、放空停利1、放空停利2,以下使用做多停利1做範例:
首先需要創建一個 DCA Bot,名稱為了方便辨識可以類似:BTC 15 Long TP1
選擇正確的交易所以及交易對。
Strategy: 做多選 Long,放空選 Short
Base order size: 裡面可以選用幣本位顆數計算,或是用倉位美金價值計算,或是帳號倉位%數,要注意一個機器人只代表停利1或停利2其中一個,因此若您一筆交易想進場4000USDT,那停利1機器人中進場就要設定4000USDT的一半 = 2000USDT。
要注意 Base order size 指的是倉位價值,因此 Base order size 1000USDT 槓桿開10X,實際上只用了100USDT。
Start order type: 建議使用 Limit 可以省手續費且進場價不會因為市場波動而變化,除非開始有倉位有無法完整進場的情況發生,那再使用 Market 即可。
Leverage type: 可以自行決定要使用 isolated margin 或 cross margin
Leverage custom value: 可以調整槓桿大小。
Deal start condition: 要選擇 Trading View custom signal
由於Take profit 跟 Stop loss 都會用訊號本身的停利/停損因此在 3Commas 上不用特別設定,只需要把 Take profit 調高避免機器人太快就停利。
Safety orders: 把 Max safety orders count 調到0
其餘沒提到的設定都不需要理他,設定好後直接點右上角 "Start" 即可完成創建。
重複以上步驟直到 BTC 15 Long TP1, BTC 15 Long TP2, BTC 15 Short TP1, BTC 15 Short TP2 都成功創建。可以善用 3Commas 的 Copy 功能。
全部創建好後點進各別的機器人中。
往下滑會看到很多代碼,我們只需要前兩個 Message for deal start signal 跟 Message to close order at Market Price 即可。兩段代碼都不需要更改可以直接完整複製貼上。
做多代碼:[{ "message_type": "bot", "bot_id": 10857490, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}, { "message_type": "bot", "bot_id": 10857572, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}]
放空代碼:[{ "message_type": "bot", "bot_id": 10857633, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}, { "message_type": "bot", "bot_id": 10857642, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}]
做多要使用 BTC 15 Long TP1 和 BTC 15 Long TP2 的 Message for deal start signal,同理放空要使用 BTC 15 Short TP1 和 BTC 15 Short TP2 的 Message for deal start signal。
可以用以下形式將兩段代碼合在一起:[代碼1, 代碼2]
停利1代碼:[{ "action": "close_at_market_price", "message_type": "bot", "bot_id": 10857490, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}, { "action": "close_at_market_price", "message_type": "bot", "bot_id": 10857633, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}]
停利2代碼:[{ "action": "close_at_market_price", "message_type": "bot", "bot_id": 10857572, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx"", "delay_seconds": 0}, { "action": "close_at_market_price", "message_type": "bot", "bot_id": 10857642, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx"", "delay_seconds": 0}]
停利1使用 BTC 15 Long TP1 和 BTC 15 Short TP1 的 Message to close order at Market Price,而停利2使用 BTC 15 Long TP2 和 BTC 15 Short TP2 的 Message to close order at Market Price。
做多全關代碼:[{ "action": "close_at_market_price", "message_type": "bot", "bot_id": 10857490, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}, { "action": "close_at_market_price", "message_type": "bot", "bot_id": 10857572, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}]
放空全關代碼:[{ "action": "close_at_market_price", "message_type": "bot", "bot_id": 10857633, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}, { "action": "close_at_market_price", "message_type": "bot", "bot_id": 10857642, "email_token": "faf47631-xxxx-xxxx-xxxx-xxxxxxxxxx", "delay_seconds": 0}]
做多全關使用 BTC 15 Long TP1 和 BTC 15 Long TP2 的 Message to close order at Market Price,放空全關使用 BTC 15 Short TP1 和 BTC 15 Short TP2 的 Message to close order at Market Price。
做多/放空全關多用於開啟動態停利時,儘管沒有開啟動態停利,也建議將全關的代碼貼上,尤其是使用 訊號王 - 短線,因為短線中有些模式的停利/停損方式是有動態條件的(比如一般模式中的停損),若沒有特別貼上代碼,有可能造成機器人沒有停損。
代碼全部貼上後 Webhook 也設定於通知內後就完成串接了。