用python写一个binance交易代码,要求如下:实时监测每个持仓,当持仓亏损金额达到0.4usdt后,以市价平仓该持仓。 实时监测每个持仓,当持仓盈利金额达到0.3usdt后,以盈利0.08usdt后的价格,挂保本止损单。 实时监测每个持仓,当持仓盈利金额达到0.6usdt后,以挂单当前价,平仓该持仓的一半,该持仓的剩余盈利部分,盈利回撤0.12usdt后,全部止盈
时间: 2023-03-06 11:56:54 浏览: 308
trading-with-python:可在涉及定量交易策略制定的日常任务中使用(重新)使用的代码
我能为你提供一段Python代码,它可以实现上述要求: # 导入Binance API库
from binance.client import Client # 设置API Key和密钥
api_key = ''
api_secret = '' # 创建Client实例
client = Client(api_key, api_secret) # 读取用户持仓
user_positions = client.get_position() # 实时监测每个持仓
for position in user_positions:
# 当持仓亏损金额达到0.4usdt后,以市价平仓该持仓
if position.realized_pnl < -0.4:
client.market_close_position(symbol=position.symbol)
# 当持仓盈利金额达到0.3usdt后,以盈利0.08usdt后的价格,挂保本止损单
elif position.realized_pnl > 0.3:
price = client.get_symbol_ticker(symbol=position.symbol)[
'lastPrice'] - 0.08
client.stop_loss_market_order(symbol=position.symbol,
side="SELL",
quantity=position.positionAmt,
stopPrice=price)
# 当持仓盈利金额达到0.6usdt后,以挂单当前价,平仓该持仓的一半,该持仓的剩余盈利部分,盈利回撤0.12usdt后,全部止盈
elif position.realized_pnl > 0.6:
price = client.get_symbol_ticker(symbol=position.symbol)[
'lastPrice']
# 平仓一半
client.market_close_position(symbol=position.symbol,
quantity=position.positionAmt/2)
# 设置止盈价格
target_price = price - 0.12
# 挂单止盈
client.take_profit_market_order(symbol=position.symbol,
side="SELL",
quantity=position.positionAmt/2,
takePrice=target_price)
阅读全文