![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Допустим, мой мини-счет имеет маржу в $10 000, и я хочу рискнуть 2% на следующей сделке (то есть просто использовать $200 для покупки <некоторого количества> контрактов).
(Я понимаю, что это ограниченный взгляд на "риск". Меня не интересуют стоп-лосс пипсы, цели прибыли и т.д.].
Используя MetaTrader, я получаю от своего брокера следующую информацию о мини-счете:
accountLeverage = AccountLeverage(); // значение = 200
modeLotSize = MarketInfo("EURUSDm", MODE_LOTSIZE); // значение = 10000
modeLotStep = MarketInfo("EURUSDm", MODE_LOTSTEP); // значение = .01
modeMinLot = MarketInfo("EURUSDm", MODE_MINLOT) ); // значение = .01
ВОПРОС: Как мне рассчитать размер лота для $200? (Было бы полезно знать стоимость лота минимального размера. В данном случае минимальный размер лота составляет .01).
ВОПРОС: Одинакова ли формула расчета размера лота для всех валютных пар?
Заранее большое спасибо.
Я высылаю вам хороший калькулятор размера лота, основанный на эквити, а не на балансе. Лучше, если у вас больше одной сделки.
В документации :
MODE_TICKVALUE
16
Значение тика в валюте депозита
MODE_TICKSIZE
17
Размер тика в пунктах
Для моего пятизначного брокера: mode_tickvalue = 1; mode_ticksize = 0.00001
Так почему все дают эту строку:
Разве это неправильно?
Это неправильно, неправильно сформулировано (?)
Должно быть так: если цифры == 5 И если вы работаете в пунктах, то .....
if (Digits==3 || Digits==5) pipValue *= 10;
если кто-то работает в Point, кому-то нет дела до Pips.
В документации :
MODE_TICKVALUE
16
Значение тика в валюте депозита
MODE_TICKSIZE
17
Размер тика в пунктах
Для моего пятизначного брокера: mode_tickvalue = 1; mode_ticksize = 0.00001
Так почему все дают эту строку:
Разве это неправильно?
Существует Tick, PIP и Point. Все они в целом отличаются друг от друга. Тик - это наименьшее изменение цены. Пункт - это наименьшая котируемая цифра. В валюте пункт определяется как 0,0001 (или для йены 0,01).
На 4-х значном брокере пункт (0.0001) = пункт (0.0001). [JPY 0.01 == 0.01] У брокера с 5 цифрами пункт (0.00001) = 1/10 пункта (0.00010/10). То, что вы указываете дополнительную цифру, не меняет значение пункта. (0.0001 == 0.00010) Советники должны переводить пипсы в пункты (для mq4.) В валютах тик - это пункт. Цена может измениться на наименьшую значащую цифру (1.23456 -> 1.23457).
В металлах тик - это наименьшее изменение, но большее, чем пункт. Если цена может измениться от 123,25 до 123,50, то TickSize будет 0,25, а пункт - 0,01. Пип не имеет никакого значения.
Вот почему вы не используете TickValue сам по себе. Только как соотношение с TickSize. См. DeltaValuePerLot().
Проблема не до конца определена. Если вы говорите, что хотите рисковать 2%, то вы должны зафиксировать одну из переменных: уровень стоп-лосса или объем сделки. Поскольку вы спрашиваете о расчете размера лота, это означает, что вы не хотите фиксировать его, но это требует, чтобы вы заинтересовались пунктами стоп-лосса, хотя вы говорите, что это не так. Если у вас нет стоп-лосса, то рисковать 2% означает взять фиксированный размер лота, например, 1.0, и ждать, пока ваши текущие потери не достигнут 2% от начальной маржи. Здесь, как вы видите, не нужно рассчитывать размер лота.
Как только в поле зрения попадает уровень стоп-лосса, расчет становится простым:
double tradeVolume = AccountFreeMargin() * Risk/100 / ( StopLossPoints * MarketInfo( Symbol(), MODE_TICKVALUE ) );
То есть, учитывая уровень стоп-лосса для любой конкретной сделки, вы всегда будете иметь указанный процент от вашей начальной маржи, потерянной, если стоп-лосс будет взят.
Вы также захотите нормализовать полученное значение с помощью MODE_LOTSTEP и ограничить его с помощью MODE_MINLOT и MODE_MAXLOT.
Как я могу рассчитать размер всех моих открытых ордеров в USD?
Общие правила и лучшие практики форума. -Общий - Форум по программированию на MQL5
Не имеет смысла. Как рассчитать кварту в USD?
Никогда не рискуйте более чем небольшим процентом от вашего счета, конечно, менее 2% на сделку, 6% всего на счет. Риск зависит от вашего начального стоп-лосса, размера лота и стоимости пары. Он не зависит от маржи и кредитного плеча.MODE_TICKVALUE не надежен на не валютных инструментах у многих брокеров - Форум по программированию MQL4 2017.10.10
Есть ли универсальное решение для Tick value? -Валютные пары - Общие вопросы - Форум по программированию MQL5 2018.02.11
Расчет стоимости лота зашкаливает в 100 раз - Форум по программированию MQL5 2019.07.19
Большинство пар стоят около $10 за PIP. Риск в $5 с (очень маленьким) SL в 5 PIP составляет $5/$10/5 или 0.1 лота максимум.
Общие правила и лучшие практики форума. -Общий - Форум по программированию на MQL5
Не имеет смысла. Как рассчитать кварту в USD?
Никогда не рискуйте более чем небольшим процентом от вашего счета, конечно, менее 2% на сделку, 6% всего на счет. Риск зависит от вашего начального стоп-лосса, размера лота и стоимости пары. Он не зависит от маржи и кредитного плеча.MODE_TICKVALUE не надежен на не валютных инструментах у многих брокеров - Форум по программированию MQL4 2017.10.10
Есть ли универсальное решение для Tick value?-Валютные пары - Общие вопросы - Форум по программированию MQL5 2018.02.11
Расчет стоимости лота зашкаливает в 100 раз - Форум по программированию MQL5 2019.07.19
Большинство пар стоят около $10 за PIP. Риск в $5 при (очень маленьком) SL в 5 PIP составляет $5/$10/5 или 0,1 лота максимум.
Я не говорю о риске, я просто хочу знать сумму в USD открытых ордеров.
Я не говорю о риске, я просто хочу знать сумму в USD открытых ордеров.