Strategy
A classe base para todas as estratégias de comércio.
Herda de: BaseLogReceiver
Implementa: INotifyPropertyChangedEx, INotifyPropertyChanged, IMarketRuleContainer, ILogReceiver, ILogSource, IDisposable, ICloneable<Strategy>, ICloneable, IMarketDataProvider, ISubscriptionProvider, ISecurityProvider, ISecurityMessageProvider, ITransactionProvider, IScheduledTask, ICustomTypeDescriptor, ITimeProvider, IPortfolioProvider, IPositionProvider, IReportSource
Construtores
Propriedades
public TimeSpan AggregationInterval { get; set; }
value = strategy.AggregationInterval
strategy.AggregationInterval = value
Intervalo de tempo para agregação. As ordens/compras dentro do mesmo intervalo são agrupadas. O padrão é de 1 hora. Defina como Zero para desativar o agrupamento baseado no tempo.
public bool CancelOrdersWhenStopping { get; set; }
value = strategy.CancelOrdersWhenStopping
strategy.CancelOrdersWhenStopping = value
Para cancelar as ordens activas na paragem. Está Ligado por omissão.
public INotifyList<Strategy> ChildStrategies { get; }
value = strategy.ChildStrategies
Estratégias comerciais subsidiárias.
public StrategyCommentModes CommentMode { get; set; }
value = strategy.CommentMode
strategy.CommentMode = value
Definir o Comentário pelo Nome ou ID.
public decimal? Commission { get; private set; }
value = strategy.Commission
strategy.Commission = value
- Uma comissão total.
public virtual Connector Connector { get; set; }
value = strategy.Connector
strategy.Connector = value
Ligação ao sistema de negociação.
public override DateTime CurrentTime { get; }
value = strategy.CurrentTime
Hora atual do UTC.
public bool DisposeOnStop { get; set; }
value = strategy.DisposeOnStop
strategy.DisposeOnStop = value
Automaticamente para limpar os recursos, usados pela estratégia, quando ela pára (state ProcessState torna-se igual a Parado).
public SettingsStorage Environment { get; }
value = strategy.Environment
Parâmetros de ambiente de estratégia.
public LogLevels ErrorState { get; private set; }
value = strategy.ErrorState
strategy.ErrorState = value
O estado de um erro.
public static bool HideSecurityAndPortfolioParameters { get; set; }
value = Strategy.HideSecurityAndPortfolioParameters
Strategy.HideSecurityAndPortfolioParameters = value
Tornar o instrumento financeiro e a carteira como não-browsable.
protected virtual TimeSpan? HistoryCalculated { get; }
value = strategy.HistoryCalculated
Calculado a partir da versão de código de HistorySize.
public TimeSpan? HistorySize { get; set; }
value = strategy.HistorySize
strategy.HistorySize = value
História para inicializar a estratégia sobre o comércio ao vivo.
public INotifyList<IIndicator> Indicators { get; }
value = strategy.Indicators
Todos os indicadores usados na estratégia. Usos na implementação padrão de IsFormed.
public Level1Fields? IndicatorSource { get; set; }
value = strategy.IndicatorSource
strategy.IndicatorSource = value
Fonte padrão para indicadores quando o Source não está definido.
public bool IsBacktesting { get; }
value = strategy.IsBacktesting
Determina Connector é HistoryEmulationConnector.
public virtual bool IsFormed { get; }
value = strategy.IsFormed
Estratégia totalmente formada.
public bool IsOnline { get; private set; }
value = strategy.IsOnline
strategy.IsOnline = value
Verdadeiro significa que a estratégia é iniciada e todas as suas assinaturas estão em estado online.
public bool IsRulesSuspended { get; }
value = strategy.IsRulesSuspended
Está suspensa a execução das regras.
public bool KeepStatistics { get; set; }
value = strategy.KeepStatistics
strategy.KeepStatistics = value
Manter estatísticas de negociação (ordens, transações, lucro etc.) após o reinício.
public Exception LastError { get; private set; }
value = strategy.LastError
strategy.LastError = value
O último erro que fez com que a estratégia parasse.
public TimeSpan? Latency { get; private set; }
value = strategy.Latency
strategy.Latency = value
Latência total.
public override LogLevels LogLevel { get; set; }
value = strategy.LogLevel
strategy.LogLevel = value
O nível para executar esta regra de registro.
public int MaxOrdersBeforeAggregation { get; set; }
value = strategy.MaxOrdersBeforeAggregation
strategy.MaxOrdersBeforeAggregation = value
O número máximo de pedidos antes da agregação automática é acionado. O padrão é 10000. Defina como 0 para desativar a agregação automática.
public int MaxTradesBeforeAggregation { get; set; }
value = strategy.MaxTradesBeforeAggregation
strategy.MaxTradesBeforeAggregation = value
O número máximo de transações antes da agregação automática é acionado. O padrão é 10000. Defina como 0 para desativar a agregação automática.
public IEnumerable<MyTrade> MyTrades { get; }
value = strategy.MyTrades
Negociações, combinadas durante a operação de estratégia.
public override string Name { get; set; }
value = strategy.Name
strategy.Name = value
Nome de estratégia.
public StrategyNameGenerator NameGenerator { get; }
value = strategy.NameGenerator
O gerador do nome da estratégia.
public virtual IEnumerable<IOrderBookSource> OrderBookSources { get; }
value = strategy.OrderBookSources
Todas as possíveis IOrderBookMessage fontes que podem ser recebidas via OrderBookDrawing.
public Subscription OrderLookup { get; }
value = strategy.OrderLookup
Obter assinatura global em busca de Ordem. Pode ser .
public IEnumerable<Order> Orders { get; }
value = strategy.Orders
Ordens, registadas no quadro estratégico.
public TimeSpan OrdersKeepTime { get; set; }
value = strategy.OrdersKeepTime
strategy.OrdersKeepTime = value
O tempo para armazenar Ordens na memória. Por padrão, é igual a 2 dias. Se o valor for definido em Zero, as ordens não serão apagadas.
public StrategyParameterDictionary Parameters { get; }
value = strategy.Parameters
Parâmetros de estratégia.
public decimal PnL { get; }
value = strategy.PnL
O valor agregado das perdas de lucro sem a Comissão de Contabilidade.
public IPnLManager PnLManager { get; set; }
value = strategy.PnLManager
strategy.PnLManager = value
O gerente de perdas de lucro.
public Portfolio Portfolio { get; set; }
value = strategy.Portfolio
strategy.Portfolio = value
Portfólio.
public Subscription PortfolioLookup { get; }
value = strategy.PortfolioLookup
Obtenha a subscrição global no portfólio de pesquisa. Pode ser .
public IPortfolioProvider PortfolioProvider { get; set; }
value = strategy.PortfolioProvider
strategy.PortfolioProvider = value
IPortfolioProvider
public decimal Position { get; set; }
value = strategy.Position
strategy.Position = value
O valor agregado da posição.
public IEnumerable<Position> Positions { get; }
value = strategy.Positions
A lista de posições.
public virtual ProcessStates ProcessState { get; private set; }
value = strategy.ProcessState
strategy.ProcessState = value
O estado da operação.
public ReportSource ReportSource { get; }
value = strategy.ReportSource
Reportar a fonte de dados com suporte de agregação.
public decimal RiskFreeRate { get; set; }
value = strategy.RiskFreeRate
strategy.RiskFreeRate = value
Taxa anual sem risco (e.g., 0.03 = 3%).
public IRiskManager RiskManager { get; set; }
value = strategy.RiskManager
strategy.RiskManager = value
O gerente de controle de riscos.
public IEnumerable<IRiskRule> RiskRules { get; set; }
value = strategy.RiskRules
strategy.RiskRules = value
As regras de risco.
public IMarketRuleList Rules { get; }
value = strategy.Rules
A lista das regras de cálculo da comissão.
public Security Security { get; set; }
value = strategy.Security
strategy.Security = value
Instrumento financeiro.
public decimal? Slippage { get; private set; }
value = strategy.Slippage
strategy.Slippage = value
Deslize total.
public DateTime StartedTime { get; private set; }
value = strategy.StartedTime
strategy.StartedTime = value
Hora de começar a estratégia.
public IStatisticManager StatisticManager { get; protected set; }
value = strategy.StatisticManager
strategy.StatisticManager = value
O gerente de estatísticas.
public Func<Sides, decimal, IPositionModifyAlgo> TargetAlgoFactory { get; set; }
value = strategy.TargetAlgoFactory
strategy.TargetAlgoFactory = value
Fábrica para criar algoritmos de modificação de posição para TargetPositionManager. O padrão cria MarketOrderAlgo.
public PositionTargetManager TargetPositionManager { get; }
value = strategy.TargetPositionManager
Gestor de posição do alvo.
public TimeSpan TotalWorkingTime { get; private set; }
value = strategy.TotalWorkingTime
strategy.TotalWorkingTime = value
O tempo total de operação da estratégia menos períodos de tempo, quando a estratégia foi interrompida.
public StrategyTradingModes TradingMode { get; set; }
value = strategy.TradingMode
strategy.TradingMode = value
Permitir a troca.
public TimeSpan UnrealizedPnLInterval { get; set; }
value = strategy.UnrealizedPnLInterval
strategy.UnrealizedPnLInterval = value
O intervalo para o recalculamento de lucros não realizados. O valor por omissão é de 1 minuto.
public bool UnsubscribeOnStop { get; set; }
value = strategy.UnsubscribeOnStop
strategy.UnsubscribeOnStop = value
Desscrever toda a subscrição activa enquanto a estratégia se torna parada.
public virtual decimal Volume { get; set; }
value = strategy.Volume
strategy.Volume = value
Volume operacional.
public bool WaitAllTrades { get; set; }
value = strategy.WaitAllTrades
strategy.WaitAllTrades = value
Pare estratégia apenas depois de obter todas as transações por ordens registradas.
public bool WaitRulesOnStop { get; set; }
value = strategy.WaitRulesOnStop
strategy.WaitRulesOnStop = value
Regras de espera para terminar antes que a estratégia se torne em estado parado.
public WorkingTime WorkingTime { get; set; }
value = strategy.WorkingTime
strategy.WorkingTime = value
O limite temporal, no qual as velas para dar séries serão traduzidas.
Métodos
protected void Alert(AlertNotifications type, string message)
strategy.Alert(type, message)
Enviar notificação de alerta com o nome da estratégia como legenda.
- type
- Tipo de alerta.
- message
- Mensagem de alerta.
protected void Alert(AlertNotifications type, string caption, string message)
strategy.Alert(type, caption, message)
Envie uma notificação de alerta.
- type
- Tipo de alerta.
- caption
- Cabeçalho de sinal.
- message
- Mensagem de alerta.
protected void AlertLog(string message)
strategy.AlertLog(message)
Enviar notificação de alerta de registo.
- message
- Mensagem de alerta.
protected void AlertPopup(string message)
strategy.AlertPopup(message)
Enviar notificação de alerta de emergência.
- message
- Mensagem de alerta.
protected void AlertSound(string message)
strategy.AlertSound(message)
Enviar notificação de alerta de som.
- message
- Mensagem de alerta.
public virtual void ApplyCommand(CommandMessage cmdMsg)
strategy.ApplyCommand(cmdMsg)
Aplicar o comando de entrada.
- cmdMsg
- A mensagem contém informações sobre o comando para alterar o estado.
public Order BuyLimit(decimal price, decimal? volume, Security security)
result = strategy.BuyLimit(price, volume, security)
Para criar o objeto de ordem inicializado para comprar.
- price
- Price.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
- security
- O instrumento financeiro. Se o valor for passado, então o valor do instrumento financeiro é usado.
Retorna: O objeto de ordem inicializado.
public Order BuyMarket(decimal? volume, Security security)
result = strategy.BuyMarket(volume, security)
Criar objeto inicializado de compra ordem a preço de mercado.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
- security
- O instrumento financeiro. Se o valor for passado, então o valor do instrumento financeiro é usado.
Retorna: O objeto de ordem inicializado.
protected virtual bool CanAttach(Order order)
result = strategy.CanAttach(order)
Determina que a ordem especificada pode ser de propriedade da estratégia.
- order
- Ordem.
Retorna: Verificar o resultado.
public void CancelActiveOrders(bool? isStopOrder, Portfolio portfolio, Sides? direction, ExchangeBoard board, Security security, SecurityTypes? securityType, long? transactionId)
strategy.CancelActiveOrders(isStopOrder, portfolio, direction, board, security, securityType, transactionId)
Para cancelar todas as ordens activas (para parar e regular).
- isStopOrder
- , se cancelar apenas uma ordem de paragem, - se ordens regulares, - ambos.
- portfolio
- Portfólio. Se o valor for igual a , então o portfólio não corresponde ao filtro de cancelamento de pedidos.
- direction
- Se o valor for , a direção não é usada.
- board
- Placa de negociação. Se o valor é igual a , então o tabuleiro não corresponde ao filtro de cancelamento de ordens.
- security
- Instrumento. Se o valor for igual a , então o instrumento não corresponde ao filtro de cancelamento de ordens.
- securityType
- Tipo de instrumento financeiro. Se o valor for , o tipo não utiliza.
- transactionId
- Id de transação de cancelamento de pedidos.
public void CancelOrder(Order order)
strategy.CancelOrder(order)
Cancele a ordem.
- order
- A ordem que deve ser cancelada.
public void CancelTargetPosition(Security security, Portfolio portfolio)
strategy.CancelTargetPosition(security, portfolio)
Cancelar a posição-alvo para o instrumento financeiro e carteira específicos.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
public void CancelTargetPosition()
strategy.CancelTargetPosition()
Cancelar a posição-alvo para o instrumento financeiro da estratégia e Portfólio.
protected virtual bool CanTrade(Security security, Portfolio portfolio, Sides side, decimal volume, string noTradeReason)
result = strategy.CanTrade(security, portfolio, side, volume, noTradeReason)
Verifique se pode trocar com informações de ordem.
- security
- Instrumento financeiro para o comércio.
- portfolio
- Portfólio para o comércio.
- side
- Ordem.
- volume
- Volume de encomenda.
- noTradeReason
- Razão pela qual a negociação não é permitida.
Retorna: É verdade se for permitida a negociação.
public virtual Strategy Clone()
result = strategy.Clone()
Cria uma cópia profunda de DataSeries
public Order ClosePosition(Security security, Portfolio portfolio)
result = strategy.ClosePosition(security, portfolio)
Fechar a posição aberta por mercado (para registrar a ordem do tipo Mercado).
- security
- instrumento financeiro. Se não for passado o valor do instrumento financeiro será obtido.
- portfolio
- Portfólio. Se não passar o valor da Portfólio será obtido.
Retorna: O objeto de ordem inicializado.
protected virtual void CopyTo(Strategy copy)
strategy.CopyTo(copy)
Copiar as configurações para .
- copy
- Estratégia
protected IChartArea CreateChartArea()
result = strategy.CreateChartArea()
Criar área de gráfico.
Retorna: IChartArea
protected virtual Strategy CreateClone()
result = strategy.CreateClone()
Criar objeto clone (não iniciado).
Retorna: Estratégia
public Order CreateOrder(Sides side, decimal price, decimal? volume)
result = strategy.CreateOrder(side, price, volume)
Para criar o objeto de ordem inicializada.
- side
- Ordem.
- price
- O preço. Se o valor for passado, a ordem é registrada ao preço de mercado.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
Retorna: O objeto de ordem inicializado.
protected ITimerHandler CreateTimer(TimeSpan interval, Action callback)
result = strategy.CreateTimer(interval, callback)
Criar um timer que execute a chamada de volta em intervalos especificados.
- interval
- Intervalo de tempo.
- callback
- Chamada para execução.
Retorna: ITimerHandler
protected override void DisposeManaged()
strategy.DisposeManaged()
Libertar recursos.
protected IChartCandleElement DrawCandles(IChartArea area, Subscription subscription)
result = strategy.DrawCandles(area, subscription)
Desenhar velas no gráfico.
- area
- IChartArea
- subscription
- Assinatura
Retorna: IChartCandleElement
protected IChartCandleElement DrawCandles<T>(IChartArea area, ISubscriptionHandler<T> subscription)
result = strategy.DrawCandles(area, subscription)
Desenhar velas no gráfico.
- area
- IChartArea
- subscription
- SubscriptionHandler
Retorna: IChartCandleElement
protected IChartIndicatorElement DrawIndicator(IChartArea area, IIndicator indicator, Color? color, Color? additionalColor)
result = strategy.DrawIndicator(area, indicator, color, additionalColor)
Desenhar indicador no gráfico.
- area
- IChartArea
- indicator
- Indicador
- color
- Cor
- additionalColor
- AdditionalColor
Retorna: IChartIndicatorElement
public void DrawOrderBook(Subscription subscription, IOrderBookSource source, IOrderBookMessage book)
strategy.DrawOrderBook(subscription, source, book)
Desenhar IOrderBookMessage.
- subscription
- Assinatura
- source
- IOrderBookSource
- book
- IOrderBookMessage
public void DrawOrderBookOrder(Subscription subscription, IOrderBookSource source, Order order)
strategy.DrawOrderBookOrder(subscription, source, order)
Desenhar a ordem do livro de ordens.
- subscription
- Assinatura
- source
- IOrderBookSource
- order
- Ordem.
public void DrawOrderBookOrderFail(Subscription subscription, IOrderBookSource source, OrderFail fail)
strategy.DrawOrderBookOrderFail(subscription, source, fail)
Falha no desenho da ordem do livro de ordens.
- subscription
- Assinatura
- source
- IOrderBookSource
- fail
- Falha na ordem.
protected IChartOrderElement DrawOrders(IChartArea area)
result = strategy.DrawOrders(area)
Desenhe ordens no gráfico.
- area
- IChartArea
Retorna: IChartOrderElement
protected IChartTradeElement DrawOwnTrades(IChartArea area)
result = strategy.DrawOwnTrades(area)
Desenhar as trocas no gráfico.
- area
- IChartArea
Retorna: IChartTradeElement
public void EditOrder(Order order, Order changes)
strategy.EditOrder(order, changes)
Edite a ordem.
- order
- Ordem.
- changes
- Mudança de ordem.
private void EnsureOrderMetadata(Order order, DateTime fallbackTime)
strategy.EnsureOrderMetadata(order, fallbackTime)
Garante que a ordem tenha metadados necessários pelas superfícies de estratégia.
- order
- Ordem.
- fallbackTime
- Hora de voltar.
public IAlertNotificationService GetAlertService()
result = strategy.GetAlertService()
Para obter o IAlertNotificationService associado à estratégia passada.
Retorna: Serviço de notificação de alerta.
public IChart GetChart()
result = strategy.GetChart()
Para obter o IChart associado com a estratégia passada.
Retorna: Gráfico.
public IOptionDesk GetOptionDesk()
result = strategy.GetOptionDesk()
Para obter o IOptionDesk.
Retorna: IOptionDesk.
public IOptionPositionChart GetOptionPositionChart()
result = strategy.GetOptionPositionChart()
Para obter o IOptionPositionChart associado à estratégia passada.
Retorna: Gráfico.
public virtual IStrategyParam[] GetParameters()
result = strategy.GetParameters()
Arranja parâmetros.
Retorna: Parâmetros.
public Portfolio GetPortfolio()
result = strategy.GetPortfolio()
Obter Portfólio ou lançar InvalidOperationExceptionse não estiver presente.
Retorna: Portfólio
public decimal? GetPositionValue(Security security, Portfolio portfolio)
result = strategy.GetPositionValue(security, portfolio)
Ponham-se em posição.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
Retorna: Posição.
public Security GetSecurity()
result = strategy.GetSecurity()
Obter instrumento financeiro ou lançar InvalidOperationException se não presente.
Retorna: instrumento financeiro
public T GetSecurityValue<T>(Level1Fields field)
result = strategy.GetSecurityValue(field)
Obter o valor dos dados de mercado para o instrumento estratégico.
- field
- Campo de dados de mercado.
Retorna: O valor do campo. Se não houver dados, o valor será devolvido.
protected TValue GetStatValue<TParam, TValue>(TValue fallback)
result = strategy.GetStatValue(fallback)
Obter o valor de um parâmetro estatístico por seu tipo.
- fallback
- Valor de retrocesso se o parâmetro não for encontrado.
Retorna: O valor do parâmetro ou .
public decimal? GetTargetPosition(Security security, Portfolio portfolio)
result = strategy.GetTargetPosition(security, portfolio)
Obter posição de destino para o instrumento financeiro e carteira especificados.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
Retorna: Posição do alvo, ou nulo se não estiver definido.
public decimal? GetTargetPosition()
result = strategy.GetTargetPosition()
Obter posição de alvo para o instrumento financeiro da estratégia e Portfólio.
Retorna: Posição do alvo, ou nulo se não estiver definido.
public virtual IEnumerable<Portfolio> GetWorkingPortfolios()
result = strategy.GetWorkingPortfolios()
Obtenha todos os portfólios necessários para a estratégia.
Retorna: Portfólios.
public virtual IEnumerable<ValueTuple<Security, DataType>> GetWorkingSecurities()
result = strategy.GetWorkingSecurities()
Obter todos os instrumentos financeiros necessários para a estratégia.
Retorna: Instrumentos financeiros.
public bool IsFormedAndOnline()
result = strategy.IsFormedAndOnline()
IsFormed e IsOnline.
Retorna: Verificar o resultado.
public bool IsFormedAndOnlineAndAllowTrading(StrategyTradingModes required)
result = strategy.IsFormedAndOnlineAndAllowTrading(required)
IsFormedAndOnline e TradingMode.
- required
- Acção necessária.
Retorna: Verificar o resultado.
public bool? IsOrderEditable(Order order)
result = strategy.IsOrderEditable(order)
Determina que a ordem especificada pode ser editada por Ordem).
- order
- Ordem.
Retorna: se a ordem for editável, a ordem não pode ser alterada, significa nenhuma informação.
public bool? IsOrderReplaceable(Order order)
result = strategy.IsOrderReplaceable(order)
Determina que a ordem especificada pode ser substituída por Ordem).
- order
- Ordem.
Retorna: Se a ordem for substituível, a ordem não pode ser substituída, significa que não há informação.
public override void Load(SettingsStorage storage)
strategy.Load(storage)
Carregar as configurações.
- storage
- Configuração do armazenamento.
public ValueTask<Security> LookupByIdAsync(SecurityId id, CancellationToken cancellationToken)
result = strategy.LookupByIdAsync(id, cancellationToken)
Para obter o instrumento pelo identificador.
- id
- ID do instrumento financeiro.
- cancellationToken
- CancellationToken
Retorna: O instrumento obtido. Se não houver instrumento por critérios, é devolvido.
protected virtual void OnError(Strategy strategy, Exception error)
strategy.OnError(strategy, error)
O processamento de erros ocorreu como resultado da operação da estratégia.
- strategy
- Estratégia.
- error
- Erro.
protected virtual void OnOrderReceived(Order order)
strategy.OnOrderReceived(order)
Ordem recebida.
- order
- Ordem
protected virtual void OnOrderRegistered(Order order)
strategy.OnOrderRegistered(order)
Chamar o evento OrderRegistered.
- order
- Ordem.
protected virtual void OnOrderRegisterFailed(OrderFail fail, bool calcRisk)
strategy.OnOrderRegisterFailed(fail, calcRisk)
O método, chamado no erro de registro de ordem de estratégia.
- fail
- Erro ao registar a ordem.
- calcRisk
- Invocar gerente de risco.
protected virtual void OnOrderRegistering(Order order)
strategy.OnOrderRegistering(order)
Chamar o evento OrderRegistering.
- order
- Ordem.
protected virtual void OnOrderReRegistering(Order oldOrder, Order newOrder)
strategy.OnOrderReRegistering(oldOrder, newOrder)
Chamar o evento OrderReRegistering.
- oldOrder
- Cancelando ordem.
- newOrder
- Nova ordem para se registar.
protected virtual void OnOwnTradeReceived(MyTrade trade)
strategy.OnOwnTradeReceived(trade)
Comércio próprio recebido.
- trade
- MyTrade
protected virtual void OnPositionReceived(Position position)
strategy.OnPositionReceived(position)
Posição recebida.
- position
- Posição
protected virtual void OnStarted(DateTimeOffset time)
strategy.OnStarted(time)
O método é chamado quando o método Iniciar foi chamado e o estado ProcessState foi tomado o valor Iniciado.
protected virtual void OnStarted()
strategy.OnStarted()
O método é chamado quando o método Iniciar foi chamado e o estado ProcessState foi tomado o valor Iniciado.
protected virtual void OnStarted2(DateTime time)
strategy.OnStarted2(time)
O método é chamado quando o método Iniciar foi chamado e o estado ProcessState foi tomado o valor Iniciado.
protected virtual void OnStopped()
strategy.OnStopped()
O método é chamado quando o estado de processo ProcessState foi tomado o valor parado.
protected virtual void OnStopping()
strategy.OnStopping()
O método é chamado quando o estado de processo ProcessState foi tomado o valor de Parar.
public StrategyParam<T> Param<T>(string id, T initialValue)
result = strategy.Param(id, initialValue)
Inicializa uma nova instância do StrategyParam.
- id
- Identificador do parâmetro.
- initialValue
- O valor inicial.
Retorna: O parâmetro de estratégia.
public void Prepare()
strategy.Prepare()
Prepare dados para geração de relatórios. Chame isso antes de acessar qualquer dado para garantir que todos os valores estão atualizados.
private void ProcessOrder(Order order, bool isChanging)
strategy.ProcessOrder(order, isChanging)
Adicionar a ordem à estratégia.
- order
- Ordem.
- isChanging
- A ordem veio do evento de mudança.
public void RaiseParametersChanged(string name)
strategy.RaiseParametersChanged(name)
Chamar eventos ParametersChanged e PropertyChanged.
- name
- Nome do parâmetro.
protected void RaiseProcessStateChanged(Strategy strategy)
strategy.RaiseProcessStateChanged(strategy)
Chamar o evento ProcessStateChanged.
- strategy
- Estratégia.
private void RaiseReseted()
strategy.RaiseReseted()
Para chamar o evento de Reiniciado.
public void RegisterOrder(Order order)
strategy.RegisterOrder(order)
Registre nova ordem.
- order
- Dados do registo.
public void ReRegisterOrder(Order oldOrder, Order newOrder)
strategy.ReRegisterOrder(oldOrder, newOrder)
Registre novamente a ordem.
- oldOrder
- Cancelando ordem.
- newOrder
- Nova ordem para se registar.
public void Reset()
strategy.Reset()
Para reiniciar o algoritmo de comércio. É chamado após a inicialização do objeto de estratégia e parâmetros armazenados de carregamento.
public IConnector SafeGetConnector()
result = strategy.SafeGetConnector()
Para obter a estratégia recebendo Connector. Se ela não for inicializada, a exceção será descartada.
Retorna: Connector.
public void Save(SettingsStorage storage, bool saveStatistics, bool saveSystemParameters)
strategy.Save(storage, saveStatistics, saveSystemParameters)
Gravar as definições.
- storage
- SettingsStorage
- saveStatistics
- KeepStatistics
- saveSystemParameters
- Gravar os parâmetros do sistema.
public override void Save(SettingsStorage storage)
strategy.Save(storage)
Gravar as definições.
- storage
- Configuração do armazenamento.
public Order SellLimit(decimal price, decimal? volume, Security security)
result = strategy.SellLimit(price, volume, security)
Para criar o objeto de ordem inicializado para vender.
- price
- Price.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
- security
- O instrumento financeiro. Se o valor for passado, então o valor do instrumento financeiro é usado.
Retorna: O objeto de ordem inicializado.
public Order SellMarket(decimal? volume, Security security)
result = strategy.SellMarket(volume, security)
Criar o objeto de ordem inicializada de venda a preço de mercado.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
- security
- O instrumento financeiro. Se o valor for passado, então o valor do instrumento financeiro é usado.
Retorna: O objeto de ordem inicializado.
public void SetAlertService(IAlertNotificationService service)
strategy.SetAlertService(service)
Para definir um IAlertNotificationService para a estratégia.
- service
- Serviço de notificação de alerta.
public void SetChart(IChart chart)
strategy.SetChart(chart)
Para definir um IChart para a estratégia.
- chart
- Gráfico.
public void SetOptionDesk(IOptionDesk desk)
strategy.SetOptionDesk(desk)
Para definir o IOptionDesk.
- desk
- IOptionDesk.
public void SetOptionPositionChart(IOptionPositionChart chart)
strategy.SetOptionPositionChart(chart)
Para definir um IChart para a estratégia.
- chart
- Gráfico.
public void SetPositionValue(Security security, Portfolio portfolio, decimal value, DateTime time)
strategy.SetPositionValue(security, portfolio, value, time)
Definam posição.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
- value
- Posição.
- time
- Timetamp para atribuir em LocalTime e ServerTime se a posição for criada de novo.
public void SetTargetPosition(decimal target)
strategy.SetTargetPosition(target)
Definir a posição-alvo para o instrumento financeiro da estratégia e Portfólio.
- target
- Valor da posição do alvo.
public void SetTargetPosition(Security security, Portfolio portfolio, decimal target)
strategy.SetTargetPosition(security, portfolio, target)
Definir a posição-alvo para o instrumento financeiro e carteira específicos.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
- target
- Valor da posição do alvo.
protected void StartProtection(Unit takeProfit, Unit stopLoss, bool isStopTrailing, TimeSpan? takeTimeout, TimeSpan? stopTimeout, bool useMarketOrders, bool isLocalStop)
strategy.StartProtection(takeProfit, stopLoss, isStopTrailing, takeTimeout, stopTimeout, useMarketOrders, isLocalStop)
Iniciar protecção de posição.
- takeProfit
- Tirar offset.
- stopLoss
- Parar offset.
- isStopTrailing
- Se deve usar uma técnica de rastreamento.
- takeTimeout
- Se a protecção não tiver funcionado até esta data, a posição será encerrada no mercado.
- stopTimeout
- Se a protecção não tiver funcionado até esta data, a posição será encerrada no mercado.
- useMarketOrders
- Se deve utilizar as ordens de mercado.
- isLocalStop
- Forçar o processamento local a parar, independentemente dos recursos do adaptador.
protected ITimerHandler StartTimer(TimeSpan interval, Action callback)
result = strategy.StartTimer(interval, callback)
Crie um timer que execute a chamada de volta em intervalos especificados e o inicie imediatamente.
- interval
- Intervalo de tempo.
- callback
- Chamada para execução.
Retorna: ITimerHandler
public void Stop(Exception error)
strategy.Stop(error)
Para parar o algoritmo de comércio por erro.
- error
- Erro.
public void Subscribe(Subscription subscription)
strategy.Subscribe(subscription)
Assina.
- subscription
- Assinatura.
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(Subscription subscription)
result = strategy.SubscribeCandles(subscription)
Assinar as velas.
- subscription
- Assinatura
Retorna: SubscriptionHandler
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(DataType dt, bool isFinishedOnly, Security security)
result = strategy.SubscribeCandles(dt, isFinishedOnly, security)
Assinar as velas.
- dt
- DataType
- isFinishedOnly
- IsFinishedOnly
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(TimeSpan tf, bool isFinishedOnly, Security security)
result = strategy.SubscribeCandles(tf, isFinishedOnly, security)
Assinar as velas.
- tf
- Tempo-limite.
- isFinishedOnly
- IsFinishedOnly
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected ISubscriptionHandler<Level1ChangeMessage> SubscribeLevel1(Subscription subscription)
result = strategy.SubscribeLevel1(subscription)
Subscreva o Nível 1.
- subscription
- Assinatura
Retorna: SubscriptionHandler
protected ISubscriptionHandler<Level1ChangeMessage> SubscribeLevel1(Security security)
result = strategy.SubscribeLevel1(security)
Subscreva o Nível 1.
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected ISubscriptionHandler<IOrderBookMessage> SubscribeOrderBook(Subscription subscription)
result = strategy.SubscribeOrderBook(subscription)
Subscrever MarketDepth.
- subscription
- Assinatura
Retorna: SubscriptionHandler
protected ISubscriptionHandler<IOrderBookMessage> SubscribeOrderBook(Security security)
result = strategy.SubscribeOrderBook(security)
Subscrever MarketDepth.
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected ISubscriptionHandler<ITickTradeMessage> SubscribeTicks(Subscription subscription)
result = strategy.SubscribeTicks(subscription)
Assinar o Ticks.
- subscription
- Assinatura
Retorna: SubscriptionHandler
protected ISubscriptionHandler<ITickTradeMessage> SubscribeTicks(Security security)
result = strategy.SubscribeTicks(security)
Assinar o Ticks.
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected virtual object ToReportValue(object value)
result = strategy.ToReportValue(value)
Para converter valor do parâmetro para o valor do relatório.
- value
- O valor do parâmetro.
Retorna: O valor do relatório.
public bool TryAddMyTrade(MyTrade trade)
result = strategy.TryAddMyTrade(trade)
Tente adicionar o próprio comércio.
- trade
- MyTrade
Retorna: Resultado da operação.
public void UnSubscribe(Subscription subscription)
strategy.UnSubscribe(subscription)
Cancelar a inscrição.
- subscription
- Assinatura.
Eventos
public event Action<Subscription, ExchangeBoard> BoardReceived
strategy.BoardReceived += handler
ExchangeBoard recebido.
public event Action<Subscription, ICandleMessage> CandleReceived
strategy.CandleReceived += handler
ICandleMessage recebido.
public event Action CommissionChanged
strategy.CommissionChanged += handler
A Comissão tem vindo a alterar o seu comportamento.
public event Action ConnectorChanged
strategy.ConnectorChanged += handler
O evento de mudança de conexão de estratégia.
public event Action<TimeSpan> CurrentTimeChanged
strategy.CurrentTimeChanged += handler
O tempo de servidor mudou CurrentTime. Passou a diferença de tempo desde a última chamada do evento. A primeira vez que o evento passa o valor Zero.
public event Action<Subscription, DataType> DataTypeReceived
strategy.DataTypeReceived += handler
DataType recebido.
public event Action<Strategy, Exception> Error
strategy.Error += handler
O evento de ocorrência de erro na estratégia.
public event Action<Strategy> IsOnlineChanged
strategy.IsOnlineChanged += handler
O evento de mudança de estado de estratégia online.
public event Action LatencyChanged
strategy.LatencyChanged += handler
O evento de mudança de latência.
public event Action<Subscription, Level1ChangeMessage> Level1Received
strategy.Level1Received += handler
Level1ChangeMessage recebido.
public event Action<MyTrade> NewMyTrade
strategy.NewMyTrade += handler
Comércio próprio recebido.
public event Action<Subscription, News> NewsReceived
strategy.NewsReceived += handler
Notícias recebidas.
public event Action<Subscription, IOrderBookSource, IOrderBookMessage> OrderBookDrawing
strategy.OrderBookDrawing += handler
IOrderBookMessage).
public event Action<Subscription, IOrderBookSource, Order> OrderBookDrawingOrder
strategy.OrderBookDrawingOrder += handler
Ordem).
public event Action<Subscription, IOrderBookSource, OrderFail> OrderBookDrawingOrderFail
strategy.OrderBookDrawingOrderFail += handler
OrderFail).
public event Action<Subscription, IOrderBookMessage> OrderBookReceived
strategy.OrderBookReceived += handler
IOrderBookMessage recebido.
public event Action<OrderFail> OrderCancelFailed
strategy.OrderCancelFailed += handler
Evento de erro de cancelamento de pedido.
public event Action<Subscription, OrderFail> OrderCancelFailReceived
strategy.OrderCancelFailReceived += handler
OrderFail cancelamento evento.
public event Action<Order> OrderCanceling
strategy.OrderCanceling += handler
O evento de envio de ordem para cancelamento.
public event Action<Order> OrderChanged
strategy.OrderChanged += handler
Ordem alterada (cancelada, combinada).
public event Action<long, Order> OrderEdited
strategy.OrderEdited += handler
Ordem) resultado de evento.
public event Action<long, OrderFail> OrderEditFailed
strategy.OrderEditFailed += handler
Ordem) erro resultado evento.
public event Action<Subscription, OrderFail> OrderEditFailReceived
strategy.OrderEditFailReceived += handler
OrderFail edition event.
public event Action<Subscription, IOrderLogMessage> OrderLogReceived
strategy.OrderLogReceived += handler
IOrderLogMessage recebido.
public event Action<Subscription, Order> OrderReceived
strategy.OrderReceived += handler
Ordem recebida.
public event Action<Order> OrderRegistered
strategy.OrderRegistered += handler
O evento de inscrição bem-sucedida da ordem.
public event Action<OrderFail> OrderRegisterFailed
strategy.OrderRegisterFailed += handler
Evento de erro de registro de encomenda.
public event Action<Subscription, OrderFail> OrderRegisterFailReceived
strategy.OrderRegisterFailReceived += handler
OrderFail inscription event.
public event Action<Order> OrderRegistering
strategy.OrderRegistering += handler
O evento de envio de ordem para registro.
public event Action<Order, Order> OrderReRegistering
strategy.OrderReRegistering += handler
O evento de envio de ordem para re-registo.
public event Action<Subscription, MyTrade> OwnTradeReceived
strategy.OwnTradeReceived += handler
MyTrade recebido.
public event Action ParametersChanged
strategy.ParametersChanged += handler
Os parâmetros mudam o evento.
public event Action<Subscription> PnLReceived
strategy.PnLReceived += handler
PnL change event.
public event Action<Subscription, Portfolio, DateTime, decimal, decimal?, decimal?> PnLReceived2
strategy.PnLReceived2 += handler
PnL change event.
public event Action<Subscription, Portfolio> PortfolioReceived
strategy.PortfolioReceived += handler
Portfólio recebido.
public event Action PositionChanged
strategy.PositionChanged += handler
Mudança de posição.
public event Action<Subscription, Position> PositionReceived
strategy.PositionReceived += handler
Posição recebida.
public event Action<Strategy> ProcessStateChanged
strategy.ProcessStateChanged += handler
ProcessState change event.
public event PropertyChangedEventHandler PropertyChanged
strategy.PropertyChanged += handler
O elemento diagrama propriedades valor mudança evento.
public event Action Reseted
strategy.Reseted += handler
O evento da reinicialização da estratégia.
public event Action<Subscription, Security> SecurityReceived
strategy.SecurityReceived += handler
Instrumento financeiro recebido.
public event Action SlippageChanged
strategy.SlippageChanged += handler
Evento de mudança de página.
public event Action<Subscription, Exception, bool> SubscriptionFailed
strategy.SubscriptionFailed += handler
A assinatura falhou.
public event Action<Subscription> SubscriptionOnline
strategy.SubscriptionOnline += handler
A assinatura está online.
public event Action<Subscription, object> SubscriptionReceived
strategy.SubscriptionReceived += handler
Valor recebido.
public event Action<Subscription> SubscriptionStarted
strategy.SubscriptionStarted += handler
A assinatura está iniciada.
public event Action<Subscription, Exception> SubscriptionStopped
strategy.SubscriptionStopped += handler
A assinatura está interrompida.
public event Action<Subscription, ITickTradeMessage> TickTradeReceived
strategy.TickTradeReceived += handler
ITickTradeMessage recebido.