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

 
а стоит оно того? сделать условия на все инструменты меньше сотни строк
 
на всю жизнь не напосешься. :)
 
Ну почему же.. недолларовых инструментов не так много. Тем более для фьючей я делал условие по первым 2м буквам (чтобы не влиял месяц).
А если нужно узнать валюту инструмента после открытия ордера, то можно рассчитать стоимость пункта по изменению эквити, затем в цикле перебрать все валюты и выбрать с минимальным отклонением от стоимости пункта ( но этот вариант наверно не нужен).
 
есть способ проще - просто вручную считать переводной коэфициент через OrderProfit(), но это только для случая, когда ордер уже открыт.

Меня удивляет другое - почему разрабы молчат? Неужели никак узнать про валюту ордера нельзя?
 
Узнать валюту ордера можно без его открытий.
 
getch >>:
Узнать валюту ордера можно без его открытий.


подскажи, мил человек, а то сил уже нет искать....
 
Функция должна возвращать название валюты?
 

Я вот тоже никак не могу уяснить - проблема найти валюту ордера или корректно расчитать его будущие параметры?

 
xrust >>:

Я вот тоже никак не могу уяснить - проблема найти валюту ордера или корректно расчитать его будущие параметры?

проблемка одна - как перевести прибыль из валюты ордера в валюту депозита. И все.

Если можно не использовать имя валюты, то и не нужно. Главное - вычислить прибыль в $

getch >>:
Функция должна возвращать название валюты?
необязательно. важна результирующая расчетная циферка прибыли, а не имя валюты. Я просто не знаю как по другому сделать.

Во как в МТ5 красиво и понятно



И обращаться к нему тоже можно из SymbolInfo

SYMBOL_CURRENCY_BASE

Базовая валюта инструмента

string

SYMBOL_CURRENCY_PROFIT

Валюта прибыли

string

SYMBOL_CURRENCY_MARGIN

Валюта в которой вычисляется залоговые средства

string



и даже описали в справке как прибыль вычисляется для разных инструментов.

SYMBOL_CALC_MODE_FUTURES

Futures mode – расчет залога и прибыли для фьючерсов

Margin: Lots *InitialMargin*Percentage/100

Profit: (close_price-open_price)*TickPrice/TickSize*Lots

 
sergeev >>:

проблемка одна - как перевести прибыль из валюты ордера в валюту депозита. И все.

Если можно не использовать имя валюты, то и не нужно. Главное - вычислить прибыль в $

необязательно. важна результирующая расчетная циферка прибыли, а не имя валюты. Я просто не знаю как по другому сделать.

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