Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Скрипт, расчитан только на форекс
Странно просто, сам мт везде правильно считает у любого брокера. А вот в советнике не удается сделать что-либо универсальное. Может даже у одного брокера считать правильно а у другого нет. Возможно чего-то не учитываю.
Необходимо учитывать плечо(AccountLeverage), размер стандартного лота (MarketInfo(...)), валюту депозита (AccountCurrensy), значение курса для валюты котирования на момент закрытия сделки.
Rosh 23.06.2008 17:31
Возможно, эта ветка поможет - 'AccountStopout.. : опубликуйте пожалуста более подробную документацию'
Там обсуждают вариант подсчета с уже открытой позицией. А нас интересует еще не открытая а просто, если предположить, что по инструменту имеется определенное колличество пунктов, необходимо подсчитать сколько за это колличество пунктов заработает позиция по этому инструменту. Варианты с уже открытой позицией никак не подходят. Странно просто, сам мт везде правильно считает у любого брокера. А вот в советнике не удается сделать что-либо универсальное. Может даже у одного брокера считать правильно а у другого нет. Возможно чего-то не учитываю.
ПОПРОБУЙ ВОТ ЭТО - ЕСЛИ ПОНРАВИТСЯ ПОКАЖУ ФОРМУЛЫ finansovyj-dozor@narod.ru. ПЕРЕДВИГАЙ ЛИНИИ МЫШКОЙ НА НИХ УВИДИШЬ ПРИБЫЛЬ В ПУНКТАХ А В ТЕКСТЕ НА ЭКРАНЕ В БАКСАХ. ЕСЛИ Я НИЧЕГО НЕ ПОПУТАЛ.
ПОПРОБУЙ ВОТ ЭТО - ЕСЛИ ПОНРАВИТСЯ ПОКАЖУ ФОРМУЛЫ finansovyj-dozor@narod.ru. ПЕРЕДВИГАЙ ЛИНИИ МЫШКОЙ НА НИХ УВИДИШЬ ПРИБЫЛЬ В ПУНКТАХ А В ТЕКСТЕ НА ЭКРАНЕ В БАКСАХ. ЕСЛИ Я НИЧЕГО НЕ ПОПУТАЛ.
Форекс показывает, а остальное лажает сильно. Поставь на спотовое золото, там вообще не то пишет.
Необходимо учитывать плечо(AccountLeverage), размер стандартного лота (MarketInfo(...)), валюту депозита (AccountCurrensy), значение курса для валюты котирования на момент закрытия сделки.
От плеча прибыль не должна зависеть вроде. По логике да, нужно переводить в валюту депозита. Но ведь маркетинфо дает необходимые данные и шаг тика в валюте котировки, и в валюте депозита тоже есть. Так же сервер дает информацию через MODE_PROFITCALCMODE по какой формуле нужно подсчитывать прибыль. Нужны просто сами формулы для разных ситуаций и все пойдет. В принципе опытным путем добился адеквата. Хотелось бы конечно реальные данные иметь.
"Реальные данные" для расчёта стоимости пункта на форексе в формулах:
Все валютые пары можно условно разделить на три категории - пары с прямой котировкой (EURUSD, GBPUSD), пары с обратной котировкой (USDJPY, USDCHF) и кросс-курсы (GBPCHF, EURJPY и т.п.).
Для валютных пар с прямой котировкой стоимость пункта, выраженная в долларах, расчитывается по формуле
[pip] = [lot size] × [tick size]
где [lot size] - размер лота; [tick size] - размер тика, например для EURUSD он составляет 0.0001. Для валют с прямой котировкой стоимость пункта постоянна и не зависит от текущей котировки.
Пример.
Для EURUSD размер лота 100000, tick - 0.0001. [pip] = 100000 * 0.0001 = $10.00
Для валютных пар с обратной котировкой:
[pip] = [lot size] × [tick size] / [current quote]
где [current quote] - текущая котировка. Для валютных пар с обратной котировкой стоимость пункта меняется в зависимости от текущей котировки.
Пример.
Для USDJPY размер лота 100000, tick - 0.01. При котировке 129.20, [pip] = 100000 * 0.01 / 129.20 = $7.74
Для кросс-курсов:
[pip] = [lot size] × [tick size] × [base quote] / [current quote]
где [base quote] - текущая котировка базовой (первой) валюты к доллару США.
Пример.
для GBPCHF размер лота составляет 100 тыс. фунтов, базовая валюта GBPUSD; при котировке 2.3000 и базовой котировке 1.4550 стоимость пункта составит 100000 * 0.0001 * 1.4550 / 2.3000 = $6.33.
"Реальные данные" для расчёта стоимости пункта на форексе в формулах:
Все валютые пары можно условно разделить на три категории - пары с прямой котировкой (EURUSD, GBPUSD), пары с обратной котировкой (USDJPY, USDCHF) и кросс-курсы (GBPCHF, EURJPY и т.п.).
Для валютных пар с прямой котировкой стоимость пункта, выраженная в долларах, расчитывается по формуле
[pip] = [lot size] × [tick size]
где [lot size] - размер лота; [tick size] - размер тика, например для EURUSD он составляет 0.0001. Для валют с прямой котировкой стоимость пункта постоянна и не зависит от текущей котировки.
Пример.
Для EURUSD размер лота 100000, tick - 0.0001. [pip] = 100000 * 0.0001 = $10.00
Для валютных пар с обратной котировкой:
[pip] = [lot size] × [tick size] / [current quote]
где [current quote] - текущая котировка. Для валютных пар с обратной котировкой стоимость пункта меняется в зависимости от текущей котировки.
Пример.
Для USDJPY размер лота 100000, tick - 0.01. При котировке 129.20, [pip] = 100000 * 0.01 / 129.20 = $7.74
Для кросс-курсов:
[pip] = [lot size] × [tick size] × [base quote] / [current quote]
где [base quote] - текущая котировка базовой (первой) валюты к доллару США.
Пример.
для GBPCHF размер лота составляет 100 тыс. фунтов, базовая валюта GBPUSD; при котировке 2.3000 и базовой котировке 1.4550 стоимость пункта составит 100000 * 0.0001 * 1.4550 / 2.3000 = $6.33.
Т.Е. для EURUSD pip = MarketInfo (Symbol(),MODE_LOTSIZE)*MarketInfo (Symbol(),MODE_TICKSIZE) ; а если плечо 1:10, а лот 0,01, а Point ??? Формулу можно написать для EURUSD? ---------------------------------------- А ЗАГЛЯНИТЕ СЮДА https://www.mql5.com/en/code/mt4
Т.Е. для EURUSD pip = MarketInfo (Symbol(),MODE_LOTSIZE)*MarketInfo (Symbol(),MODE_TICKSIZE) ; а если плечо 1:10, а лот 0,01, а Point ??? Формулу можно написать для EURUSD? ---------------------------------------- А ЗАГЛЯНИТЕ СЮДА https://www.mql5.com/en/code/mt4
Да, для стандартного лота стоимость пункта будет именно такой. Размер плеча влияет только на маржу. Действительно, вместо TICKSIZE лучше использовать POINT, т.к. он показывает размер пункта, а TICKSIZE - минимальное изменение цены (может быть десятки пунктов как на GOLD). Для форекса TICKSIZE и POINT равны.
Формула для EURUSD:
Индикатор посмотрел - автор попытался учесть не только рынок форекс, но и CFD и фьючерсы. А вот на золоте не работает.
В остальном на вид толково, но опять же надо проверять.
Да, для стандартного лота стоимость пункта будет именно такой. Размер плеча влияет только на маржу. Действительно, вместо TICKSIZE лучше использовать POINT, т.к. он показывает размер пункта, а TICKSIZE - минимальное изменение цены (может быть десятки пунктов как на GOLD). Для форекса TICKSIZE и POINT равны.
Формула для EURUSD:
Индикатор посмотрел - автор попытался учесть не только рынок форекс, но и CFD и фьючерсы. А вот на золоте не работает.
В остальном на вид толково, но опять же надо проверять.
спасибо буду проверять pip = Lot*MarketInfo(Symbol(),MODE_LOTSIZE)*MarketInfo(Symbol(),MODE_POINT);