[交易] 使用FTX量化空間定投BTC

數位貨幣

22220

在BTC一直跌的時候,最好的買進策略應該就是定投了
在派網有極速定投機器人可以用,不過功能有限
如果想在定投策略上再加點變化的話
也可以使用FTX上的量化空間來做

但量化空間很多人不會用,網路上教學也很少
所以寫了一篇教學大家參考看看

點此看圖文筆記版:
https://hackmd.io/@knuckles/SyY8clYmt


### 在FTX開一個子帳戶
先開一個子帳戶專門來做BTC定投,比較好計算成本與收益
https://i.imgur.com/8ryqIRq.png


名稱隨意輸入個「BTC」
https://i.imgur.com/l7newMy.png


切換至這個子帳戶後,點上方的選單,選「量化空間」
https://i.imgur.com/ppN4Vtb.png

每個子帳戶的量化空間都是分開的

點「建立新策略」
https://i.imgur.com/XWmJz7V.png


### 設定下單條件

https://i.imgur.com/peKAcXX.png

名稱隨意寫個 buy BTC
條件不限的話就輸入 true
想要在45000以下才買的話可以輸入 price("BTC/USD")<=45000

要限制只買到0.1顆BTC的話,可以加上 and balance("BTC")<=0.1
balance("BTC") 代表這個子帳號有多少BTC現貨的意思

若想要買到 USD 剩下 100 就停止的話,加上 and balance("USD")>100

例如想要價格跌到45000以下才買,買到最多0.1顆BTC,且買到USD剩下100為止,輸入:
price("BTC/USD")<=45000 and balance("BTC")<=0.1 and balance("USD")>100
https://i.imgur.com/TExQQJD.png


### 設定訂單數量與價格

https://i.imgur.com/KcYK2L1.png

執行邏輯,使用「下自定義訂單」
選「限價委託」「買入」「BTC/USD」
如果有質押25FTT,使用限價委託可以免手續費

訂單數量,輸入每次想買幾顆BTC
要買0.0001顆的話輸入「0.0001」,如果幣價是$45000的話,買0.0001顆就是$4.5
若要用10usd來買,輸入「10/price("BTC/USD")」
注意BTC最小下單金額是0.0001,設定小於0.0001的話會下單失敗

限價,要掛買單第一筆的話,輸入「bid_price("btc/USD")」
勾「Post Only」可限定只要用掛單買入,如果掛單時設定的價位忽然變賣單價了,
就會取消這筆交易,避免使用市價買入而被抽手續費

勾「取消並下新訂單」,自動改掛單到買單第一筆,每次執行這個策略時,
若之前掛的買單因為上漲沒買到,就取消該訂單,重新掛到新的買單第一筆

使用限價委託,要在掛單後BTC價格再下來一點才會買到,
如果掛單後BTC價格就漲上去了那就會沒買到,
如果要確保可以買到的話,可以改用市價委託,但會有手續費且可能會滑價

### 設定多久執行一次

https://i.imgur.com/rjHX3HI.png

點增加執行邏輯,Type選「暫停策略」
設定想要每隔多久再執行一次,例如每15分鐘執行一次

如果沒有設定暫停策略的話,會每15秒執行一次

輸入好後點「保存並運行」就會開始執行了

## 計算平均購買價格

想要計算平均購買價格的話,因為量化空間只會幫你掛單,不會知道什麼時候成交,
所以只能依照花了多少USD,以及共買了多少BTC來計算
平均購買價格 = (一開始投入的USD - 剩下的USD) / 買了多少BTC

### 建立變數

新增一個策略,專門用來新增變數

先新增變數 average_price,用來記錄平均購買價格

https://i.imgur.com/G2rCEq6.png

策略名稱輸入「set variable」
條件輸入「true」
Type選「設定變量」
變量名稱輸入「average_price」
變量值輸入「0」

點「增加執行邏輯」
https://i.imgur.com/RgQjWaF.png

Type選「暫停策略」
時間選5000天,因為沒有永遠暫停的選項所以隨便設一個很久的時間就好

點「保存並運行」,過一會就會在變量那邊看到 average_price 了
https://i.imgur.com/qozE3mD.png


再建立一個變數 investment,用來記錄總投資額
直接修改 set_variable 策略,將變量名稱改為 investment,
變量值改為這個子帳戶放的USD數量,點「保存並運行」,
過一會就會看到有兩個變數了
https://i.imgur.com/Qr1P8YW.png


### 計算平均購買價格

新增一個策略 count_average_price
https://i.imgur.com/GsQu9To.png

條件輸入 balance("BTC")>0
有買了BTC後才開始計算,也避免計算時產生除以0的錯誤

執行邏輯使用「設定變量」,變量名稱「average_price」
變量值「(get_variable("investment") - balance("USD")) / balance("BTC")」
其中使用 get_variable("investment") 取得之前設定的投資額變數的值
(get_variable("investment") - balance("USD")) 代表已花了多少 USD

增加執行邏輯
https://i.imgur.com/rjHX3HI.png

使用暫停策略,每15分鐘再計算一次就好了,避免日誌上產生一堆執行記錄

點「保存並運行」

在變量這邊,就會看到計算好的平均購買成本了
https://i.imgur.com/VESC3Xk.png


如果之後有轉更多USD進來這個子帳戶,只要點 investment 變數右邊的編輯符號,
將值改成新的投資額即可
https://i.imgur.com/6uHCv4a.png


### 將均價設為購買條件

有計算好的平均購買價後,就可以用 get_variable 取得均價
把下單條件改為現價低於均價才下單
price("BTC/USD") < get_variable("average_price")
https://i.imgur.com/g6X73rp.png


## 設定跌愈多買愈多

有算出均價後,若想要跌得離均價愈多時,下單的數量就設定多一點,
讓均價可以比較快降下來,例如現價為均價跌1%時,下單數量就乘2,
跌2%就乘3,以此類推,可將訂單數量設為:

0.0001*(1+( (get_variable("average_price")-price("BTC/USD")) /
get_variable("average_price") )*100)
https://i.imgur.com/ZKRHqRt.png


意思就是,最小訂單價 * (1+ ((均價 - 現價) / 均價) *100 )
其中 ((均價 - 現價) / 均價) *100 為下跌的百分比,
要再+1避免只跌0.9%時,最小訂單數量*0.9 會無法下單

如果覺得這樣會一次買太多錢不夠的話,可以把後面的100改小一點

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.239.204 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1632569018.A.3D6.html
TellthEtRee1樓謝謝分享 09/25 20:04
john3719112樓分享推。 09/25 20:20
kenuser3樓推教學 09/25 20:27
cjormp9044樓已收藏 09/25 20:28
fokchiwai1995樓 09/25 21:09
eric02216樓教學推 09/25 21:17
stanleychao7樓感謝 09/25 21:19
vm3cl4bp68樓 09/25 22:37
xswrew9樓感謝分享 09/25 22:47
chaogold10樓謝謝分享 09/25 23:16
hsuehroger11樓感謝分享 09/26 00:09
akaqgirl12樓謝分享 09/26 00:12
ddd35735713樓詳細推 09/26 01:20
dinosonicgo14樓很詳細很棒,謝謝教學 09/26 06:53
Uber15樓 09/26 08:25
flora1188316樓推推 09/26 10:18
motheregg17樓推推 09/26 12:02
boogieman18樓 09/26 19:47
tomroy19樓 09/27 11:15
tim65938920樓推分享 09/27 14:18
xu3ck21樓 09/28 02:39
brucelinda22樓推推 09/28 17:42