- वर्ग
- स्वचालित रूप से बिआन स्थायी अनुबंध ट्रेडिंग सटीकता और न्यूनतम खोलने की स्थिति प्राप्त करें
स्वचालित रूप से बिआन स्थायी अनुबंध ट्रेडिंग सटीकता और न्यूनतम खोलने की स्थिति प्राप्त करें
लेखक:
जीसीसी, दिनांक: 2021-10-10 22:42:12
टैगः
本来从交易规则里直接获取交易精度是很合理的做法,奈何币安经常不及时更新这部分,遂弃坑。
def init():
global symbols, min_value
# 获取交易规则
exchange.SetBase('https://dapi.binance.com')
rule = exchange.IO("api", "GET", "/dapi/v1/exchangeInfo", "", "")["symbols"]
Log(rule)
# 获取交易对名称
for i in range(len(exchanges)):
exchanges[i].SetMarginLevel(M)
exchanges[i].SetContractType("swap") # 设置永续合约
_symbol = exchanges[i].GetCurrency().split("_")[0] # +'USDT'币本位交易对名称
# 设置交易精度
j = 0
flag1 = False
flag2 = False
#Log(rule)
while (j < len(rule)) and flag1 == False and flag2 == False:
if str(rule[j]["symbol"]).rfind(_symbol)>=0:
for x in rule[j]["filters"]:
if x["filterType"] == "PRICE_FILTER" and flag1 == False:
#Log("价格",x["tickSize"])
#Log(len(str(float(x["tickSize"])).split('.')[-1]))
price_precision = len(str(float(x["tickSize"])).split('.')[-1])
flag1 = True
elif x["filterType"] == "LOT_SIZE" and flag2 == False:
amount_precision = len(x["minQty"].split('.')[-1])
flag2 = True
j = j + 1
exchanges[i].SetPrecision(price_precision, amount_precision)
Log("初始化结束")
अधिक