|
@ -146,7 +146,7 @@ namespace Binance.TradeRobot.Business |
|
|
|
|
|
|
|
|
if (balance < previewTradeAmount) |
|
|
if (balance < previewTradeAmount) |
|
|
{ |
|
|
{ |
|
|
#region 验证借币比例
|
|
|
#region 验证借币
|
|
|
step = "验证借币"; |
|
|
step = "验证借币"; |
|
|
diffAmount = previewTradeAmount - balance; |
|
|
diffAmount = previewTradeAmount - balance; |
|
|
var diffRatio = diffAmount / balance * 100; //借币比例
|
|
|
var diffRatio = diffAmount / balance * 100; //借币比例
|
|
@ -226,7 +226,31 @@ namespace Binance.TradeRobot.Business |
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
#region 下单
|
|
|
#region 下单
|
|
|
|
|
|
step = "下单"; |
|
|
|
|
|
var orderId = apiClient.IsolatedMarginPlaceOrder(robot.Symbol, |
|
|
|
|
|
Enums.TradeDirection.Buy, |
|
|
|
|
|
Enums.OrderType.MARKET, |
|
|
|
|
|
quoteAmount: previewTradeAmount); |
|
|
|
|
|
var buyOrder = new SpotOrder() |
|
|
|
|
|
{ |
|
|
|
|
|
Id = orderId, |
|
|
|
|
|
CreateTime = DateTime.Now, |
|
|
|
|
|
ExchangeId = robot.ExchangeId, |
|
|
|
|
|
LoanAmount = diffAmount, |
|
|
|
|
|
OrderType = Enums.OrderType.MARKET, |
|
|
|
|
|
PolicyType = Enums.TradePolicy.D21, |
|
|
|
|
|
RobotId = robot.Id, |
|
|
|
|
|
State = Enums.SpotOrderState.Created, |
|
|
|
|
|
Symbol = robot.Symbol, |
|
|
|
|
|
TradeDirection = Enums.TradeDirection.Buy |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
|
|
|
{ |
|
|
|
|
|
fsql.Insert(buyOrder).ExecuteAffrows(); |
|
|
|
|
|
if (previewTradeAmount != d21Robot.D21Policy.Position) //借币失败 仓位减少
|
|
|
|
|
|
fsql.Update<D21Policy>(d21Robot.D21Policy.Id).Set(d => d.Position, previewTradeAmount).ExecuteAffrows(); |
|
|
|
|
|
}); |
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|