Azgard DCA MAX - бэктестер с подключение любого индикатора на вход и управлением инвестами
Azgard
Плейлист с подключениями торговых стратегий к различным платформам
https://www.youtube.com/playlist?list=PLcEea_sUCV5BnRW6N0P7ZktHOqqdbf3Ew
Никакая информация в статье не может считаться финансовой рекомендацией или торговым советом, никакой ответственности автор не несет. Криптовалюта - высокорисковый рынок и вы можете потерять все свои деньги. Этот индикатор не убережет вас от инвестов, он лишь немного снижает их вероятность. При работе без стопов необходимо соблюдать риск-менеджмент и мани-менеджмент.
Для полноценного понимания работы бэктестера крайне необходимо освежить в памяти следующую информацию:
1) Принцип стратегии DCA https://telegra.ph/dca-strat-07-03
2) Принципы работы с инвестами и подключения индикаторов https://telegra.ph/any-connect-09-06
Бэктестер DCA MAX доступен по подписке. Также есть возможность получить тестовый период и бессрочный доступ ко всем существующим и будущим скриптам.
Пишите на https://t.me/azgard_trade, подписывайтесь на канал https://t.me/azgards_codes и вступайте в группу с документацией по всем продуктам https://t.me/AzgardTS
Ссылка на бэктестер https://www.tradingview.com/script/2rmevd60-Azgard-DCA-MAX/
Обновления 30/05/24 [v5]
- Изменение расчета и визуализации ликвидации
Как и в прошлых версиях, цена ликвидации считается от всей позиции, которая может быть набрана при срабатывании всех усреднений. Но так как в отличие от лимитной сетки мы не можем узнать среднюю цену входа, теперь цена ликвидации корректируется при срабатывании усреднений (1)

Соответственно в таблице данных также произошли изменения. Уровень ликвидации (2) показывается по итоговому значению ликвидации после срабатывания всех усреднений, поэтому теперь называется "со смещением". Минимум цены до ликвидации (3), на который приближается цена в процессе незакрытого трейда, также показывается с учетом смещения цены ликвидации.
Как проверить цену ликвидации

Откройте панель служебной информации TradingView справа по стрелкам в правом верхнем углу.
(1) До начала торговли цена ликвидации (2) считается для точки входа, которая соответствует теоретическому случаю, когда все уровни срабатывают, как лимитные ордера (3). И мы имеем размер депозита при открытии сделки (4). После срабатывания всех усреднений мы имеем позицию (5) и реальную цену входа (6) на момент (7) - положение перекрестия-курсора на незакрытой сделке - после срабатывания всех усреднений, которые и должны подставить в калькулятор.
2. Обновление режима глубокого тестирования

В режиме глубокого тестирования стало отображаться больше информации за весь период бэктеста сразу в записи о последних сделках:
(1) Максимальное значение удаления цены ликвидации от точки входа за весь период тестирования
(2) Минимум расстояния цены до ликвидации (со смещением) за весь период тестирования.
(3) Количество срабатываний каждого из усреднений за весь период тестирования. ВНИМАНИЕ! Это число не равно числу в таблице, так как в таблице показывается количество сделок, завершенных после срабатывания конкретного усреднения, а не общее число срабатываний этого усреднения.
3. Обновление стандартных фильтров
В стандартные фильтры добавлен выбор таймфрейма и для фильтра тренда можно использовать встроенные скользящие из стандартных фильтров.
В результате обновления пп. 1-2 на глубокой истории точнее определяется возможность ликвидации, что позволяет получить более точные результаты и подобрать необходимые параметры для торговли.

По истории сделок мы видим, что максимальное расстояние от точки входа до ликвидации составляло 64,8%, а цена приближалась к ликвидации максимум на половину этого расстояния - 31%. Также видно, сколько раз срабатывали усреднения 1, 2 и 3.

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

Обновления 12/04/24 [v4.5]
1. Улучшена работа настройки шага усреднений по АТР (динамической сетки): при выходе последних ордеров в область отрицательных значений - если настройки ATR и шага уровней усреднений слишком большие - они не отображаются и не вызывают ошибок по ликвидации. Настройки, которые могут привести к такой ситуации, выделены на рисунке ниже

При возникновении неисполнимых ордеров (с ценой меньше нуля), в таблице появляется предупреждение:

Динамическая сетка по ATR может самостоятельно рассчитывать расстояния между уровнями усреднения в зависимости от текущей волатильности: ем она больше, тем больше ширина сетки, и наоборот.
2. Добавлена опция отключения сдвига уровней при срабатывании предыдущих

Вот разница в работе уровней при включенном сдвиге и без сдвига:


Во втором режиме работа стратегии по времени закрытия сделок является средним между лимитной сеткой и работой усреднений по сигналам со сдвигом: усреднения также происходят по сигналам, но расстояние от ТВХ до уровней не увеличивается.
3. Добавлен стоп-лосс от последнего уровня

При включенном сдвиге стоп-лосс отдаляется от ТВХ, при отключенном - остается на одном и том же расстоянии.
Обновление 31/01/24
1. Добавлены новые стандартные фильтры с обязательными к прочтению комментариями:

2. Добавлен перевод сделки в БУ (без учета комиссий) при срабатывании последнего ордера:

3. Определение времени торговой сессии:

Обновление 06/12/23
Видеоинструкция по подключению индикаторов
Большое обновление от 13/10/23
Обновление 02/11/23 до v3.1 - внизу страницы.
Обновление 02/11/23 до v3.1 - внизу страницы.
1. Любой индикатор на вход / усреднение
Появилась возможность подключать для входа любой индикатор, который основан на пересечении каких-либо линий:

Для примера рассмотрим известный "облачный" индикатор в реализации https://www.tradingview.com/script/LIw8jVhm-SuperIchi-LUX-mod-Azgard/

Нам необходимо, чтобы сделка в лонг открывалась каждый раз, когда облако становится голубым. Индикаторы (пока) не умеют передавать и принимать сигналы цвета, но, как правило, цвет заливки зависит от поведения каких-либо кривых на графике:

Если изучить график подробно, то можно увидеть, что цвет меняется при пересечении зеленой и малиновой линий. Это условие можно установить в разделе подключения любого индикатора.


и условие для линий:

Индикатор 1 (в данном пример - линия senkouA) должен пересекать индикатор 2 (в данном пример - линия senkouB) вверх.
Усреднение ставим по этому же сигналу

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


2. Фильтры на входной сигнал
Можно подключить дополнительный фильтр для входного сигнала - например, фильтр волатильности https://www.tradingview.com/script/IcxZYFnL-Relative-Volatility-Azgard-mod/
Индикаторы-фильтры должны выдавать сигналы +1 на шорт и -1 на лонг и открытие сделки будет только при совпадении основного сигнала и сигнала фильтра:

При включении фильтра количество сделок уменьшается, но качество входа растет, т.к. уменьшается количество использованных СО:

Обратите внимание, какое падение цены выдержали настройки, а также на то, что при фильтре по волатильности эта сделка просто не открылась бы, что сказалось на уменьшении среднего времени сделки. Улучшение качества входов в положительную сторону влияет на размер первоначального ордера (ПО).
3. Ограничения ПО
Если настройки сетки СО и размер ПО требуют средств больше баланса, то сделки не запускаются, а объем собственных средств, требующихся для работы бота, подсвечивается красным. Таким же цветом подсвечивается ячейка, если объем собственных средств больше 80% от депозита.


Если объем собственных средств больше 30% от баланса (а в данном скрипте - это средства, выделенные на одного бота), то эта ячейка подсвечивается желтым:

При больших объемах ПО по отношению к депозиту ликвидация находится очень близко к точке входа и при срабатывании всей сетки критически к ней приближается:

4. ATR тейк-профит (или он же ATR стоп-лосс)
Настраивается в секции

Работает следующим образом:

При закрытии свечи выше ТП начинает отслеживаться пересечение вниз уровня трейл-тейка, при пересечении сделка закрывается.
Предусмотрен защитный механизм, обеспечивающий закрытие сделки, если цена сразу разворачивается - сделка закрывается при закрытии первой свечи ниже заданного в настройках фиксированного тейка:

5. Веб-хуки
В версии MAX существует возможность настроить раздельные хуки для входа, усреднения и выхода:

При этом стандартная возможность использования одного хука сохраняется.
Работа хуков проверялась на платформе Finandy и на бирже OKX. Планируются тесты и других платформ.
Разница в использовании одно или трех хуков заключается в следующем: если вы при наличии открытой позиции примете решение больше не открывать сделок по данному инструменту, то при одном хуке не сможете просто отключить алерт: он отвечает также за усреднение и за закрытие, поэтому завершение сделки придется "ловить" другим способом.
При наличии трех различных хуков вы просто отключаете алерт, настроенный на открытие и, при необходимости - на усреднение. Закрывающий хук отработает и позиция закроется.
Настройка на Finandy отличается от описанной в видео тем, что создается не один, а три хука, которые вставляются в соответствующие поля, а на TV создаются три разных алерта


Отработка по трем хукам:


В логах веб-хуков видно их название. Пропущенные сигналы - это сигналы закрытия по ТП нескольких ордеров из бэктеста - их Finandy не обрабатывает, потому что в настройках вебхука на закрытие стоит "закрыть всю позицию", что происходит при первом сигнале от TV.

6. Торговля по дням недели
В процессе тестов заметил, что самые длинные сделки открываются в пятницу, а то и в четверг, а вот в воскресенье вполне можно открывать (для ТФ 5М-1М не существенно). В связи с этим ввел ограничение по дням недели.

Обновление 02/11/23 v3.1
Изменение интерфейса и логики фильтрации
- убраны чек-боксы "использовать как фильтр" - теперь если в меню нет выбранных индикаторов и стоит значение "close", то блок пропускает сигнал от вышестоящих блоков без изменений.
- по-умолчанию для усреднения используется входной сигнал с применением всех фильтров. Для подключения другого сигнала на усреднение необходимо использовать выбор индикатора или подключение любого индикатора. Любой сигнал в этом блоке НЕ фильтрует предыдущий индикатор для усреднения, а заменяет его.
- Добавлен еще один фильтр в формате +-1
- Добавлен индикатор наклона (тренда), при активации которого сделки будут отключаться только по тренду.
Увеличить картинку можно кликнув правой кнопкой -> открыть в новой вкладке -> увеличить.

Автор предупреждает: торговля на бирже сопряжена с риском потери денег. Никакая информация не может считаться инвестиционным или торговым советом. Не используйте в торговле суммы, потеря которых для вас будет ощутимой. Скрипт для платформы TradingView предоставляется "как есть" и может быть изменен без уведомления. Автор не несет ответственности за любой ущерб, полученный в период доступа к данному скрипту. Результаты, полученные на исторических данных, не гарантируют таких же результатов в будущей реальной торговле.