|
@ -200,26 +200,36 @@ namespace Binance.TradeRobot.Business |
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// 获取动2.1策略机器人列表
|
|
|
/// 获取动2.1策略机器人列表
|
|
|
/// </summary>
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="robotId"></param>
|
|
|
/// <param name="robotState">机器人状态</param>
|
|
|
/// <param name="robotState">机器人状态</param>
|
|
|
/// <param name="signalPeriod">信号周期</param>
|
|
|
/// <param name="signalPeriod">信号周期</param>
|
|
|
/// <param name="symbol">交易对</param>
|
|
|
/// <param name="symbol">交易对</param>
|
|
|
/// <param name="isLoadRecentTradeProfit">是否加载近期交易利润,默认true</param>
|
|
|
/// <param name="isLoadRecentTradeProfit">是否加载近期交易利润,默认true</param>
|
|
|
/// <param name="isLoadAPIKey">是否加载机器人绑定的APIKey,默认false</param>
|
|
|
/// <param name="isLoadAPIKey">是否加载机器人绑定的APIKey,默认false</param>
|
|
|
/// <returns></returns>
|
|
|
/// <returns></returns>
|
|
|
public IList<D21PolicyRobotResponse> GetD21PolicyRobotList(Enums.RobotState? robotState = null, |
|
|
public IList<D21PolicyRobotResponse> GetD21PolicyRobotList(long? robotId, |
|
|
|
|
|
Enums.RobotState? robotState = null, |
|
|
Enums.SignalPeriod? signalPeriod = null, |
|
|
Enums.SignalPeriod? signalPeriod = null, |
|
|
string symbol = "", |
|
|
string symbol = "", |
|
|
bool isLoadRecentTradeProfit = true, |
|
|
bool isLoadRecentTradeProfit = true, |
|
|
bool isLoadAPIKey = false) |
|
|
bool isLoadAPIKey = false) |
|
|
{ |
|
|
{ |
|
|
var robotList = fsql.Select<Robot, RobotAccount, D21Policy, ExchangeAPIKey>().InnerJoin((r, ra, d, e) => r.Id == ra.RobotId) |
|
|
var select = fsql.Select<Robot, RobotAccount, D21Policy, ExchangeAPIKey>().InnerJoin((r, ra, d, e) => r.Id == ra.RobotId) |
|
|
.InnerJoin((r, ra, d, e) => r.Id == d.RobotId) |
|
|
.InnerJoin((r, ra, d, e) => r.Id == d.RobotId) |
|
|
.InnerJoin((r, ra, d, e) => r.Id == e.RobotId) |
|
|
.InnerJoin((r, ra, d, e) => r.Id == e.RobotId); |
|
|
.WhereIf(robotState != null, (r, ra, d, e) => r.State == robotState) |
|
|
if (robotId != null) |
|
|
|
|
|
{ |
|
|
|
|
|
select = select.Where((r, ra, d, e) => r.Id == robotId); |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
select = select.WhereIf(robotState != null, (r, ra, d, e) => r.State == robotState) |
|
|
.WhereIf(signalPeriod != null, (r, ra, d, e) => d.PeriodicSignal == signalPeriod) |
|
|
.WhereIf(signalPeriod != null, (r, ra, d, e) => d.PeriodicSignal == signalPeriod) |
|
|
.WhereIf(!string.IsNullOrEmpty(symbol), (r, ra, d, e) => r.Symbol == symbol) |
|
|
.WhereIf(!string.IsNullOrEmpty(symbol), (r, ra, d, e) => r.Symbol == symbol) |
|
|
.Where((r, ra, d, e) => r.TradePolicy == Enums.TradePolicy.D21) |
|
|
.Where((r, ra, d, e) => r.TradePolicy == Enums.TradePolicy.D21); |
|
|
.ToList((r, ra, d, e) => new Robot |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var robotList = select.ToList((r, ra, d, e) => new Robot |
|
|
{ |
|
|
{ |
|
|
Id = r.Id, |
|
|
Id = r.Id, |
|
|
BusinessType = r.BusinessType, |
|
|
BusinessType = r.BusinessType, |
|
|