Usar DLL

Usar DLLs prontas é familiar para quem pretende trabalhar continuamente em ambientes Visual Studio e JetBrains Rider. Esta abordagem oferece várias vantagens em relação à escrita de código dentro do Designer:

  • Editor de código mais avançado em comparação com o editor integrado no Designer.
  • A recompilação do código atualiza automaticamente o conteúdo dentro do Designer.
  • Possibilidade de dividir o código por vários ficheiros (no caso da abordagem de código, só é possível a variante OneFile-OneStrategy).
  • Utilização do depurador.

Criar um projeto no Visual Studio

  1. Para criar uma estratégia no Visual Studio, tem de criar um projeto:

Designer Criação de um cubo DLL no Visual Studio 00

  1. Em seguida, tem de escrever o código da estratégia. Para um início rápido, pode copiar o código SmaStrategy, que é criado como modelo em estratégia a partir de código:

Designer Criação de um cubo DLL no Visual Studio 03

  1. Para compilar o código, inclua o pacote NuGet StockSharp.Algo, que contém a classe base para todas as estratégias: Strategy.

Designer Criação de um cubo DLL no Visual Studio 04

Se a estratégia usar interfaces de gráficos, inclua o pacote NuGet StockSharp.Charting.Interfaces. Estas interfaces não contêm a lógica real dos gráficos e são necessárias apenas para compilar o código. Quando a estratégia é executada no Designer, a renderização real dos gráficos ocorre através destas interfaces.

  1. Depois de criar a estratégia, o projeto tem de ser compilado premindo Compilar solução no separador Compilar.

Designer Criação de um cubo DLL no Visual Studio 01

  1. Por predefinição, no Visual Studio, o projeto é compilado para a pasta …\bin\Debug\net6.0.

Designer Criação de um cubo DLL no Visual Studio 02

Adicionar DLL ao Designer

  1. Adicionar uma estratégia a partir de uma DLL é semelhante a criar uma estratégia a partir de código. Mas, na etapa de definição do tipo de conteúdo, tem de escolher DLL:

Designer_Creation_Strategy_Dll_00

  1. Na janela, tem de especificar o caminho para o assembly (tem de ser compatível com .NET 6.0) e escolher o tipo. Este último passo é necessário porque uma DLL pode conter várias estratégias (ou cubos com indicadores). Depois de clicar em Confirmar, a estratégia será adicionada ao painel Esquema e fica pronta para utilização:

Designer_Creation_Strategy_Dll_01

  1. O lançamento da estratégia em backtest, em live e outras operações funciona de forma semelhante às estratégias criadas a partir de diagramas e código:

Designer_Creation_Strategy_Dll_02