Расчёт стоимости тика

 

Что-то я отстал от передовой прогресса, когда ввели в строй эту функцию? - она вроде даёт стоимость тика на 1 лот в валюте депозита, чем очень сильно упрощает жизнь, потому как раньше расчёт вёлся через задницу отдельно для мажоров, миноров, экзотиков итд

SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE)
 
Изначально.
 
Только будь готов, что она 0.0 может возвращать)))
 
собственно как и MODE_TICKVALUE - по описанию из справки можно только гадать что же это такое, также и для SYMBOL_TRADE_TICK_VALUE - описание тоже оставляет простор для фантазии на тему что это
 

5-знак
GBPUSD  


4-знак
GBPUSD     

USDJPY    

USDCAD    

EURJPY    


И, соответственно, при изменении лота, пропорционально изменяется и цена пункта.

пример

EURJPY   

рабочий лот = 0.28

 

Имея эту информацию, можно рассчитать:

 

И если считать от текущей цены Close, то легко определить, где нужно расставить TP и SL, в зависимости от направления движения (Buy или Sell)

 

.

 
Олег avtomat:

И если считать от текущей цены Close, то легко определить, где нужно расставить TP и SL, в зависимости от направления движения (Buy или Sell)

Опять же, нужно добавить, что для кроссов (или для символов, у которых котируемая валюта не совпадает с валютой депозита) это будет приблизительный расчет. Особенно заметна погрешность при больших значениях SL/TP. Все дело в том, что для таких символов стоимость тика меняется с каждым изменением цены. 

 

А можно пояснить это из документации?

SYMBOL_POINT

Значение одного пункта

double

SYMBOL_TRADE_TICK_VALUE

Значение SYMBOL_TRADE_TICK_VALUE_PROFIT

double

SYMBOL_TRADE_TICK_VALUE_PROFIT

Рассчитанная стоимость тика для прибыльной позиции

double

SYMBOL_TRADE_TICK_VALUE_LOSS

Рассчитанная стоимость тика для убыточной позиции

double

SYMBOL_TRADE_TICK_SIZE

Минимальное изменение цены

double


  1. Значение в чём? В валюте депозита? Если да, то
  2. Это значение должно возвращать количество пунктов в пришедшем тике (volume). Или там сразу происходит SYMBOL_POINT * TICK_VOLUME ?
  3.  
  4.  
  5. Минимальное изменение цены - 1 пункт. Значит SYMBOL_TRADE_TICK_SIZE =SYMBOL_POINT ?
Я не могу в этом разобраться.
 
Ihor Herasko:

Опять же, нужно добавить, что для кроссов (или для символов, у которых котируемая валюта не совпадает с валютой депозита) это будет приблизительный расчет. Особенно заметна погрешность при больших значениях SL/TP. Все дело в том, что для таких символов стоимость тика меняется с каждым изменением цены. 

Да, это так. И если нужна повышенная точность, то это необходимо учитывать.

Но эти изменения для практики несущественны, вносимая ими погрешность мала, и не играет какой-либо существенной роли.

 
Сергей Таболин:

А можно пояснить это из документации?

SYMBOL_POINT

Значение одного пункта

double

SYMBOL_TRADE_TICK_VALUE

Значение SYMBOL_TRADE_TICK_VALUE_PROFIT

double

SYMBOL_TRADE_TICK_VALUE_PROFIT

Рассчитанная стоимость тика для прибыльной позиции

double

SYMBOL_TRADE_TICK_VALUE_LOSS

Рассчитанная стоимость тика для убыточной позиции

double

SYMBOL_TRADE_TICK_SIZE

Минимальное изменение цены

double


  1. Значение в чём? В валюте депозита? Если да, то
  2. Это значение должно возвращать количество пунктов в пришедшем тике (volume). Или там сразу происходит SYMBOL_POINT * TICK_VOLUME ?
  3.  
  4.  
  5. Минимальное изменение цены - 1 пункт. Значит SYMBOL_TRADE_TICK_SIZE =SYMBOL_POINT ?
Я не могу в этом разобраться.

1. В значении цены
2,3,4. В деньгах
5. В значении цены

 
Artyom Trishkin:

1. В значении цены
2,3,4. В деньгах
5. В значении цены

Так значит моё понимание

Сергей Таболин:

SYMBOL_TRADE_TICK_SIZE =SYMBOL_POINT

верно ?


И почему SYMBOL_TRADE_TICK_VALUE ==  SYMBOL_TRADE_TICK_VALUE_PROFIT и != SYMBOL_TRADE_TICK_VALUE_LOSS ?

Зачем этот дубляж?

 
Aleksey Semenov:

Что-то я отстал от передовой прогресса, когда ввели в строй эту функцию? - она вроде даёт стоимость тика на 1 лот в валюте депозита, чем очень сильно упрощает жизнь, потому как раньше расчёт вёлся через задницу отдельно для мажоров, миноров, экзотиков итд

Она была изначально.