
Изучив предыдущие главы этой серии, вы в основном освоили использование различных типов модулей визуализации. В этой главе мы используем простую, но интересную стратегию, построенную с использованием модулей визуализации.
Суть стратегии заключается в том, чтобы ловить рост и продавать падение, а рынок представляет собой спотовый рынок цифровой валюты, такой как BTC._USDT, на основе текущей цены, когда стратегия работает, если цена растет на определенный процент, определенный процент текущего актива (валюта знаменателя) будет куплен. Аналогично, если цена падает на определенный процент, определенный Процент текущего актива (монеты) будет продан. Предмет.
Прежде чем приступить к сборке, давайте добавим несколько модулей многократного использования.

Как показано на рисунке выше:
В столбце «Библиотека классов» представлены некоторые повторно используемые упакованные библиотеки классов, которые можно использовать после проверки. Выбранная “Библиотека спотовой торговли криптовалютой” - это торговая библиотека для спотового рынка криптовалют. Она обрабатывает сложную логику обнаружения и повтора после размещения заказа (например, как поступить с заказом, который не был выполнен после его размещения и т. д.) ). При построении стратегий опускается значительная часть сложной логики обработки, что очень удобно.

Поскольку идея стратегии очень проста, модули стратегии в совокупности не очень велики. Наше бэктестирование началось в октябре 2018 года. Менее чем за год появились как крупные, так и мелкие потрясения и трендовые рынки, что обеспечило предварительную проверку стратегии. Параметры бэктестинга:

Взгляните на результаты бэктестинга этой стратегии:

Эквивалентная стратегия языка JavaScript также опубликована здесь, и заинтересованные студенты могут ее изучить. Научившись создавать стратегии с использованием визуальных модулей, а также разрабатывать стратегии и использовать различные интерфейсы, я смог очень легко приступить к программной торговле.
Других параметров интерфейса у стратегии нет, и заинтересованные студенты могут ее оптимизировать и расширить.
function main() {
var basePrice = -1
var addRatio = 0.02
while (true) {
var ticker = exchange.GetTicker()
if (basePrice == -1) {
basePrice = ticker.Last
}
if ((ticker.Last - basePrice) > 0 && ((ticker.Last - basePrice) / basePrice > addRatio)) {
var acc = exchange.GetAccount()
var amount = acc.Balance * addRatio / ticker.Last
$.Buy(amount)
basePrice = ticker.Last
}
if ((ticker.Last - basePrice) < 0 && ((basePrice - ticker.Last) / basePrice > addRatio)) {
var acc = exchange.GetAccount()
var amount = acc.Stocks * addRatio
$.Sell(amount)
basePrice = ticker.Last
}
}
}
Интересным моментом этой стратегии является то, что активы счета изначально устанавливаются равными стоимости валюты, например BTC._Торговая пара USDT, текущая цена BTC составляет 10 000, валюта счета выделена 5, затем USDT выделено 50 000
Стратегия нейтрально относится к рыночным условиям и колебаниям цен. Попробуйте выделить меньше USDT и больше монет. Например:

Произошли заметные изменения в бэктестинге.
Вы также можете установить больше USDT и меньше монет.

Соберите модули и попробуйте реализовать свои собственные идеи программируемой торговли.
Пример стратегии визуализации:
Больше стратегий доступно на сайте: https://www.fmz.com/square
Другие статьи этой серии
Скучное программирование можно легко завершить с помощью строительных блоков. Попробуйте, это очень интересно!