PositionTargetManager
Gerenciador autônomo que direciona posição para um valor de destino usando algoritmos configuráveis.
Herda de: BaseLogReceiver
Construtores
public PositionTargetManager(ISubscriptionProvider subProvider, ITransactionProvider transProvider, IMarketRuleContainer container, Func<Security, Portfolio, decimal?> getPosition, Func<Order> orderFactory, Func<bool> canTrade, Func<Sides, decimal, IPositionModifyAlgo> algoFactory)
positionTargetManager = PositionTargetManager(subProvider, transProvider, container, getPosition, orderFactory, canTrade, algoFactory)
Inicializa uma nova instância do PositionTargetManager.
- subProvider
- Prestador de assinaturas.
- transProvider
- Transaction provider.
- container
- Container de regras do mercado.
- getPosition
- Função para obter a posição atual para um par de instrumento financeiro / portfolio.
- orderFactory
- Fábrica para criar novas encomendas com propriedades desejadas.
- canTrade
- Função que retorna se a negociação é permitida.
- algoFactory
- Fábrica para criar algoritmos de modificação de posição. Parâmetros: lado, volume.
Propriedades
public int MaxRetries { get; set; }
value = positionTargetManager.MaxRetries
positionTargetManager.MaxRetries = value
Número máximo de tentativas por falha na ordem.
public OrderTypes OrderType { get; set; }
value = positionTargetManager.OrderType
positionTargetManager.OrderType = value
Tipo de ordem a usar. O padrão é o Mercado.
public decimal PositionTolerance { get; set; }
value = positionTargetManager.PositionTolerance
positionTargetManager.PositionTolerance = value
Tolerância para considerar a posição alvo atingido.
Métodos
public void CancelTarget(Security security, Portfolio portfolio)
positionTargetManager.CancelTarget(security, portfolio)
Cancelar o alvo para um par de instrumentos financeiros/portfolio.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
protected override void DisposeManaged()
positionTargetManager.DisposeManaged()
Libertar recursos.
public decimal? GetTarget(Security security, Portfolio portfolio)
result = positionTargetManager.GetTarget(security, portfolio)
Obter posição de destino para um par de instrumento financeiro / portfolio.
Retorna: Posição do alvo, ou nulo se não estiver definido.
public bool IsTargetReached(Security security, Portfolio portfolio)
result = positionTargetManager.IsTargetReached(security, portfolio)
Verifique se a posição do alvo é alcançada.
public void SetTarget(Security security, Portfolio portfolio, decimal target)
positionTargetManager.SetTarget(security, portfolio, target)
Definir posição-alvo para um par instrumento financeiro/portfolio.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
- target
- Valor da posição do alvo.
Eventos
public event Action<Security, Portfolio, Exception> Error
positionTargetManager.Error += handler
Ocorre quando um erro acontece durante o gerenciamento de alvo.
public event Action<Order> OrderRegistered
positionTargetManager.OrderRegistered += handler
Ocorre quando uma ordem é registrada pelo gerente.
public event Action<Security, Portfolio> TargetReached
positionTargetManager.TargetReached += handler
Ocorre quando se atinge uma posição de alvo.