|
|
@ -20,7 +20,7 @@ namespace Binance.TradeRobot.Business |
|
|
|
{ |
|
|
|
private DingBusiness dingBusiness; |
|
|
|
private GlobalContext globalContext; |
|
|
|
|
|
|
|
private IList<Enums.SpotOrderState> validStateList; |
|
|
|
public Enums.TradePolicy TradePolicy => Enums.TradePolicy.D21; |
|
|
|
|
|
|
|
public D21TradeBusiness(IFreeSql fsql, |
|
|
@ -32,6 +32,12 @@ namespace Binance.TradeRobot.Business |
|
|
|
{ |
|
|
|
this.dingBusiness = dingBusiness; |
|
|
|
this.globalContext = globalContext; |
|
|
|
validStateList = new List<Enums.SpotOrderState>() |
|
|
|
{ |
|
|
|
Enums.SpotOrderState.Filled, |
|
|
|
Enums.SpotOrderState.PartiallyFilled, |
|
|
|
Enums.SpotOrderState.Expired |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
public void TrendChanged<T, T1>(T singalRequest, T1 robot) where T : BaseSingalRequest where T1 : RobotResponse |
|
|
@ -121,6 +127,16 @@ namespace Binance.TradeRobot.Business |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 计算下单数量
|
|
|
|
var recentSellOrder = fsql.Select<SpotOrder>().Where(o => o.RobotId == robot.Id && |
|
|
|
o.TradeDirection == Enums.TradeDirection.Sell && |
|
|
|
validStateList.Contains(o.State)) |
|
|
|
.OrderByDescending(o => o.LastTradeTime) |
|
|
|
.ToOne(); |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|