Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Contract Sizer: ladder, floor and a breaker that survives a deposit - библиотека для MetaTrader 5
- Просмотров:
- 15
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Программа 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 и сравните столбец «падение».
Ограничение: размер позиции не создаёт преимущества; он лишь умножает уже существующее преимущество. Торговля не ведётся.
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/77079
Position sizing from risk, using the broker's own tick value and volume step
Размер позиции рассчитывается на основе суммы риска, которая определяется исходя из реальной стоимости тика данного символа, размера тика и шага объема, а не исходя из предполагаемой стоимости пипса. Объем всегда округляется в меньшую сторону, и если ваш риск меньше минимального лота, программа сообщает об этом и указывает фактическую стоимость такого лота. Терминал не требуется, поэтому логику расчёта размера позиции можно протестировать в автономном режиме — в комплект входит тестовый скрипт с 41 утверждением.
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_MCCH
Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.