Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

Contract Sizer: ladder, floor and a breaker that survives a deposit - библиотека для MetaTrader 5

Joao Prata Silva Yglesias
Joao Prata Silva Yglesias
Trader and algorithmic developer focused on risk-managed automation for the Forex market. I build Expert Advisors that prioritize capital protection and survivability over hype — real strategies, transparent results, and live monitoring.
| Russian English 中文 Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Просмотров:
15
Рейтинг:
(1)
Опубликован:
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Программа ContractSizer.mqh определяет размер контрактов на основе остатка на счете с использованием трёх отдельных механизмов защиты: «лестницы» (один контракт на каждый фактор остатка, всегда с ограничением по верхнему пределу), «пола» (запрет на торговлю ниже минимального капитала) и «предохранителя» (остановка при достижении определённой доли от пикового значения остатка, причём программа не возобновляет работу самостоятельно).

Пополнения и снятия средств считываются из истории сделок (DEAL_TYPE_BALANCE) и смещают пиковый показатель на ту же сумму, поэтому пополнение, произведённое во время просадки, не скрывает её. Пиковый показатель сохраняется в папке MQL5\Files и сохраняется после перезапуска терминала.

Конструктор: CContractSizer(factor = 3000.0, maxContracts = 500, minContracts = 1, minCapital = 1500.0, maxDD = 0.0, peakFile = "contract_sizer_peak.txt") . Использование: вызывайте ContractsToday(TimeLocal()) при каждом тике; пересчёт производится только при смене дня. Функция CapByBalance() работает даже при ручном задании лотов. Rearm() — это ручное решение.

Параметры для демо-счета: InpBalancePerContract = 3000, InpMinCapital = 1500, InpMaxDrawdown = 0,20, InpDemoDeposit = true.

Демо-версия выводит 12-дневную симулированную траекторию (баланс / пик / падение / контракты / событие) с пополнением депозита в нижней точке просадки, а затем запускает реальный класс на открытом счёте. Запустите его с включённым и выключённым параметром InpDemoDeposit и сравните столбец «падение».

Ограничение: размер позиции не создаёт преимущества; он лишь умножает уже существующее преимущество. Торговля не ведётся.

Демо-версия Contract Sizer: депозит на дне периода просадки

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/77079

Position sizing from risk, using the broker's own tick value and volume step Position sizing from risk, using the broker's own tick value and volume step

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

Daily Range Budget Daily Range Budget

Показывает, какая часть среднего дневного хода (ADR) уже использована сегодня, и рисует две цены, до которых могут дойти сегодняшние максимум и минимум, если день закончится со средним ходом. Shows how much of the average daily range (ADR) has already been used today, and draws the two prices that today's high and low can still reach if the day ends with an average range.

YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя

Скрипт рисует уровни Рудолфа Акселя

YURAZ_MCCH YURAZ_MCCH

Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.