Browse Source

多交叉下单

master
shanji 3 years ago
parent
commit
15e483678c
  1. 26
      Binance.TradeRobot.Business/Business/TradeBusiness/D21TradeBusiness.cs
  2. 10
      SDKAdapter/APIClient/BaseAPIClient.cs
  3. 10
      SDKAdapter/APIClient/BinanceAPIClient.cs

26
Binance.TradeRobot.Business/Business/TradeBusiness/D21TradeBusiness.cs

@ -146,7 +146,7 @@ namespace Binance.TradeRobot.Business
if (balance < previewTradeAmount)
{
#region 验证借币比例
#region 验证借币
step = "验证借币";
diffAmount = previewTradeAmount - balance;
var diffRatio = diffAmount / balance * 100; //借币比例
@ -226,7 +226,31 @@ namespace Binance.TradeRobot.Business
#endregion
#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
}

10
SDKAdapter/APIClient/BaseAPIClient.cs

@ -84,11 +84,11 @@ namespace SDKAdapter.APIClient
public virtual long IsolatedMarginPlaceOrder(string symbol,
Enums.TradeDirection tradeDirection,
Enums.OrderType orderType,
decimal? quantity,
decimal? quoteAmount,
decimal? price,
decimal? stopPrice,
string newClientOrderId)
decimal? quantity = null,
decimal? quoteAmount = null,
decimal? price = null,
decimal? stopPrice = null,
string newClientOrderId = "")
{
throw new NotImplementedException();
}

10
SDKAdapter/APIClient/BinanceAPIClient.cs

@ -107,11 +107,11 @@ namespace SDKAdapter.APIClient
public override long IsolatedMarginPlaceOrder(string symbol,
Enums.TradeDirection tradeDirection,
Enums.OrderType orderType,
decimal? quantity,
decimal? quoteAmount,
decimal? price,
decimal? stopPrice,
string newClientOrderId)
decimal? quantity = null,
decimal? quoteAmount = null,
decimal? price = null,
decimal? stopPrice = null,
string newClientOrderId = "")
{
var binanceOrderSite = (Binance.Net.Enums.OrderSide)(int)tradeDirection;
var binanceOrderType = (Binance.Net.Enums.SpotOrderType)(int)orderType;

Loading…
Cancel
Save