Как узнать валюту ордера? - страница 3

 
getch >>:

Именно для этого в MT4 есть параметр MODE_TICKVALUE. И валюту ордера знать не нужно. Хотя, как написал выше, ее тоже можно вытащить.

По этому параметру в справке ошибка. (мой пост на первой странице с картинками)

Он показывает прибыль в валюте ордера, а не депозита.

 
sergeev >>:

По этому параметру в справке ошибка. (мой пост на первой странице с картинками)

Он показывает прибыль в валюте ордера, а не депозита.

Действительно, там ошибка. Исправленный вариант:

double TrueTickValue( string Symb )
{
  double TickValue = MarketInfo(Symb, MODE_TICKVALUE);
  double Tmp = MarketInfo(Symb, MODE_MARGININIT);
  
  if (Tmp != 0)
    TickValue *=  MarketInfo(Symb, MODE_MARGINREQUIRED) / Tmp;
    
  return(TickValue);
}
 
ооо!!!! YES! Заработало ! :))

А тогда вопрос на засыпку, почему MARGININIT иногда равен 0 ? и что в этом случае оно обозначает?
 
sergeev >>:
А тогда вопрос на засыпку, почему MARGININIT иногда равен 0 ? и что в этом случае оно обозначает?

Никогда не работал в MT4 с не FOREX-инструментами. Поэтому посмотрел мельком. Заметил, что только у FOREX-символов MARGININIT == 0.

 
sergeev >>:

По этому параметру в справке ошибка. (мой пост на первой странице с картинками)

Он показывает прибыль в валюте ордера, а не депозита.

С параметром MODE_TICKVALUE бардак. Например, значение MODE_TICKVALUE должно быть прямопропорционально значению MODE_TICKSIZE, но это не всегда так.
На скринах спецификации золота у разных брокеров. У обоих MODE_TICKVALUE = 1 (вывел через Print), но MODE_TICKSIZE отличается.
ׂ ׂ 
Вообще, верные соотношения видятся такими:
YYY / AccountCurrency = Leverage * MarginRequired / (LotSize * Bid) = TickValue / (TickSize * LotSize),
где Leverage - плечо торгового инструмента (оно может не совпадать со значением AccountLeverage())
YYY - валюта прибыли тогового инструмента
AccountCurrency - валюта счета (AccountCurrency())
P.S. Недавно разработчики поменяли движок создания сообщений на форуме. Работает отвратительно (Opera).

 

Подниму тему десять лет спустя. Что-то до конца не въеду. А может, что-то уже и изменилось в софте.

Пара кроссовая, например GBP/JPY. Валюта депозита - USD. МТ4.

Два вопроса:

1. TICK_VALUE вернёт стоимость тика в ВАЛЮТЕ ОРДЕРА (JPY) или в ВАЛЮТЕ ДЕПОЗИТА (USD)?

2. В терминале можно задать вывод результатов позиций в ВАЛЮТЕ ОРДЕРА. Можно ли сделать это В ТЕСТЕРЕ (чтобы результаты позиций указывались и результаты функции OrderProfit выдавались в ВАЛЮТЕ ОРДЕРА)?

 
Иван:

Подниму тему десять лет спустя. Что-то до конца не въеду. А может, что-то уже и изменилось в софте.

Пара кроссовая, например GBP/JPY. Валюта депозита - USD. МТ4.

Два вопроса:

1. TICK_VALUE вернёт стоимость тика в ВАЛЮТЕ ОРДЕРА (JPY) или в ВАЛЮТЕ ДЕПОЗИТА (USD)?

2. В терминале можно задать вывод результатов позиций в ВАЛЮТЕ ОРДЕРА. Можно ли сделать это В ТЕСТЕРЕ (чтобы результаты позиций указывались и результаты функции OrderProfit выдавались в ВАЛЮТЕ ОРДЕРА)?

1. в валюте депозита

2. обменный курс к п.1 примените

 
Иван:

2. В терминале можно задать вывод результатов позиций в ВАЛЮТЕ ОРДЕРА. Можно ли сделать это В ТЕСТЕРЕ (чтобы результаты позиций указывались и результаты функции OrderProfit выдавались в ВАЛЮТЕ ОРДЕРА)?

Я уже писал - можно. Для этого откройте счет в базовой валюте пары и тестируйте на нем. Историю закачать с другого ДЦ в такой терминал тоже можно.

 
Ihor Herasko:

Я уже писал - можно. Для этого откройте счет в базовой валюте пары и тестируйте на нем. Историю закачать с другого ДЦ в такой терминал тоже можно.

Игорь! Да, писали. Не катит этот вариант. Не смогу я открыть счёт в иенах, по крайней мере у того брокера, на котором торгую! И в фунтах не смогу. И в канадцах не смогу. Только рубли, доллары и евросы. Если Вы знаете, как это можно обойти (эмулировать иеновый счёт, не знаю), буду очень признателен за подсказку.

 
Иван:

Игорь! Да, писали. Не катит этот вариант. Не смогу я открыть счёт в иенах, по крайней мере у того брокера, на котором торгую! И в фунтах не смогу. И в канадцах не смогу. Только рубли, доллары и евросы. Если Вы знаете, как это можно обойти (эмулировать иеновый счёт, не знаю), буду очень признателен за подсказку.

Ну если в тестере надо, то как минимум можно сделать валюту счёта в четырёх вариантах