Визуальное программирование всегда было целью разработчиков программного обеспечения, даже в области количественной торговли. Потому что метод "что вы видите, то вы получаете" в визуализации значительно сокращает технический порог разработки программ. Пользователям больше не приходится иметь дело с кучей скучных кодов. Они просто используют свое воображение и логическое мышление, чтобы сосредоточиться на самом бизнесе. Вы можете реализовать любую программу, какую захотите.
Давайте вместе займемся визуальным программированием количественной торговой стратегии!
После входа вhttps://www.fmz.com, зарегистрируйте свою учетную запись (если вы уже зарегистрированы, войдите непосредственно) и нажмите: панель управления -> Стратегия -> Добавить стратегию.
Мы видим первоначальную стратегию визуализации. Он используется только для вывода информации об активах счета на выбранную по умолчанию биржу (первый объект обмена, добавленный на бэкстестесте или роботе). (Смотрите рисунок ниже)
Вы можете перетащить модуль
Модуль расчета квадратного корня выводит результаты расчетов этого модуля.
Как вы можете видеть, если положение параметра ввода является по умолчанию, значение по умолчанию 9 будет использоваться в качестве параметра ввода для расчета корня из 9.
Конечно, если вы хотите использовать переменный модуль в качестве входного параметра, вы можете вставлять переменный модуль прямо в положение тенона (конкавы).
Вы можете видеть, что есть много классификаций модулей на левой стороне области визуального редактирования, и есть много визуальных модулей, доступных в каждом проекте классификации.
Есть 11 категорий.
Модуль использования:
Вы можете ввести строку в модуль текста, так что, когда вы запускаете модуль выходной информации, содержимое строки в текстовом модуле будет напечатано.
Обратное тестирование:
Как код языка JavaScript:
function main(){
Log("Hello, Blockly!")
}
Как код языка JavaScript:
function main () {
Log("WeChat Push!@")
}
Аналогичным образом, в стратегии JavaScript основная функция выполняет функцию
function main () {
throw "The first sentence throws an exception to stop the program!"
}
Результаты обратных испытаний:
Как правило, он используется больше при отлаживании. Например, если вы хотите, чтобы программа остановилась при определенных условиях и напечатала некоторые данные в это время для наблюдения. Или вы можете разместить модуль исключения в потоке кода, где могут возникнуть проблемы, позволить программе сообщать об ошибках и найти некоторые ошибки.
Как в стратегии JavaScript:
function main () {
Sleep(1000 * 5)
}
Испытайте модуль сна:
Результаты обратных испытаний:
Этот модуль, как и API-функция LogProfit на FMZ Quant Trading Platform, которая печатает журнал возвратов и автоматически рисует кривую возврата в соответствии с входными параметрами.
Например:Исполнение обратного тестирования показано на рисунке ниже:
Соответствующий код стратегии 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)
}
Он может быть скрещен в любом положении, где вы хотите вывести информацию возврата.
Испытание:Результаты обратных испытаний:
Мы видим, что комбинация модулей, состоящая из
Исполнение петли каждые N секундИспользование этого модуля в основном то же самое, что и модуля петли. Единственное отличие в том, что модуль имеет свой собственный сон.
Точная обработкаЭтот модуль может быть использован, когда переменный модуль или числовое значение необходимо контролировать точность. Числовое значение входной части параметра будет выводиться как числовое значение указанной десятичной запятой в соответствии с настройками.
Например, точная обработка выполняется на значении 3.1415926535897.
Дисплей обратного тестирования:
Он используется для очистки журналов. Некоторые журналы могут храниться в соответствии с параметрами ввода. Как в документе API:
LogReset()
Он используется для очистки журналов возврата. Как в документе API:
LogProfitReset()
Как код стратегии JavaScript:
function main () {
Log(exchange.GetTicker().Last)
}
Сначала мы создаем модуль переменной под названием K-линия.Затем мы получаем данные K-линии, используем модуль данных K-линии для его получения и присваиваем значение модулю переменной:
Временная марка последней строки K печатается при запуске обратного теста.
Как код стратегии JavaScript:
function main () {
Log(exchange.GetDepth().Asks[0])
}
Как код стратегии JavaScript:
function main () {
Log(exchange.GetAccount().Stocks)
}
Результаты обратных испытаний:
Как код стратегии JavaScript:
function main () {
Log(exchange.GetDepth().Asks[0].Price)
}
Он также может быть использован для получения атрибута в информации о заказе, возвращенной модулем
Учившись так много, давайте объединим операции хеджирования, то есть хеджирования как краткосрочных, так и форвардных контрактов.
Мы делаем положительный арбитраж хеджирования, то есть открыть короткий контракт позиции для форвардного контракта, и открыть длинный контракт позиции для недавнего контракта.
Результаты обратных испытаний:
Примеры стратегий визуализации:
https://www.fmz.com/strategy/121404 https://www.fmz.com/strategy/129895 https://www.fmz.com/strategy/123904 https://www.fmz.com/strategy/122318Более подробные стратегии приведены в:https://www.fmz.com/square
Другие изделия из этой серии
-Визуализационный модуль для создания торговых стратегий - Подробно (https://www.fmz.com/digest-topic/9509) -Визуализационный модуль для создания торговой стратегии - расширенное понимание (https://www.fmz.com/bbs-topic/9815)
Заскучающее программирование можно легко завершить с помощью строительных блоков.