Table of Contents

Использование DLL

Использование готовых DLL привычно для тех, кто хочет постоянно работать в средах Visual Studio и JetBrains Rider. Такой подход дает несколько преимуществ перед написание кода внутри Дизайнера:

  • Расширенный редактор кода по сравнению со встроенным редактором внутри Дизайнер.
  • Перекомпилирование кода автоматически обновляет контент внутри Дизайнера.
  • Возможно разбить код на несколько файлов (в случае подхода кода возможен только вариант ОдинФайл-ОднаСтратегия).
  • Использование отладчика.

Создание проекта в Visual Studio

  1. Чтобы создать стратегию в Visual Studio необходимо необходимо создать проект:

Designer Creating a DLL cube in Visual Studio 00

  1. Далее необходимо написать код стратегии. Для быстрого старта можно скопировать код SmaStrategy, которая создается как шаблон в стратегии из кода:

Designer Creating a DLL cube in Visual Studio 03

  1. Для компилирования кода необходимо подключить NuGet пакет StockSharp.Algo, где находится базовый класс для всех стратегий Strategy:

Designer Creating a DLL cube in Visual Studio 04

Если стратегия использует программные интерфейсы графика, то необходимо подключить и NuGet пакет StockSharp.Charting.Interfaces. Данные интерфейсы не содержат логику реального графика, и необходимы только для компилирования кода. В случае запуска стратегии в Дизайнере через данные интерфейсы будет идти уже реальная отрисовка данных на графике.

  1. После создания стратегии необходимо собрать проект, нажав Собрать решение во вкладке Сборка.

Designer Creating a DLL cube in Visual Studio 01

  1. В Visual Studio по умолчанию проект собирается в папку …\bin\Debug\net6.0 .

Designer Creating a DLL cube in Visual Studio 02

Добавление DLL в Дизайнер

  1. Добавление стратегии из DLL происходит аналогично созданию стратегии из кода. Но на этапе определения типа контента необходимо выбрать DLL:

Designer_Creation_Strategy_Dll_00

  1. В окне необходимо указать путь к сборке (должна быть совместима с .NET 6.0), и выбрать тип. Последнее необходимо, так как в одной DLL может быть сразу несколько стратегий (или кубиков с индикаторами). После нажатия на OK стратегия будет добавлена на панель Схемы и готова к работе:

Designer_Creation_Strategy_Dll_01

  1. Запуск стратегии на бэктест, на live и другие операции - аналогично работе стратегии из схемы и кода:

Designer_Creation_Strategy_Dll_02