Модуль визуализации для построения торговой стратегии — первый взгляд

Создано: 2019-07-08 09:23:59, Обновлено: 2024-12-23 17:57:33
comments   7
hits   7021

Модуль визуализации для построения торговой стратегии — первый взгляд

Модуль визуализации для построения торговой стратегии — первый взгляд

Визуальное программирование всегда было желанной целью для разработчиков программного обеспечения, даже в области количественной торговли. Потому что подход визуализации «что видишь, то и получаешь» значительно снижает технический порог разработки программирования. Пользователям больше не придется иметь дело с кучей скучного кодирования. Им просто нужно использовать мозги, воображение и логическое мышление, и сосредоточиться на самом бизнесе. Вы можете реализовать любую программу, какую захотите, разве это не удивительно!

Тогда давайте вместе войдем в сферу визуального программирования количественных торговых стратегий!

  • ## Первоначальный изобретатель квантованного визуального программирования

После входа на https://www.fmz.com зарегистрируйте учетную запись (если вы уже зарегистрированы, войдите в систему напрямую) и нажмите: Центр управления->Библиотека политик->Новая политика.

Модуль визуализации для построения торговой стратегии — первый взгляд

Мы видим первоначальную стратегию визуализации. Он выводит только информацию об активах счета настроенной по умолчанию биржи (первый объект биржи, добавленный в бэктест или робот). (Как показано ниже)

Модуль визуализации для построения торговой стратегии — первый взгляд

## Прежде чем начать изучать, как использовать визуализацию, мы должны сначала понять некоторые концепции проектирования визуализации.

  • 1. Сращивание

    Внимательное наблюдение показывает, что все модули имеют шипы (вогнутые) и пазы (выпуклые), что означает, что модули можно «соединять» и «подсоединять». Если функциональные коды, представленные двумя модулями, можно соединить, то они защелкнутся, когда вы приблизите паз и шип двух модулей друг к другу.

    Модуль визуализации для построения торговой стратегии — первый взгляд

  • 2. Настройки и корректировки модуля

    Некоторые модули имеют специальные настройки, например:

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Вы можете перетащить модуль «Проект» слева на модуль «Соединение», чтобы добавить позицию паза и шипа, тем самым добавив позицию для склеивания текста. Таким образом, вы можете внести некоторые изменения и настройки в модуль, нажав на маленькую шестеренку.

  • 3. Входные параметры модуля по умолчанию

    Некоторые модули требуют входных параметров, которые могут быть значениями, строками и т. д. Если вы не добавите переменные в качестве входных параметров модуля, модуль будет выполнен в соответствии с входными параметрами по умолчанию.

    Модуль визуализации для построения торговой стратегии — первый взгляд Такой вычислительный модуль для нахождения квадратных корней выводит результаты вычислений этого модуля. Модуль визуализации для построения торговой стратегии — первый взгляд Как видите, если входной параметр отсутствует, то для вычисления квадратного корня из 9 в качестве входного параметра используется значение по умолчанию 9. Модуль визуализации для построения торговой стратегии — первый взгляд

    Конечно, если вы хотите использовать переменный модуль в качестве входного параметра, вы можете напрямую подключить переменный модуль к положению паза и шипа (выемки). Модуль визуализации для построения торговой стратегии — первый взгляд

  • 4. Операция

    Модуль можно щелкнуть и перетащить левой кнопкой мыши. Модули можно копировать с помощью ctrl + c и вставлять с помощью ctrl + v, так же удобно, как копировать и вставлять код или текст. Масштаб рабочей области можно увеличивать или уменьшать с помощью колесика мыши, при этом масштаб всех модулей будет увеличиваться или уменьшаться. Щелкните и удерживайте пустую область в области операции и перетащите ее, чтобы переместить. В корзине справа хранятся недавно удаленные модули. Самое главное, после сборки модульной стратегии не забудьте нажать «Сохранить».

  • Введение в модуль «Инструменты визуализации»

Вы можете видеть, что в левой части области визуального редактирования имеется множество категорий модулей, и в каждой категории имеется множество доступных визуальных модулей.

Модуль визуализации для построения торговой стратегии — первый взгляд Всего существует 11 категорий.

  • Модуль инструмента:

    Модуль визуализации для построения торговой стратегии — первый взгляд


    • ### 1. Выходная информация:

    Этот модуль обычно используется в сочетании с текстовыми модулями, как показано ниже: Модуль визуализации для построения торговой стратегии — первый взгляд Вы можете ввести строку в модуль класса текста, чтобы при запуске модуля «выходная информация» было выведено содержимое строки в модуле текста. Модуль визуализации для построения торговой стратегии — первый взгляд Бэктестинг: Модуль визуализации для построения торговой стратегии — первый взгляд

    Как код языка JavaScript:

      function main(){
          Log("你好,可视化编程!")
      }
    

    • ### 2. WeChat push:

    Этот модуль выглядит так же, как «Вывод информации», за исключением того, что он выводит информацию и отправляет ее в учетную запись WeChat, привязанную к текущей учетной записи. Модуль визуализации для построения торговой стратегии — первый взгляд Модуль визуализации для построения торговой стратегии — первый взгляд

    Как код языка JavaScript:

      function main () {
          Log("微信推送!@")
      }
    

    • ### 3. Создание исключения

    Модуль исключения throw позволяет программе вызвать ошибку, а затем остановить выполнение программы (без написания кода обработки исключений). Модуль визуализации для построения торговой стратегии — первый взгляд

    Это похоже на стратегию JavaScript, где функция throw «строка для вывода» выполняется непосредственно в основной функции.

      function main () {
          throw "第一句就抛出异常,让程序停止!"
      }
    

    Результаты бэктестинга: Модуль визуализации для построения торговой стратегии — первый взгляд Обычно он чаще используется во время отладки, например, когда вы хотите, чтобы программа остановилась при определенном условии и в этот момент вывела на экран некоторые данные для удобства наблюдения. Или вы можете поместить модуль генерации исключений в поток кода, где могут возникнуть проблемы, чтобы программа могла сообщать об ошибках и обнаруживать некоторые ошибки.


    • ### 4. Спячка

    Модуль гибернации Модуль визуализации для построения торговой стратегии — первый взгляд Как и в политике JavaScript:

      function main () {
          Sleep(1000 * 5)
      }
    

    Протестируйте модуль гибернации: Модуль визуализации для построения торговой стратегии — первый взгляд Результаты бэктестинга: Модуль визуализации для построения торговой стратегии — первый взгляд


    • ### 5. Печатный доход

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Этот модуль аналогичен функции LogProfit API платформы количественной торговли Inventor, он печатает журнал прибыли и автоматически рисует кривую прибыли на основе входных параметров.

    Например: Модуль визуализации для построения торговой стратегии — первый взгляд Результаты бэктестинга показаны ниже: Модуль визуализации для построения торговой стратегии — первый взгляд Соответствующий код политики JavaScript выглядит следующим образом:

      function main () {
          LogProfit(1)
          Sleep(1000 * 5)
          LogProfit(2)
          Sleep(1000 * 5)
          LogProfit(3)
          Sleep(1000 * 5)
          LogProfit(2)
          Sleep(1000 * 5)
          LogProfit(5)
      }
    

    Его можно подключить в любом месте, где вы хотите вывести информацию о доходах.


    • ### 6. Петля

    Модуль визуализации для построения торговой стратегии — первый взгляд Модуль цикла может охватывать ряд соединенных комбинаций модулей и позволять этой комбинации модулей выполняться в цикле.

    тест: Модуль визуализации для построения торговой стратегии — первый взгляд Результаты бэктестинга: Модуль визуализации для построения торговой стратегии — первый взгляд Видно, что после того, как модуль цикла оборачивает комбинацию модулей, состоящую из Print Profit и Sleep, комбинация модулей будет выполняться непрерывно.


    • ### 7. Выполнение цикла каждые N секунд

    Модуль визуализации для построения торговой стратегии — первый взгляд Использование этого модуля в основном такое же, как и у модуля loop, единственное отличие состоит в том, что этот модуль имеет встроенную функцию сна. Модуль визуализации для построения торговой стратегии — первый взгляд


    • ### 8. Точная обработка

    Модуль визуализации для построения торговой стратегии — первый взгляд Этот модуль можно использовать, когда переменные модули или числовые значения должны контролировать точность. Числовое значение входного параметра будет выведено как числовое значение указанных десятичных знаков в соответствии с настройками.

    Например, число 3,1415926535897 обрабатывается с точностью. Модуль визуализации для построения торговой стратегии — первый взгляд

    Бэктестинг показывает: Модуль визуализации для построения торговой стратегии — первый взгляд


    • ### 9. Очистить журнал

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Используется для очистки журналов. В зависимости от входных параметров часть журналов может быть сохранена. Как указано в документации API:

      LogReset()
    

    • ### 10. Очистите журнал доходов.

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Используется для очистки журнала доходов. В зависимости от входных параметров часть журнала может быть сохранена. Как указано в документации API:

      LogProfitReset()
    

    Ниже приведены некоторые часто используемые инструментальные модули.

    • ### 11. Функциональный модуль для получения определенного атрибута рынка

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Этот модуль инструмента необходимо использовать совместно с рыночным модулем в «Типе торгового модуля», как показано на рисунке: Модуль визуализации для построения торговой стратегии — первый взгляд

    Используйте модуль выходной информации для вывода последней цены транзакции на последнем рынке тикеров: Модуль визуализации для построения торговой стратегии — первый взгляд

    Бэктестинг показывает: Модуль визуализации для построения торговой стратегии — первый взгляд

    Как и код стратегии JavaScript:

      function main () {
          Log(exchange.GetTicker().Last)
      }
    
    • ### 12. Модуль получения атрибутов определенного Бара данных K-line

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Этот модуль также необходимо использовать вместе с модулем сбора данных K-line в «Типе торгового модуля».

    Сначала создайте переменный модуль и назовите его: K-line. Модуль визуализации для построения торговой стратегии — первый взгляд Затем получите данные K-line, используйте модуль данных K-line для их получения и назначьте их модулю переменных: «K-line». Модуль визуализации для построения торговой стратегии — первый взгляд Затем используйте модуль длины списка в «Типе модуля списка», чтобы получить длину модуля переменной K-линии, который используется для указания, из какой строки K-линии следует получать данные. Модуль визуализации для построения торговой стратегии — первый взгляд Сшейте, как показано на рисунке: Модуль визуализации для построения торговой стратегии — первый взгляд При запуске бэктеста распечатывается временная метка последнего бара K-линии. Модуль визуализации для построения торговой стратегии — первый взгляд

    • ### 13. Модуль получения данных по заказам в книге заказов

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Его также необходимо использовать вместе с модулем Get Depth Data в «Типе модуля транзакций».

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Установите индекс на 0, установите ордер на продажу и получите информацию о ордере на продажу.

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Как и код стратегии JavaScript:

      function main () {
          Log(exchange.GetDepth().Asks[0])
      }
    
    • ### 14. Модуль для получения определенного атрибута в информации об активе

    Модуль визуализации для построения торговой стратегии — первый взгляд Этот модуль необходимо использовать вместе с модулем «Получить информацию об активах». Модуль визуализации для построения торговой стратегии — первый взгляд

    Например: вывести количество монет, имеющихся на текущем счете. Модуль визуализации для построения торговой стратегии — первый взгляд

    Бэктестинг показывает: Модуль визуализации для построения торговой стратегии — первый взгляд

    Как в стратегии JavaScript:

      function main () {
          Log(exchange.GetAccount().Stocks)
      }
    
    • ### 15. Модуль для получения определенного атрибута в данных заказа

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Этот модуль используется для получения значения определенного атрибута в данных заказа, например, цены или количества первой продажи в книге заказов (пример номер 13). Модуль визуализации для построения торговой стратегии — первый взгляд

    Результаты бэктестинга: Модуль визуализации для построения торговой стратегии — первый взгляд Как в стратегии JavaScript:

      function main () {
          Log(exchange.GetDepth().Asks[0].Price)
      }
    

    Его также можно использовать для получения определенного атрибута в информации о заказе, возвращаемой «Модулем запроса сведений о заказе» (который будет описан в расширенном разделе).

    • ### 16. Модуль получения атрибутов определенной должности в информации о должности

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Аналогично, его следует использовать вместе с “Get Futures Position Module”. Следует отметить, что возвращаемые модулем Get Futures Position данные о позициях представляют собой массив (список), который представляет собой структуру данных, содержащую позиции различных контрактов и направлений. . Поэтому при его использовании необходимо указывать индекс.

    Узнав так много, давайте объединим операцию хеджирования, то есть будем хеджировать как краткосрочные, так и срочные контракты одновременно. Мы делаем положительный арбитражный хедж, то есть открываем короткий форвардный контракт, 1 контракт, и открываем длинный контракт в ближайшей перспективе.

    Модуль визуализации для построения торговой стратегии — первый взгляд

    Результаты бэктестинга: Модуль визуализации для построения торговой стратегии — первый взгляд

Пример стратегии визуализации:

Больше стратегий доступно на сайте: https://www.fmz.com/square

Другие статьи этой серии

Скучное программирование можно легко завершить с помощью строительных блоков. Попробуйте, это очень интересно!