Обсуждение статьи "Управление позициями: Безопасный пирамидинг с единым стопом в MQL5"

 

Опубликована статья Управление позициями: Безопасный пирамидинг с единым стопом в MQL5:

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

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

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

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


Автор: Tola Moses Hector

 

Здравствуйте, спасибо, что поделились своим советником.

Извините, файл pad должен находиться в папке PyramidEA.

Можете ли вы его отредактировать?

Сохраните в «MQL5\Include\Pyramid\PyramidEngine.mqh».


Сейчас тестирую

 
patrick #:

Здравствуйте, спасибо, что поделились своим советником.

Извините, файл pad должен находиться в папке PyramidEA.

Можете ли вы его отредактировать?

Сохраните файл в папке «MQL5\Include\Pyramid\PyramidEngine.mqh».


Я сейчас тестирую

Здравствуйте, Патрик

Сохраните файл в папке «MQL5\Include\Pyramid\PyramidEngine.mqh».

Это рекомендация, чтобы поддерживать порядок в папке «Include». Просто создайте новую папку с именем «Pyramid» в папке «Include», затем скопируйте два файла .mqh в эту папку — и всё.

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

 
Привет всем, надеюсь, у вас всё хорошо 😊,

— спасибо, Тола, Мозес, Гектор


Спасибо за вашу статью. Я начал работать над управлением позициями,


Бегло просмотрев ваш код, я заметил, что, возможно, есть небольшая проблема с методом GetPositionTicketFromLastDeal() , который использует метод m_trade.ResultDeal(),


если сервер немного задерживается, мы получим 0,


Например, можно использовать цикл while с 10 попытками и коротким интервалом в 50 миллисекунд для каждой попытки

С уважением,
ZeroCafeine 😉

Tola Moses Hector - TOLAHECTORFOREX - Trader's profile
Tola Moses Hector - TOLAHECTORFOREX - Trader's profile
  • 2026.06.30
  • www.mql5.com
Trader's profile