preview
Математические модели в сеточных стратегиях

Математические модели в сеточных стратегиях

MetaTrader 5Торговые системы |
679 1
Aleksej Poljakov
Aleksej Poljakov

Введение

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

Эта стратегия представляет собой специфичный подход к торговле на финансовых рынках, при котором трейдеры размещают ордера на покупку или продажу с заранее определёнными интервалами, формируя своеобразную "сетку" выше или ниже текущей цены. Основная цель сеточной стратегии заключается в получении прибыли от рыночной волатильности. А ее суть — использование колебаний цены в пределах определенного диапазона путем открытия и закрытия позиций на заранее определенных уровнях.

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


Простая сетка

Классическая сеточная стратегия выглядит очень просто. Трейдер задает количество ордеров в сетке и расстояние между их ценами открытия. В нужный момент он открывает сетку ордеров и ждет заслуженной прибыли. Как говорится, все гениальное просто. А хочется чего-то сложного. Сложности начинаются тогда, когда за дело берутся профессионалы. Давайте и мы с вами покажем свой профессионализм, и построим простую сетку из 2 ордеров.

Итак, давайте рассмотрим общую логику открытия сетки. Все мои сигналы говорят, что цена вот-вот должна пойти вверх. Я верю этим сигналам и открываю позицию buy. Но цена редко идет к цели прямым путем. И тут мне в голову приходит гениальная идея — установить еще и ордер buylimit. Моя мотивация такова: если цена отклонится вниз, и сработает этот ордер, то я получу больше прибыли при последующем росте цены.

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

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

Из этого уравнения я могу найти цену, при достижении которой общая прибыль позиций будет равна 0. 

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

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

Здесь, step  — шаг изменения объемов, который можно получить с помощью функции SymbolInfoDouble. Цену открытия ордера я тоже перепишу. Ее можно представить в виде разности между ценой открытия позиции и дистанции:

Теперь начинается самое интересное. На свою стратегию я решил наложить некоторые ограничения:

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

Если объединить эти условия, то у меня получится такой элегантный экстремум:

Это условие выполняется только тогда, когда выполняется равенство:

Расстояние между ценами открытия прямо пропорционально профиту — во сколько раз изменится профит, во столько же раз изменится и расстояние. А вот связь между этим расстоянием и объемами нелинейна — чем больше N, тем сильнее дистанция приближается к половине профита.

Формула, которая у нас получилась, носит более универсальный характер. У нас есть 4 переменные: Lot, N, Profit и Distance. Все они связаны между собой таким уравнением:

Задав значения любых 3 переменных, мы можем без труда получить значение четвертой. Но при этом нам нужно помнить о существовании некоторых ограничений. Так, переменная N должна быть только целым неотрицательным числом. Ограничения на переменные Lot и Distance хорошо описаны в статье "Какие проверки должен пройти робот…". Предположим, что мне нужно найти оптимальное значение переменной N. Я подставляю в уравнение все известные значения и рассчитываю N. После этого мне нужно округлить ее до ближайшего целого значения. Это округление может нарушить условие оптимальности. Для того чтобы этого избежать, я подставлю N в уравнение и пересчитаю значение переменной Profit  — она должна быть положительной, а другие ограничения на нее не действуют.

Так выглядит пример использования такой стратегии.

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


Усложняем сетку

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

С какими ситуациями я могу столкнуться при построении такой сетки:

  • цена сразу пойдет в нужную мне сторону, позиция принесет заданную прибыль, я закрываю позицию и удаляю отложенные ордера;

  • цена сначала пойдет в противоположную сторону, сработает первый отложенный ордер, после этого цена развернется, и получу прибыль от двух позиций;

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

Первый случай тривиальный. Второй мы уже рассмотрели выше. Сейчас нас интересует только третий вариант. У меня добавится несколько новых переменных. Я хочу произвольно выбирать объем второго ордера и расстояние между ценами открытия. Все остальные требования к оптимальности останутся прежними — как можно более быстрое достижение цены закрытия позиций, и максимально возможное расстояние.

Уравнение, связывающее все переменные будет выглядеть так:

Добавление еще одного отложенного ордера позволило улучшить результаты стратегии. Мы на верном пути.

Давайте еще немного усложним эту стратегию и будем выставлять больше отложенных ордеров. При этом мы добавим еще одно усложнение —прибыль при срабатывании того или иного ордера может быть произвольной.

Пусть, lot[0]  — объем позиции, а lot[i]  — объемы ордеров. Dist[i]  — соответствующие дистанции между ценами открытия. Тогда оптимальную дистанцию для заданного ордера можно рассчитать по формуле:

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

Увеличение количества отложенных ордеров может как увеличить прибыльность стратегии, так и привести к значительным убыткам.

И сейчас пришло время обсудить основные преимущества и недостатки сеточных стратегий.

Преимущества

  • За счет пространственного распределения ордеров в рамках определённого диапазона снижается риск потерь. Даже если цена движется против трейдера, всегда есть возможность закрытия позиций с прибылью на других уровнях.

  • Сеточная стратегия может применяться в различных ситуациях — как при росте цены, так и при ее снижении.

  • Такие стратегии дают возможность получать прибыль в условиях нестабильного рынка и высокой волатильности.

Недостатки

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

  • Для эффективного применения этой стратегии трейдеру может потребоваться значительный депозит, чтобы покрыть потенциальные убытки и поддерживать открытые позиции.

  • Если цена постоянно движется в одном направлении, это может привести к существенным убыткам, компенсировать которые может быть крайне трудно.

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

Некоторые недостатки можно преодолеть сравнительно легко. Например, правильно подобранное ограничение убытков может снизить нагрузку на депозит и улучшить результаты трейдинга.

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


Заключение

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

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

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

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

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

К статье приложены следующие файлы.

Название Тип Особенности
Distance скрипт Показывает зависимость дистанции между ценами открытия.
  • Profit  — желаемая прибыль в пунктах.
Скрипт перебирает N от 0 до 100 и рассчитывает оптимальную дистанцию.
EA Double Grid советник Советник строит простую сетку, состоящую из 1 позиции и 1 отложенного ордера. Направление сетки выбирается случайным образом.
  • Lot  — объем позиции;
  • Seed  — инициализирующее число для генератора случайных чисел. Если не равно 0, то последовательность сигналов повторяется;
  • Profit  — желаемый профит в пунктах;
  • N  — количество шагов для увеличения объема ордера;
  • Distance  — расстояние между ценами открытия. Если равно 0, то берется оптимальное значение.
EA Triple Grid советник
Сетка с 2 ордерами.
EA Complex Grid советник
Сетка с 4 ордерами.
EA Complex Grid SL советник
Сетка с ограничением убытков.
  • SL  — максимальный убыток в пунктах.
Прикрепленные файлы |
Distance.mq5 (1.69 KB)
EA_Double_Grid.mq5 (10.04 KB)
EA_Triple_Grid.mq5 (12.29 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (1)
Jack_the_singer
Jack_the_singer | 23 окт. 2025 в 10:29
Вот хорошо, что уважаемый Автор это написал: "Для сеточной стратегии нужны очень хорошие сигналы. Вне зависимости от того, идет торговля по тренду или волатильности, у трейдера должна быть достаточная степень уверенности в будущем развитии событий на рынке."
Разработка инструментария для анализа движения цен (Часть 12): Внешние библиотеки (III) TrendMap Разработка инструментария для анализа движения цен (Часть 12): Внешние библиотеки (III) TrendMap
Движение рынка определяется силами быков и медведей. Существуют определенные уровни, которые рынок соблюдает из-за действующих на них сил. Уровни Фибоначчи и VWAP особенно сильно влияют на поведение рынка. В этой статье мы рассмотрим стратегию, основанную на VWAP и уровнях Фибоначчи для генерации сигналов.
Искусство ведения логов (Часть 5): Оптимизация обработчика с помощью кэширования и ротации Искусство ведения логов (Часть 5): Оптимизация обработчика с помощью кэширования и ротации
В этой статье мы улучшим библиотеку логов путем добавления форматтеров в обработчики, класса CIntervalWatcher для управления циклами выполнения, оптимизации с кэшированием и ротацией файлов, тестов производительности и практических примеров. Благодаря этим улучшениям мы получим эффективную, масштабируемую и адаптируемую систему ведения логов к различным сценариям разработки.
От новичка до эксперта: Создание подробных торговых отчетов с помощью советника Reporting EA От новичка до эксперта: Создание подробных торговых отчетов с помощью советника Reporting EA
В настоящей статье мы подробно рассмотрим усовершенствование деталей торговых отчетов и отправку окончательного документа по электронной почте в формате PDF. Это знаменует собой прогресс по сравнению с нашей предыдущей работой, поскольку мы продолжаем изучать, каким образом использовать возможности MQL5 и Python для создания и планирования торговых отчетов в наиболее удобных и профессиональных форматах. Присоединяйтесь к нам в этой дискуссии, чтобы узнать больше об оптимизации формирования торговых отчетов в экосистеме MQL5.
Автоматизация торговых стратегий на MQL5 (Часть 17): Освоение стратегии скальпинга Grid-Mart с динамической информационной панелью Автоматизация торговых стратегий на MQL5 (Часть 17): Освоение стратегии скальпинга Grid-Mart с динамической информационной панелью
В настоящей статье мы рассмотрим стратегию скальпинга Grid-Mart, автоматизировав ее на MQL5 с помощью динамической информационной панели для получения информации о торговле в режиме реального времени. Мы подробно описываем логику мартингейла на основе сетки, а также функции управления рисками. Мы также проводим тестирование на истории и развертывание для обеспечения надежной работы.