В предыдущих главах этой серии, я считаю, что вы в основном освоили использование различных типов модулей визуализации. В этой главе мы используем простую, но интересную стратегию построения модуля визуализации.
Ядро стратегии заключается в том, чтобы преследовать за подъемом и убить падение, и выбрать спотовый рынок цифровой валюты, такой как 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 в настоящее время составляет 10000, валюта счета распределяется на 5, а USDT распределяется на 50000.
Стратегия нейтральна к рыночным условиям, росту и снижению цен. Постарайтесь распределить меньше USDT и больше валют. Например:
Есть очевидные изменения в обратном тесте.
Вы также можете установить больше USDT и меньше валют.
Соберите модуль и попробуйте наши собственные идеи обмена программ вместе.
Примеры стратегий визуализации:
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
Другие изделия из этой серии
Заскучающее программирование можно легко завершить с помощью строительных блоков.