Crypt Grid
Аннотация
Этот индикатор – конструктор сеток для торговли с использованием ботов. Он использует систему загрузки сигналов, доступных в экосистеме индикаторов SrgArt CLUB.
С помощью этого индикатора вы можете загрузить сигнал из коллекции SrgArt, при необходимости применить дополнительную фильтрацию и протестировать различные сеточные торговые стратегии для этого сигнала.
Для поиска сеток используется конфигурация построения сеток биржи (брокера) Cryptorg. Также есть возможность просмотра и конвертации параметров для сеток Finandy или Veles.
В индикаторе также есть дополнительные функции, которые могут быть полезны на других биржах или торговых API-сервисах, поддерживающих такие возможности. Например, на Finandy все функции индикатора работают отлично.
Детальное описание возможностей.
Визуализация индикатора включает в себя следующие элементы:
- таблицу №1, в которой представлена основная информация о результатах симуляции работы сетки;
- таблицу №2, где можно настроить параметры сетки для работы с Cryptorg, Finandy и Veles (опционально);
- сигнал о начале сделки, который отображается с подсвеченным фоном;
- визуальное расположение ордеров для сетки, представленное белыми линиями;
- жёлтую линию, отображающую среднюю цену позиции;
- зелёную линию, обозначающую уровень тейк-профита;
- красную линию, которая может использоваться для отображения уровня стоп-лосса (опционально);
- синюю линию, которая показывает среднюю цену при срабатывании всех страховочных ордеров (опционально);
- фиолетовую линию, которая может использоваться для отображения уровня ликвидации позиции при работе с кредитным плечом (опционально).
Таблица №1
Таблица содержит следующие элементы:
* Направление торговли (лонг или шорт)
* Используемое кредитное плечо
- **Период** — длительность исследования, которая зависит от количества баров на графике (чем выше подписка на Trading View, тем больше видимый интервал).
- **Количество сделок** — общее количество сделок за видимый период исследования.
- **Закрыты по ТП** — количество сделок, закрытых по тейк-профиту (с прибылью).
- **Закрыты по СЛ** — количество сделок, закрытых по стоп-лоссу (с убытком).
- **Ликвидации** — количество ликвидаций (margincall) при торговле с кредитным плечом.
- **Длительность (сред.)** — средняя длительность сделки.
- **Длительность (макс.)** — максимальная длительность сделки.
- **Макс. просадка (от ср. цены)** — максимальная просадка цены относительно средней цены (с учётом использования страховочных ордеров).
- **Макс. просадка (от ТВХ)** — максимальная просадка цены относительно точки входа в сделку.
- **Шапка «Расчёт стоимости»** — указывает на блок с расчётами стоимости средств на сетку.
- **Первый ордер** — указывает сумму, выделяемую на первый ордер для настроенной сетки (стоимость ордера с учётом кредитных средств).
- **Общая стоимость** — общее количество средств, которое необходимо выделить для работы настроенной сетки.
- **Своих средств** — сколько своих $ необходимо выделить на сетку, чтобы с учётом кредитного плеча все ордера выставились корректно.
- **Шапка «Доходность»** — раздел с данными по доходности (или убыточности) работы по текущим настройкам.
- **Общая доходность** — данные в % и $ по доходности за текущий период, указанный в первой строке данной таблицы.
- **Средняя доходность в месяц** — данные в % и $ по средней доходности в месяц (общая доходность делится на количество месяцев исследуемого периода).
- закрытие с использованием СО - раздел, который указывает количество сделок, которые завершились с определённым количеством страховочных ордеров (или без них). Например, СО-3 = 1 говорит о том, что была всего одна сделка, которая закрылась с использованием трёх страховочных ордеров, а "Без СО" = 13 говорит о том, что было 13 сделок, которые закрылись без использования страховочных ордеров. В правой части таблицы представлены данные о количестве сделок, которые были закрыты с использованием страховочных ордеров, и о количестве сделок, которые были закрыты без их использования.
Например, если в графе «СО-3 = 1» указано число, это означает, что была одна сделка, которая закрылась с использованием трёх страховочных ордеров. А если в графе «Без СО» указано число 13, это говорит о том, что было 13 сделок, закрытых без использования страховочных ордеров.
Таблица №2
Вторую таблицу можно отключить в настройках. Она отображает настройки сетки для выбранной биржи или торговой API-платформы.
- Количество СО (страховочных ордеров).
- Тейк-профит (отступ от средней цены в процентах).
- Стоп-лосс (возможность установки отступа от средней цены в процентах, опционально).
- Мартингейл (коэффициент мартингейла, который может варьироваться от 1 до 2).
- Шаг СО (шаг страховочных ордеров в процентах).
- ДШСО (динамический шаг страховочных ордеров — коэффициент увеличения отступа последующего ордера на основе предыдущего шага).
- Количество ордеров (общее число ордеров, включая первый ордер).
- Тейк-профит (процент от средней цены, на который будет установлен уровень прибыли).
- Стоп-лосс (процент от средней цены, на котором будет установлен уровень убытка).
- Множитель (коэффициент мартингейла).
- Плотность (коэффициент, определяющий плотность размещения ордеров относительно начальной позиции).
- Отступ последнего ордера (процентное расстояние от начальной позиции, на котором будет размещён последний ордер, определяющее ширину всей сетки).
Обратите внимание: эти настройки сетки доступны только при выборе режима торговли «свой» (по умолчанию выбран режим «простой»). В этом режиме для каждого ордера необходимо указать объём средств и отступ.
- Количество ордеров (общее количество ордеров, включая первый).
- Тейк-профит (шаг от средней цены в процентах).
- Стоп-лосс (необязательно, шаг от средней цены в процентах).
- Объём ордеров (слева направо перечислены объёмы каждого ордера, начиная с первого и заканчивая последним, в процентах, с разделителем «|»).
- Отступ ордеров (слева направо перечислены отступы, начиная с первого и заканчивая последним, также в процентах, с разделителем «|»).
Загрузка сигнала
В этой секции есть два поля для загрузки сигналов:
- загрузка сигнала на открытие — необходимо загрузить в график сигнал из коллекции SrgArt, специально предназначенный для этой цели. Сигналы обозначены шестерёнкой в выпадающем списке. Загруженный сигнал открывает позицию в индикаторе;
- загрузка сигнала на закрытие — необязательный параметр, который также можно загрузить. В этом случае сделка будет закрываться при появлении загруженного сигнала (если используется режим торговли в лонг, то при появлении сигнала в шорт).
Обратите внимание: если загружен сигнал на закрытие, то сделка будет закрываться либо по тейк-профиту, либо по сигналу. Если вы хотите работать только на закрытие по сигналу, установите высокое значение тейк-профита, например 100%. Также на закрытие сделки по сигналу влияют дополнительные настройки (они будут описаны ниже).
Параметры сделки
- **Режим торговли** — выбор между «лонг» и «шорт».
- **Количество СО** — это количество страховочных ордеров, которые будут использоваться в торговой сетке. Минимальное количество СО равно нулю, то есть без страховочных ордеров, а максимальное — 20.
- **Плечо** — это соотношение средств, которые вы хотите занять у биржи для сделки, к своим собственным средствам. Плечо влияет на уровень доходности сделок и имеет свою цену ликвидации.
- **Тейк-профит** — это процент, на который выставляется ордер на закрытие позиции в плюс.
- **Стоп-лосс** — это процент, на который выставляется ордер на закрытие позиции в минус. Возле него есть выключатель. Если он включён, то стоп-лосс активен, если нет — торговля будет без стоп-лосса. Также процент стоп-лосса может выставляться в двух режимах: от начальной точки входа и от средней цены (регулируется в дополнительных настройках).
- **Первый ордер** — это сумма в долларах, по которой будет открываться начальная позиция. Он влияет на расчёт стоимости сетки.
- **Мартингейл** — это коэффициент мартингейла, который влияет на расчёт стоимости сетки. Коэффициент умножает объём средств предыдущего ордера на указанное число. Например, если коэффициент равен 2, то каждый последующий ордер будет в два раза больше предыдущего.
- **Шаг СО** — это шаг страховочных ордеров в процентах. Он устанавливает начальное значение отступа страховочного ордера от первого ордера.
- **ДШСО** — это динамический шаг страховочных ордеров, коэффициент, на который умножается шаг каждого страховочного ордера. Например, если ДШСО равен 2, то каждый последующий ордер будет выставляться в два раза дальше, чем предыдущий ордер. А если ДШСО равен 1, то расстояние между всеми страховочными ордерами будет равно установленному шагу СО.
Дополнительные настройки
- **Тайм-аут сделки в барах**:
Если вы активируете эту опцию и установите количество баров, то сделка будет автоматически завершаться по истечении указанного количества баров. Если цена находится в плюсовой зоне, это будет считаться тейк-профитом, а если в минусовой — стоп-лоссом. - **Закрывать сделки только в плюс**:
Эта опция предназначена только для активированного сигнала на закрытие и не влияет на опцию тайм-аута. Если активна эта опция, то сделки будут закрываться только в плюсовой зоне, когда есть закрывающий сигнал. Сигналы, поступающие в минусовой зоне, будут игнорироваться. - **Минимальный процент закрытия только в плюс**:
Это дополнительный параметр для опции «закрывать сделки только в плюс». Он устанавливает минимальный порог для закрытия сделок в плюсовой зоне. Например, если значение равно 0, то сделки будут закрываться в плюс даже на уровне безубытка. Если же значение равно 1, то сделки будут закрываться в плюс, если цена находится выше 1% от линии безубытка (средней цены сделки). - **Режим выставления СЛ**:
Это логика, по которой будет выставляться стоп-лосс. Если выбран пункт «от средней цены», то установленный процент стоп-лосса будет отсчитываться от средней цены сделки (при срабатывании всех СО). Если выбран «от начальной ТВХ», то указанный стоп-лосс будет выставляться на установленный процент от начальной цены сделки.
Обратите внимание, что в таблице с параметрами сетки будет указан только выставленный процент стоп-лосса, а способ установки стоп-лосса вы должны выбрать самостоятельно в настройках.
- **Алерт на срабатывание СО №**:
Это дополнительный и необязательный параметр, который нужен только в том случае, если вы хотите получить оповещение о срабатывании какого-то ордера (который вы указали). Эту настройку также можно использовать для загрузки сигнала, если вы хотите войти в сделку, например, когда в вашей виртуальной сделке сработал последний ордер.
- **Начало расчётов** — это дата и время начальной точки для проведения бэктеста. Обратите внимание, что ограничения действуют только в пределах видимого графика. Например, если график длится две недели, то нельзя выбрать период в один год (за пределами видимого диапазона), поскольку индикатор будет учитывать только видимый диапазон. Однако если у вас есть интервал в год и вы хотите протестировать определённый период, который отображается на графике, то можно установить ограничения и выполнить расчёт только для этого отрезка.
- **Конец расчётов** — это конечная дата и время для диапазона, используемого в бэктесте. Этот параметр также действует только для видимой части графика. Конец расчётов можно использовать, если вы хотите запустить бота на определённый период, например, на одну неделю. В этом случае вы указываете конечную дату, до которой будут генерироваться сигналы, и создаёте алерт для открытия сделки через Crypt. Когда дата и время достигнут конечной точки, сигналы перестанут поступать.
- **Дни недели** — вы можете выбрать и отключить определённые дни недели, в которые не хотите получать сигналы. Например, если вы не хотите, чтобы боты работали в субботу и воскресенье, вы можете снять галочки для этих дней и создать алерт через Crypt для открытия позиции. В этом случае сигналы будут поступать только с понедельника по пятницу.
- **Комиссия** — это процент комиссии, который биржа (брокер) взимает за сработанные ордера.
- **Размер таблицы** — это масштаб двух таблиц, отображаемых на графике. По умолчанию используется автоматический размер, но вы также можете выбрать мелкий, средний или крупный масштаб вручную.
- **Расположение таблицы** — вы можете выбрать, где будет отображаться таблица: справа или слева от графика.
Модуль фильтрации
Модуль фильтрации – это дополнительные настройки для вашего сигнала, которые позволяют устранить появление сигналов в нежелательных местах.
Модуль фильтрации включает в себя следующие фильтры:
1. Ручной фильтр, состоящий из 7 блоков.
2. Фильтр RSI (Relative Strength Index) для анализа относительной силы тренда.
3. Фильтр EMA (Exponential Moving Average), который сглаживает цену за указанный период и помогает выявить тренды.
4. Фильтр флета, который помогает определить периоды бокового движения рынка.
Давайте рассмотрим каждый фильтр подробнее.
Ручной фильтр — это инструмент, который позволяет создать пользовательскую логику фильтрации с учётом загруженных данных. Он состоит из нескольких элементов:
1. Включение ручного фильтра. Этот блок активирует настройки выбранного фильтра. Всего доступно семь таких блоков. Если настроить и включить сразу несколько блоков, будет работать комплексная логика. Например, можно настроить фильтр так, чтобы сигнал появлялся, если цена выше ЕМА-50, а также если значение загруженного ADX больше 50. В этом случае сигнал будет появляться только при соблюдении обоих условий.
2. Замена close №1. В это поле можно загрузить данные с другого индикатора, например, MACD. Вместо цены можно взять медленную скользящую осциллятора, чтобы сравнить её с быстрой скользящей. Это позволит создать более гибкий фильтр.
3. Данные ручного фильтра. В это поле также можно загрузить данные с другого индикатора. Это позволяет сравнивать разные данные между собой для создания логики.
4. Логика. Этот раздел включает в себя выпадающий список и поле для ввода цифровых значений. Выпадающий список предлагает следующие варианты:
— Цена ниже данных индикатора;
— Цена выше данных индикатора;
— Показания индикатора выше Х;
— Показания индикатора ниже Х.
Если вы работаете со скользящими средними или каналами, вам понадобятся пункты 1 и 2. Если вы составляете фильтр по осциллятору, используйте пункты 3 и 4.
Например, чтобы сигнал на открытие сделки появлялся только тогда, когда цена выше ЕМА-50, нужно загрузить в «данные ручного фильтра» ЕМА-50 (предварительно добавить индикатор ЕМА и указать длину = 50), а в разделе «логика» выбрать «цена выше данных индикатора». В этом случае сигнал будет активироваться только при наличии обоих условий.
Если же вы хотите, чтобы сигнал появлялся только тогда, когда цена осциллятора (ADX) выше определённого порога, нужно загрузить в «данные ручного фильтра» ADX (предварительно добавить его на график), в «логике» указать «показания индикатора выше Х» и в поле Х ввести своё значение, например, 50. Таким образом, сигнал будет активироваться только при выполнении обоих условий.
А если вы настроите фильтрацию по обоим условиям и активируете оба блока, сигнал на начало сделки появится только тогда, когда цена будет выше ЕМА-20 и ADX больше 50.
Это готовый к использованию фильтр, который нужно просто активировать, и он начнёт фильтровать сигналы.
Принцип работы фильтра заключается в следующем: мы устанавливаем две границы для индекса относительной силы (RSI) — верхнюю и нижнюю. Все сигналы на покупку (лонг) будут отсеиваться, если они выше нижней границы, а все сигналы на продажу (шорт) — если они ниже верхней границы.
Таким образом, фильтр будет активироваться только при поступлении сигналов, которые находятся в зонах перепроданности (для лонгов) или перекупленности (для шортов).
Вы можете корректировать верхнюю и нижнюю границы по своему усмотрению. Также вы можете указать период RSI, но по умолчанию используется значение 14.
Данный фильтр состоит из двух блоков: EMA №1 и EMA №2. Каждый блок имеет свои настройки:
- Период EMA №1 — длина периода для расчёта скользящей средней.
- Тайм-фрейм расчёта EMA №1 — поле выбора тайм-фрейма для расчёта скользящей средней.
Обратите внимание: использование периода старших тайм-фреймов может привести к перерисовке сигналов. Это происходит потому, что пока свеча старшего ТФ ещё формируется, младший ТФ уже может закрыть несколько свечей. Если показатели старшего ТФ изменятся, то уже нарисованный сигнал может исчезнуть — или наоборот, появиться в прошлом, обычно это происходит в период формирования самой свечи.
- Показать EMA №1 — визуальное отображение скользящей средней.
- Подсветка фона EMA №1 — показывает зелёным цветом те места, где могут быть активны лонговые сигналы, и красным — шортовые.
Если предыдущий фильтр (RSI) нужен для поиска контр-трендовых сигналов, то фильтр EMA нужен для поиска сигналов по тренду.
Блок со второй скользящей работает аналогично. Он нужен для того, чтобы можно было сформировать две скользящие и активировать сигналы по тренду, когда цена находится сразу выше двух скользящих.
Например, можно выставить скользящую с периодом 50 для поиска локального тренда и вторую скользящую с периодом 200 для поиска глобального тренда. Затем активировать два фильтра EMA, и сигналы в лонг будут активны только тогда, когда и локально, и глобально цена находится в тренде. Как только цена проваливается ниже EMA-50, поступающие сигналы будут отфильтрованы.
Этот фильтр помогает избавиться от сигналов, которые возникают во время бокового движения цены, когда она плавно движется в небольшом процентном диапазоне.
Принцип работы фильтра довольно прост. Вы включаете подсветку, чтобы наглядно видеть зону, которую фильтр будет фильтровать. Затем вы задаёте два параметра: период и процент. Период — это количество свечей, за которое фильтр проверяет, находится ли цена в указанном процентном диапазоне. Если цена находится в этом диапазоне, то это зона бокового движения.
Например, если вы работаете с графиком BTC на 15-минутном таймфрейме и хотите, чтобы во время бокового движения не формировались сигналы, вы устанавливаете период 10 и процент 0,5. Фильтр проверяет, изменилась ли цена относительно текущего значения на 0,5% в течение 10 свечей в любую сторону. Если цена не изменилась, то эта зона отфильтровывается.
Этот фильтр необходимо настроить вручную, подобрав подходящие параметры для флета. Имейте в виду, что если общая волатильность актива изменится, установленная зона может работать некорректно.
В любом случае, если вы хотите отфильтровать сигнал по-своему, вы можете использовать ручные фильтры. С их помощью можно с большой вероятностью отфильтровать сигнал, загрузив на график любой индикатор, который вам подходит (например, скользящие средние, каналы или осцилляторы) и указав нужные параметры для фильтров.
Создание оповещений
Если вы через Crypt настроили и отфильтровали свой сигнал, то можете этот на этот сигнал настроить оповещение. Для этого можно щёлкнуть правой кнопкой мыши по таблице и нажать "добавить оповещение для Crypt (Grid)", а в появившемся меню выбрать "открыть сделку" и вы будете получать сигнал каждый раз, когда собранный вами сетап активирует виртуальную сделку (или можете настроить url-вебхуки и по ним давать команду на запуск боту).
Если вы хотите получать уведомления о закрытии сделки или срабатывании конкретного страховочного ордера, вы можете настроить соответствующие сигналы оповещения. Это можно сделать в настройках индикатора.
😎Апгрейд Crypt Grid 🔥
- изменён внешний вид интерфейса настроек на более удобный
- добавлен модуль автозагрузки настроек.
Что такое модуль автозагрузки?
Модуль автозагрузки это набор, состоящий из названия актива, его тайм-фрейма и набора настроек, которые можно установить и при открытии этого актива на указанном тайм-фрейме автоматически будут подгружаться установленные настройки, а не те, что находятся в полях основных настроек.
Проще говоря, можно на разные активы подобрать свои сетки, записать их в модуль автозагрузки настроек и переключаться между активами, сразу наблюдая, как индикатор отрабатывает сделку с указанной вами сеткой.
Всего, в модуле автозагрузки можно записать 20 сетапов на разные активы.
Чтобы сетап автоматически подгружался, необходимо установить галочку напротив названия и ТФ актива (которые тоже нужно указать). Затем, будет окно ввода формализованного текста, который нужно ввести в следующем порядке (шаблон есть в каждом поле):
1) 1 или -1 (Лонг или Шорт) - должна соответствовать направлению режима в основных настройках
4) Стоп-лосс (если = 0, то выключен)
5) Количество страховочных ордеров
7) Динамический шаг страховочных ордеров
Все эти параметры записываются в одну строчку без пробелов, с использованием специального разделителя "|" - который есть в шаблоне.
Таким образом, можно преднастроить разные сетапы, сохранить через настройку "Сделать по-умолчанию" или как шаблон индикатора - и наслаждаться автоматической настройкой сетки при активации нужного вам актива, согласно вашей преднастройки.
😎Апгрейд Crypt Grid 🔥
Небольшое визуальное обновление табличек:
- при автозагрузке настроек, цвет табличек меняется на другой цвет + появляется буква [A] в таблице настроек.
- при появлении ликвидации, ячейка с количеством ликвидаций, перекрашивается в красный цвет