Цена за трубопровод - страница 4

 

Я столкнулся с тем, что брокер добавляет апостроф к символам, для которых он включил функцию Instant Execution. Это произошло в выходные, и заметить это было довольно сложно - особенно потому, что они также сохранили старые названия символов только для Market Execution.

CB

 
cloudbreaker:

Я столкнулся с тем, что брокер добавляет апостроф к символам, для которых он включил функцию Instant Execution. Это произошло в выходные, и заметить это было довольно сложно - особенно потому, что они также сохранили старые названия символов только для Market Execution.

Что вы имеете в виду под"мгновенным исполнением"? (подразумевается, что это не то же самое, что 'Market Execution')...
 

Не проще ли просто использовать Symbol() во всех ссылках на символ, тогда даже если на сервере брокера EURUSD вводится как mooncheese, это не будет иметь значения, пока советник также знает, что EURUSD называется mooncheese.

 

Я заметил, что mt4 называет это стоимостью тика, означает ли это, что тик всегда равен одному пункту? Я думал, что размер тика может меняться, это подводит меня к другому вопросу, мне сказали, что в mt4 нельзя торговать на объемах, так как все, что делают объемы, это подсчитывают количество тиков на баре, но если каждый тик равен одному пункту, тогда, конечно, вполне возможно торговать на объемах, так как это означает, что сервер должен посылать новый тик каждый раз, когда цена меняется на 1 пункт, поэтому, когда идет много торгов и цена быстро меняется, объемы будут высокими и покажут уровень торговой активности, правильно?

 
SDC:

Я заметил, что mt4 называет его стоимостью тика, означает ли это, что тик всегда равен одному пункту? [...]

Что такое тик?

https://www.mql5.com/en/forum/126023

 
SDC:

Не проще ли просто использовать Symbol() во всех ссылках на символ, тогда даже если на сервере брокера EURUSD вводится как mooncheese, это не будет иметь значения, пока советник также знает, что EURUSD называется mooncheese.


Это то, что делает мой код, не уверен, откуда берется путаница. Я предполагаю, что где-то я не смог донести информацию.
 

Я уже читал эту тему, она полна противоречивой информации.

BarrowBoy - изменение спроса и/или предложения.

Рош - событие "новая цена"

kminler - каждый тик представляет собой закрытую сделку

puncher - тик - это пункт

После прочтения других тем и дискуссий о тиках я пришел к выводу, что тик не имеет особой ценности, поскольку все, что он содержит, это новый бид и новый аск, которые могут отличаться на 1 пункт от последнего тика, не отличаться ни на пункт или отличаться на несколько пунктов, так что сам по себе тик не несет никакой разницы в цене, только новую цену.

Но теперь я изучаю, как вычислить стоимость пункта, и наткнулся на MarketInfo MODE_TICKVALUE, который, похоже, является статическим заданным значением, что само по себе противоречит тому, что большинство людей говорят о тике, что он просто передает изменение в цене, без конкретной суммы, так как же может существовать такая вещь, как MODE_TICKVALUE, это не имеет никакого смысла, если только большинство людей не ошибаются и 1 тик на самом деле имеет конкретное значение, равное 1 пункту, Моя проблема заключается в отсутствии надлежащей документации, как можно выяснить, что правильно, а что нет, темы форума содержат некоторую информацию, большая часть которой основана на мнении или предположении, а не на фактах, что в большинстве случаев не имеет значения, но когда человек пытается написать программу, основанную на такой отрывочной и противоречивой информации, это очень усложняет жизнь.

 
SDC:

Я читал эту тему до того, как она наполнилась противоречивой информацией. [...]

Извините, не хотел вас запутать. Эта тема, по своей природе, медленно выстраивает общую картину (и включает множество мнений, некоторые из которых не совсем точны). Суть в следующем: тик - это изменение любого из 28 идентификаторов рыночной информации (доступных через функцию MarketInfo()). Он также является "событием", вызывающим функцию start() (для символа, к которому привязан советник).


К сожалению, именование MODE_TICKSIZE и MODE_TICKVALUE добавляет второе определение к Tick (которое, как я предполагаю, и является источником путаницы...). Определение Tick в данном контексте таково: Tick - это наименьшее возможное изменение цены для рассматриваемого символа:

  • MODE_TICKSIZE - размер этого изменения в ценовом выражении (в документации указано "размер тика в пунктах", но это явно неточно).
  • MODE_TICKVALUE - значение этого изменения в валюте депозита счета (вычисляется брокером на стороне сервера).

Комментарии:

  1. Пункт" (MODE_POINT) - это наименьшее возможное изменение цены слева от размера десятичной точки для данного символа. Это НЕ то же самое, что MODE_TICKSIZE. Технически: MODE_TICKSIZE>=MODE_POINT, хотя почти всегда они равны.
  2. Пипсовка" - это условность, то, с чем мы все согласны. Это не математическое свойство символа или свойство сервера MT4. Так, например, у 4-значного брокера для EURUSD пип равен 1 пункту, а у 5-значного брокера пип равен 10 пунктам...
  3. Есть хорошая дискуссия о том, как автоматически определить размер пипса в пунктах здесь -> https://www.mql5.com/en/forum/124692.
  4. MODE_TICKSIZE может меняться, хотя и крайне редко (Point, с другой стороны, фиксирован). У CB есть метод для работы с этими изменениями здесь -> https://www.mql5.com/en/forum/109552/page3#195878.
 

Да, MODE_TICKVALUE - это источник путаницы, он действительно имеет гораздо больше смысла, как вы выразились, чтобы означать наименьшее возможное изменение цены, с этого момента я буду думать о нем как о MODE_MINIMUMTICKVALUE, так что кажется вполне возможным точно рассчитать стоимость пункта из MODE_TICKVALUE.

 
SDC:

[...] поэтому представляется вполне возможным точно рассчитать стоимость пункта по MODE_TICKVALUE

Проблема в том, чтобы найти пункт в пунктах... Отсюда тривиально вычислить его стоимость (используя MODE_TICKVALUE). К сожалению, найти универсальный и полностью автоматизированный способ конвертации пунктов в пункты не так уж тривиально (обсуждалось здесь -> https://www.mql5.com/en/forum/124692).