Fundtrader使用過程中遇到的問題有如下:
問題1: api報(bào)錯(cuò)
C:\Users\Administrator\anaconda3\envs\first\python.exe "C:/Users/Administrator/Desktop/fundtrader 2.2.0/fundtrader/main.py"
request : GET /api/v3/account?timestamp=1617330189743&signature=656bb2d44a3f217ab7331e6d52a270956e1f070d08aea555e29f68174d8bedf4 failed because 400:
headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'X-MBX-APIKEY': 'cndT4vuA6HKzEr8OMGzAabHuMzdoIsfeFIVdfkJ1Jwy2UvQ3157ZB98OqRhAofgF'}
params: {}
data: {}
response:{"code":-1022,"msg":"Signature for this request is not valid."}
request : GET /api/v3/openOrders?timestamp=1617330189758&signature=c60f4b68f49524eaf1da71eb33e81d7917d98bd25534b0924522f7ddc9ccb952 failed because 400:
headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'X-MBX-APIKEY': 'cndT4vuA6HKzEr8OMGzAabHuMzdoIsfeFIVdfkJ1Jwy2UvQ3157ZB98OqRhAofgF'}
params: {}
data: {}
response:{"code":-1022,"msg":"Signature for this request is not valid."}
request : GET /api/v3/account?timestamp=1617330198899&signature=15b9ad7651fa59162b12394f34bb8c07beeb9170da693669b5ee927c5a501897 failed because 400:
headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'X-MBX-APIKEY': 'cndT4vuA6HKzEr8OMGzAabHuMzdoIsfeFIVdfkJ1Jwy2UvQ3157ZB98OqRhAofgF'}
params: {}
data: {}
response:{"code":-1022,"msg":"Signature for this request is not valid."}
解決方法
檢查自己的apikey和secret是否有這樣的問題
檢查自己是否復(fù)制錯(cuò)誤、 是否含有空格、是否復(fù)制了多次, 可以打開項(xiàng)目下的howtrader文件下的connect_binance.json 和 connect_binances.json, 查看兩個(gè)文件中的apikey和secret是否跟交易所的一致。
-
自己生成apikey的時(shí)候是否有勾選上合約和現(xiàn)貨
api要求.jpg
問題2: 下單失敗
- 倉位模式不匹配,需要在app或者網(wǎng)頁那邊設(shè)置倉位模式為單向
- 檢查你的賬戶資金是否夠。如果報(bào)錯(cuò)insuficient margin就是保證金不足
問題3. 沒有開倉
檢查你設(shè)置的open_spread_pct和open_rate_pct是否過高,他們要跟當(dāng)前的價(jià)差和資金費(fèi)率相比,只有當(dāng)前的價(jià)差和資金費(fèi)率都比你設(shè)置的open_spread_pct和open_rate_pct高他們才會開倉,否則不滿足開倉條件。
檢查你設(shè)置的trade_max_usd_every_time這個(gè)參數(shù),他們的值是過小。這個(gè)是的意思是每次你下單的單子的最大值,如果你設(shè)置的這個(gè)值為20,那么你每次單子的數(shù)量就是20/你交易的品種價(jià)格,假設(shè)你交易的是UNI這個(gè)交易對,他的當(dāng)前價(jià)值是30USDT, 那么你下單的數(shù)量為20/30 = 0.66個(gè),但是交易所要求合約的交易的數(shù)量為至少1個(gè)UNI, 那么你設(shè)置的這個(gè)20就不能下單。一般這個(gè)最小值要太小的話,要根據(jù)交易對來看,但是交易設(shè)置這個(gè)值至少為50以上。
問題4: 如何防止爆倉
我建議一般現(xiàn)貨放75-80%的資金,合約放20-25%的資金。這樣你的資金利用率為80%左右,這樣最大限度保障你的收益。為了讓合約現(xiàn)貨的資金完全對沖,合約的資金乘以杠桿倍數(shù)要大于現(xiàn)貨的資金。如果你的合約是20%資金,那么要設(shè)置為5倍杠桿。我建議設(shè)置全倉,然后五倍杠桿。為了降低爆倉的風(fēng)險(xiǎn),我建議平均分配下資金跑2-3個(gè)幣種,這樣他們只要不是同時(shí)上漲,那么爆倉的風(fēng)險(xiǎn)就很小。每天定時(shí)看一下,通過app查看下他們是否暴漲,然后如果漲得多了,可以適當(dāng)調(diào)倉下,把爆倉的價(jià)格提高。如果你同時(shí)跑三個(gè)交易對,可以把close_before_liquidation_pct設(shè)置為1.5-2.5之間,這樣就是他們快到爆倉價(jià)前的1.5%-2.5%會平倉。
問題4: 如何進(jìn)行倉位管理
程序中有initial_target_pos, 這個(gè)值是你開倉的最大值。如果你設(shè)置為300, 那么它就是你最多買這個(gè)幣為三百個(gè),但是如果你已經(jīng)完成了交易,你把策略停止,然后設(shè)置為200,那么它就會慢慢給你減倉。如果單個(gè)幣上漲比較多,你可以適當(dāng)?shù)臏p倉,然后把多余的保證金劃轉(zhuǎn)到合約。
另外如果跑的某個(gè)交易對,他們的資金費(fèi)率下降的比較多,你可以選擇平倉,這時(shí)只需把initial_target_pos設(shè)置為零, 然后重新啟動(dòng)策略,然后策略就會給你慢慢平倉。同時(shí)可以跑其他交易對。
另外單個(gè)客戶端,跑的交易對不要超過四個(gè),如果超過四個(gè),程序會效率不高,可能對沖不那么及時(shí)。如果你實(shí)在想跑多個(gè)比較多的交易對,建議你多開幾個(gè)客戶端。每個(gè)客戶端跑不同的交易對。
問題5: 控制臺報(bào)錯(cuò),下不了單
錯(cuò)誤提示
{'code': -1021, 'msg': "Timestamp for this request was 1000ms ahead of the server's time."} 400
服務(wù)器的時(shí)鐘不準(zhǔn)確,導(dǎo)致時(shí)間戳問題。需要調(diào)整下自己的服務(wù)器的時(shí)間戳,這個(gè)百度下就搞定了。
問題6:程序中看不懂英文
可以看項(xiàng)目下的 策略參數(shù)說明.md 文件
問題7: 如何調(diào)整杠桿和查看收益
在app設(shè)置,最好設(shè)置全倉和5倍杠桿,然后收益在合約那邊,點(diǎn)擊過濾選擇資金費(fèi)率就可以了。
問題8:服務(wù)器選擇
最好選擇東京地區(qū)的服務(wù)器,最低配置要求2核4G的Window服務(wù)器。

問題9: 下單不成功
- 保證金不足的問題,需要?jiǎng)澽D(zhuǎn)下。

問題10 :如何想在價(jià)差小的時(shí)候平倉
程序自動(dòng)平倉是在當(dāng)前市場行情價(jià)差和資金費(fèi)率分別小于你設(shè)置的close_spread_pct和close_rate_pct的時(shí)候,才會自動(dòng)平倉。如果想平倉可以設(shè)置為一個(gè)小的數(shù)。但是如果不設(shè)置的也可以的,使用默認(rèn)值為0也可以的。因?yàn)橘Y金費(fèi)率一般都是大于零的。蚊子腿也是肉。
問題11: 如何兌換busd
可以通過 BUSD/USDT交易對兌換
問題12: 爆倉和交易所減倉會賣出現(xiàn)貨嗎?
會的。爆倉和交易所減倉是兩個(gè)大的風(fēng)險(xiǎn)。爆倉的話,可能會虧損一些價(jià)差、滑點(diǎn),已經(jīng)清算的費(fèi)用。減倉是交易所在合約沒有對手盤了,需要拿獲利較多的來進(jìn)行平倉。如果你在app那邊看點(diǎn)與四個(gè)杠的豎線亮起,那么發(fā)生大波動(dòng)的時(shí)候,你的倉位可能在減倉序列,但是一般不會減倉的,除非波動(dòng)比較大。
如果發(fā)生爆倉或者減倉,如果你服務(wù)器沒有發(fā)生問題,交易所沒有宕機(jī),那么程序會給你賣出相應(yīng)的現(xiàn)貨的。
問題12:爆倉加如何算的
爆倉價(jià)是從交易所的獲取的。
問題13: 找不到庫
環(huán)境沒有安裝對,需要conda 激活你環(huán)境,然后進(jìn)行處理?;蛘吣氵\(yùn)行的環(huán)境沒有安裝howtrader.

問題14: 沒有收到行情或者資產(chǎn)信息
需要檢查下你的websocket是否連接成功。
如何查看你的訂單成交信息
可以在軟件中查看,或者在app中查看。

問題15:現(xiàn)貨和合約的數(shù)量不完全相等
這個(gè)問題很正常。幣安要求現(xiàn)貨下單的價(jià)值是10USDT以上,而且合約要求的每個(gè)幣種最小的下單數(shù)量也是有要求的。只要他們相差的數(shù)量小于合約的最小下單要求或者他們相差的價(jià)值小于11USDT, 那么程序就是認(rèn)為他們相當(dāng)?shù)?。而且他們相差的?shù)量不會對我們的盈虧沒有太大的影響。
問題15: 找不到藍(lán)牙的api

這個(gè)問題主要是pyqt5的藍(lán)牙api支持window 10一下的系統(tǒng)造成的。
解決問題方法,要找到你項(xiàng)目項(xiàng)目下的mytrader的文件夾, 類似下面的截圖。
首先找到你的項(xiàng)目下面的這個(gè)mytrader解析器環(huán)境的路徑

然后開始在對應(yīng)目錄下找到mytrader中pyqt5的藍(lán)牙的庫,然后把它的名字修為:Qt5Bluetooth.dll1, 或者刪除也可以的。

