【发布时间】:2022-11-27 17:48:26
【问题描述】:
尝试用 python 编写一个基本的 Binance 交易机器人。 继续收到“APIError(code=-2021): Order would immediately trigger”,即使在下限价订单时没有任何意义。
在撰写本文时,ETH/BUSD 汇率约为 1210。
我打印出我的当前价格 (1210.00) 和目标价格 (1215.44) 应该触发止盈。我可以通过 Binance GUI 毫无问题地执行此操作,订单被接受并触发。
但是通过 API,即使我将我的价格设置为高于(或低于)当前市场价格,并将目标价格设置为 2000(远高于市场价格),订单也不会被接受,我会得到同样的错误。 我认为我的 futures_create_order 参数有问题,但我无法从文档中弄清楚。任何帮助将不胜感激。
这是我的代码
from binance.client import Client
test_key = "xxx"
test_secret_key = "xxx"
client = Client(test_key, test_secret_key, testnet = True)
symbol = 'ETHBUSD'
tar_profit = 0.09 #take profit when ROE hits 9%
lev = 20 #leverage
ticker_data = client.futures_symbol_ticker(symbol = symbol)
current_price = float(ticker_data["price"])
cp_adder = 1 + float(tar_profit / lev)
tp_price = round(current_price * cp_adder, 2)
qty = 0.2
client.futures_create_order(
symbol=symbol,
side='BUY', #'SELL' or 'BUY'
type ='TAKE_PROFIT',
timeInForce='GTC', #good until cancelled
price = current_price,
quantity = qty,
#isolated=True,
stopPrice = tp_price, #take_profit price
workingType='CONTRACT_PRICE' #or MARK PRICE
)
【问题讨论】:
标签: python trading binance cryptocurrency