Расчет TickValue и прибыли - страница 4

 
Подскажите, как в мкл5 сделать аналог (как в мкл4)
MarketInfo("ХХХХХХ", MODE_TICKVALUE);

Ведь функция

double TickValue() const

класса CSymbolInfo рассчитывает значение только для текущего символа.

А как для других инструментов посчитать значение пункта в валюте депо?

 
sealdo:
Подскажите, как в мкл5 сделать аналог (как в мкл4)

Ведь функция

класса CSymbolInfo рассчитывает значение только для текущего символа.

А как для других инструментов посчитать значение пункта в валюте депо?

Как-то так - Переход с MQL4 на MQL5
 
sealdo:
Подскажите, как в мкл5 сделать аналог (как в мкл4)

Ведь функция

класса CSymbolInfo рассчитывает значение только для текущего символа.

А как для других инструментов посчитать значение пункта в валюте депо?

Можно так:

doule TickValue=SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_VALUE));

Или так;

CSymbolInfo symbol;
symbol.Name(_Symbol);
doule TickValue=symbol.TickValue();



 
Спасибо!
 

Здравствуйте, коллеги.

Возможно я не первый задаю этот вопрос, но почему при реальной стоимости пункта на XAUUSD - 1USD

Функция SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE); упорно показывает 0.1USD

И как при этом считать просадку, прибыль, и прочие вещи, в то время как на валютных парах показывает нормальную стоимость тика.

 
Andrey Kaunov:

Здравствуйте, коллеги.

Возможно я не первый задаю этот вопрос, но почему при реальной стоимости пункта на XAUUSD - 1USD

Функция SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE); упорно показывает 0.1USD

И как при этом считать просадку, прибыль, и прочие вещи, в то время как на валютных парах показывает нормальную стоимость тика.

Нужно учитывать размер контракта на 1 лот, на форекс инструментах он всегда 100000


 

Вот золото, контракт 100. И как нам это поможет?

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

 
Andrey Kaunov:

Интересно не как высчитать Стоимость тика другими способами

вот нашел у себя, делал что то по расчету прибыли

#property strict
#property script_show_inputs
input double orderLots      = 1.0;
input double orderOpenPrice = 1523.34;
input double bid            = 1522.84;
//+------------------------------------------------------------------+
void OnStart()
{
   double tvalue = MarketInfo(_Symbol, MODE_TICKVALUE) / (MarketInfo(_Symbol, MODE_TICKSIZE) / _Point);
   double profit   = ((bid - orderOpenPrice)/Point) / tvalue * orderLots;
   Print("profit = ", profit);
}

бросил на золото, получил -50.0 - как у Вас на скриншоте

2020.03.14 17:07:15.913  XAUUSD,M1: profit = -50.0

2020.03.14 17:07:15.913  XAUUSD,M1: initialized

2020.03.14 17:07:15.897  XAUUSD,M1 inputs: orderLots=1.0; orderOpenPrice=1523.34; bid=1522.84; 

 
Igor Makanu:

вот нашел у себя, делал что то по расчету прибыли

double tvalue = MarketInfo(_Symbol, MODE_TICKVALUE) / (MarketInfo(_Symbol, MODE_TICKSIZE) / _Point);
У автора по 5-ке вопрос, там нет MarketInfo.
 
Grigori.S.B:
У автора по 5-ке вопрос, там нет MarketInfo.

спасибо Бро .... думаю автор справится с заменой MarketInfo на SymbolInfo