Orlean (#32)
* Start building with orlean * Add missing file * Serialize grain state * Remove grain and proxies * update and add plan * Update a bit * Fix backtest grain * Fix backtest grain * Clean a bit
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Text.Json.Serialization;
|
||||
using Managing.Domain.Users;
|
||||
using Orleans;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Domain.Trades
|
||||
{
|
||||
[GenerateSerializer]
|
||||
public class Position
|
||||
{
|
||||
public Position(string identifier, string accountName, TradeDirection originDirection, Ticker ticker,
|
||||
@@ -21,28 +23,53 @@ namespace Managing.Domain.Trades
|
||||
User = user;
|
||||
}
|
||||
|
||||
[Id(0)]
|
||||
[Required] public string AccountName { get; set; }
|
||||
|
||||
[Id(1)]
|
||||
[Required] public DateTime Date { get; set; }
|
||||
|
||||
[Id(2)]
|
||||
[Required] public TradeDirection OriginDirection { get; set; }
|
||||
|
||||
[Id(3)]
|
||||
[Required] public Ticker Ticker { get; set; }
|
||||
|
||||
[Id(4)]
|
||||
[Required] public LightMoneyManagement MoneyManagement { get; set; }
|
||||
|
||||
[Id(5)]
|
||||
[Required] [JsonPropertyName("Open")] public Trade Open { get; set; }
|
||||
|
||||
[Id(6)]
|
||||
[Required]
|
||||
[JsonPropertyName("StopLoss")]
|
||||
public Trade StopLoss { get; set; }
|
||||
|
||||
[Id(7)]
|
||||
[Required]
|
||||
[JsonPropertyName("TakeProfit1")]
|
||||
public Trade TakeProfit1 { get; set; }
|
||||
|
||||
[Id(8)]
|
||||
[JsonPropertyName("TakeProfit2")] public Trade TakeProfit2 { get; set; }
|
||||
|
||||
[Id(9)]
|
||||
[JsonPropertyName("ProfitAndLoss")] public ProfitAndLoss ProfitAndLoss { get; set; }
|
||||
|
||||
[Id(10)]
|
||||
[Required] public PositionStatus Status { get; set; }
|
||||
|
||||
[Id(11)]
|
||||
public string SignalIdentifier { get; set; }
|
||||
|
||||
[Id(12)]
|
||||
[Required] public string Identifier { get; set; }
|
||||
|
||||
[Id(13)]
|
||||
[Required] public PositionInitiator Initiator { get; set; }
|
||||
|
||||
[Id(14)]
|
||||
[Required] public User User { get; set; }
|
||||
|
||||
public bool IsFinished()
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
using static Managing.Common.Enums;
|
||||
using Orleans;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Domain.Trades
|
||||
{
|
||||
[GenerateSerializer]
|
||||
public sealed class ProfitAndLoss
|
||||
{
|
||||
[Id(0)]
|
||||
public decimal Realized { get; set; }
|
||||
|
||||
[Id(1)]
|
||||
public decimal Net { get; set; }
|
||||
|
||||
[Id(2)]
|
||||
public decimal AverageOpenPrice { get; private set; }
|
||||
private const decimal _multiplier = 100000;
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Orleans;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Domain.Trades
|
||||
{
|
||||
[GenerateSerializer]
|
||||
public class Trade
|
||||
{
|
||||
public Trade(DateTime date, TradeDirection direction, TradeStatus status, TradeType tradeType, Ticker ticker,
|
||||
@@ -21,16 +23,37 @@ namespace Managing.Domain.Trades
|
||||
Fee = 0;
|
||||
}
|
||||
|
||||
[Id(0)]
|
||||
[Required] public decimal Fee { get; set; }
|
||||
|
||||
[Id(1)]
|
||||
[Required] public DateTime Date { get; set; }
|
||||
|
||||
[Id(2)]
|
||||
[Required] public TradeDirection Direction { get; set; }
|
||||
|
||||
[Id(3)]
|
||||
[Required] public TradeStatus Status { get; set; }
|
||||
|
||||
[Id(4)]
|
||||
[Required] public TradeType TradeType { get; set; }
|
||||
|
||||
[Id(5)]
|
||||
[Required] public Ticker Ticker { get; set; }
|
||||
|
||||
[Id(6)]
|
||||
[Required] public decimal Quantity { get; set; }
|
||||
|
||||
[Id(7)]
|
||||
[Required] public decimal Price { get; set; }
|
||||
|
||||
[Id(8)]
|
||||
[Required] public decimal Leverage { get; set; }
|
||||
|
||||
[Id(9)]
|
||||
[Required] public string ExchangeOrderId { get; set; }
|
||||
|
||||
[Id(10)]
|
||||
[Required] public string Message { get; set; }
|
||||
|
||||
public void SetStatus(TradeStatus status)
|
||||
|
||||
Reference in New Issue
Block a user