docker files fixes from liaqat
This commit is contained in:
57
src/Managing.Domain/Trades/Position.cs
Normal file
57
src/Managing.Domain/Trades/Position.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using Managing.Domain.MoneyManagements;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Domain.Trades
|
||||
{
|
||||
public class Position
|
||||
{
|
||||
public Position(string accountName, TradeDirection originDirection, Ticker ticker, MoneyManagement moneyManagement, PositionInitiator positionInitiator, DateTime date)
|
||||
{
|
||||
Identifier = Guid.NewGuid().ToString();
|
||||
AccountName = accountName;
|
||||
OriginDirection = originDirection;
|
||||
Ticker = ticker;
|
||||
MoneyManagement = moneyManagement;
|
||||
Initiator = positionInitiator;
|
||||
Date = date;
|
||||
Status = Initiator == PositionInitiator.PaperTrading ? PositionStatus.Filled : PositionStatus.New;
|
||||
}
|
||||
|
||||
[Required]
|
||||
public string AccountName { get; }
|
||||
[Required]
|
||||
public DateTime Date { get; set; }
|
||||
[Required]
|
||||
public TradeDirection OriginDirection { get; }
|
||||
[Required]
|
||||
public Ticker Ticker { get; }
|
||||
[Required]
|
||||
public MoneyManagement MoneyManagement { get; }
|
||||
[Required]
|
||||
public Trade Open { get; set; }
|
||||
[Required]
|
||||
public Trade StopLoss { get; set; }
|
||||
[Required]
|
||||
public Trade TakeProfit1 { get; set; }
|
||||
public Trade TakeProfit2 { get; set; }
|
||||
public ProfitAndLoss ProfitAndLoss { get; set; }
|
||||
[Required]
|
||||
public PositionStatus Status { get; set; }
|
||||
public string SignalIdentifier { get; set; }
|
||||
[Required]
|
||||
public string Identifier { get; set; }
|
||||
[Required]
|
||||
public PositionInitiator Initiator { get; }
|
||||
|
||||
public bool IsFinished()
|
||||
{
|
||||
return Status switch
|
||||
{
|
||||
PositionStatus.Finished => true,
|
||||
PositionStatus.Flipped => true,
|
||||
_ => false
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user