• Реклама: 💰 Пополни свой портфель с минимальной комиссией на Transfer24.pro
  • Добро пожаловать на инвестиционный форум!

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

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Расчет плеча без AccountLaverage для разных инструментов

Retrade

Интересующийся
Регистрация
11.10.2014
Сообщения
9
Реакции
3
Поинты
0.000
Здравствуйте. Как расчитать кредитное плечо по выбранному инструменту, в случае, если брокер изменил плечо для некоторых инструментов.

Например, AccountLaverage выдает по всем инструментам плечо 500, а по GBPUSD брокер снизил до 1:50. Как узнать это плечо расчетной формулой?
 
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
Здравствуйте. Вопрос нужный задали. Особенно важный для тех, кто бездумно использует роботов, и не учитывает, что функция AccountLeverage() возвращает кредитное плечо, которое установлено для торгового счета в целом, но не для отдельного финансового инструмента. А мы-то знаем не по наслышке, что по ряду финансовых инструментов эти плечи у брокеров могут различаться (любят брокеры их менять, например, перед важными событиями), причем, существенно.
Здесь придется определять "истинное" кредитное плечо через функцию информации об инструменте, а именно функцию MarketInfo.
Если в качестве идентификатора запроса для текущего финансового инструмента ( Symbol() ) указать параметр MODE_MARGINREQUIRED:
MarketInfo(Symbol(), MODE_MARGINREQUIRED),
то функция вернет нам размер свободных средств, необходимых для открытия 1 лота на покупку. Причем, размер залога будет рассчитан с учетом "истинного" кредитного плеча, установленного для финансового инструмента.
Отсюда уже можно определить и "истинное" кредитное плечо по конкретному финансовому инструменту, но опять-таки следует использовать еще пару вызовов MarketInfo:
MarketInfo(Symbol(),MODE_TICKVALUE)*Bid/MarketInfo(Symbol(),MODE_MARGINREQUIRED)/MarketInfo(Symbol(),MODE_POINT),
где:
MarketInfo(Symbol(),MODE_TICKVALUE) - размер минимального изменения цены инструмента в валюте депозита,
MarketInfo(Symbol(),MODE_POINT) - pазмер пункта в валюте котировки,
Bid - текущая цена продажи финансового инструмента.

добавлено через 2 часа 8 минут
Кстати, вот такой простенький код будет показывать плечо в верхнем левом углу окна с графиком финансового инструмента:
PHP:
//+------------------------------------------------------------------+
//|                                                real_leverage.mq4 |
//+------------------------------------------------------------------+
#property copyright "Влад Сергеев"
#property link      "http://moneyinnetwork.ru"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()  {
   return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason) {
}

void OnTick()  {
      Comment("Реальное плечо "+Symbol()+": "+DoubleToStr(MarketInfo(Symbol(),MODE_TICKVALUE)*Bid/MarketInfo(Symbol(),MODE_MARGINREQUIRED)/MarketInfo(Symbol(),MODE_POINT),1));
}
 

Вложения

  • real_leverage.zip
    480 байт · Просмотры: 52
Последнее редактирование:
Сверху Снизу