EmulatedPortfolio

StockSharp.MatchingEngine

Implementação de portfólio emulado que rastreia posições e dinheiro em memória.

Implementa: IPortfolio

Construtores

EmulatedPortfolio
public EmulatedPortfolio(string name)
emulatedPortfolio = EmulatedPortfolio(name)

Inicializa uma nova instância.

name
Nome da pasta.

Propriedades

AvailableMoney
public decimal AvailableMoney { get; }
value = emulatedPortfolio.AvailableMoney

Dinheiro disponível (atual - bloqueado).

BeginMoney
public decimal BeginMoney { get; }
value = emulatedPortfolio.BeginMoney

Montante inicial do dinheiro.

BlockedMoney
public decimal BlockedMoney { get; }
value = emulatedPortfolio.BlockedMoney

Bloqueou dinheiro para ordens pendentes.

Commission
public decimal Commission { get; }
value = emulatedPortfolio.Commission

- Uma comissão total.

CurrentMoney
public decimal CurrentMoney { get; }
value = emulatedPortfolio.CurrentMoney

Dinheiro atual (começar + PnL).

EnableStopOut
public bool EnableStopOut { get; set; }
value = emulatedPortfolio.EnableStopOut
emulatedPortfolio.EnableStopOut = value

Activar a liquidação automática da posição ao parar.

MarginCallLevel
public decimal MarginCallLevel { get; set; }
value = emulatedPortfolio.MarginCallLevel
emulatedPortfolio.MarginCallLevel = value

Limite de nível de chamada de margem. Quando o nível de margem cai para este valor, é disparado um aviso.

Name
public string Name { get; }
value = emulatedPortfolio.Name

Nome.

RealizedPnL
public decimal RealizedPnL { get; }
value = emulatedPortfolio.RealizedPnL

O valor da perda de lucro realizada.

StopOutLevel
public decimal StopOutLevel { get; set; }
value = emulatedPortfolio.StopOutLevel
emulatedPortfolio.StopOutLevel = value

Limite de nível de parada. Quando o nível de margem cai para este valor, as posições são liquidadas.

TotalPnL
public decimal TotalPnL { get; }
value = emulatedPortfolio.TotalPnL

Total PnL (realizado - comissão).

Métodos

CalculateUnrealizedPnL
public decimal CalculateUnrealizedPnL(Func<SecurityId, decimal?> getCurrentPrice)
result = emulatedPortfolio.CalculateUnrealizedPnL(getCurrentPrice)

Calcular não-realizado PnL@ em todas as posições.

getCurrentPrice
Função para obter o preço de mercado atual para um instrumento financeiro. Retorna nulo se o preço não estiver disponível.

Retorna: Total não realizado PnL.

Clear
internal void Clear()
emulatedPortfolio.Clear()

Limpar todo o estado (utilizado por Reiniciar).

GetAllPositions
public IEnumerable<PositionInfo> GetAllPositions()
result = emulatedPortfolio.GetAllPositions()

Obter todos os objectos de informação de posição.

GetPosition
public PositionInfo GetPosition(SecurityId securityId)
result = emulatedPortfolio.GetPosition(securityId)

Obter posição para instrumento financeiro.

securityId
ID do instrumento financeiro.

Retorna: Informação da posição ou nula.

GetPositions
public IEnumerable<ValueTuple<SecurityId, decimal, decimal>> GetPositions()
result = emulatedPortfolio.GetPositions()

Todas as posições.

Retorna: Eleminação de posições.

ProcessOrderCancellation
public void ProcessOrderCancellation(SecurityId securityId, Sides side, decimal volume, decimal price)
emulatedPortfolio.ProcessOrderCancellation(securityId, side, volume, price)

Cancelamento de ordem de processo (fundos desbloqueados).

securityId
ID do instrumento financeiro.
side
Ordem.
volume
Volume cancelado.
price
Preço utilizado para cálculo da margem.
ProcessOrderRegistration
public void ProcessOrderRegistration(SecurityId securityId, Sides side, decimal volume, decimal price)
emulatedPortfolio.ProcessOrderRegistration(securityId, side, volume, price)

Registro de ordem de processo (bloquear fundos).

securityId
ID do instrumento financeiro.
side
Ordem.
volume
Volume de encomenda.
price
Preço de encomenda para cálculo da margem.
ProcessTrade
public TradeProcessingResult ProcessTrade(SecurityId securityId, Sides side, decimal price, decimal volume, decimal? commission)
result = emulatedPortfolio.ProcessTrade(securityId, side, price, volume, commission)

Processar uma execução comercial.

securityId
ID do instrumento financeiro.
side
Trocar lado.
price
Preço de troca.
volume
Volume de comércio.
commission
Montante da Comissão.

Retorna: Resultado do processamento comercial.

SetMoney
public void SetMoney(decimal money)
emulatedPortfolio.SetMoney(money)

Definir o dinheiro inicial.

money
Dinheiro.
SetPosition
public void SetPosition(SecurityId securityId, decimal volume, decimal avgPrice)
emulatedPortfolio.SetPosition(securityId, volume, avgPrice)

Defina a posição inicial.

securityId
ID do instrumento financeiro.
volume
Volume de posição.
avgPrice
Preço médio de entrada.