Глюк в тестере! - страница 4

 
Forester #:

Еще пробовал править число тиков на 4 если их <4.

Так и не пробовали?

 
Forester #:

Так и не пробовали?

Конечно пробовал. Именно так и лечится этот глюк. Почитайте внимательно пост #20.

 
Игорь Евдокимов #:

Конечно пробовал. Именно так и лечится этот глюк. Почитайте внимательно пост #20.

Глюк в полученных котировках от брокера. Вопросы к нему. 
 
Artyom Trishkin #:
Глюк в полученных котировках от брокера. Вопросы к нему. 

Все не так однозначно. Источник этого глюка - разная трактовка самого понятия "объем". Многие брокеры понимают объем, как сумму проторгованных лотов за единицу времени. И это правильно. В MQ считают по-другому. Наглядное подтверждение этому - в MqlRates объемы хранятся в переменных типа long, а не double.

 
Игорь Евдокимов #:

Все не так однозначно. Источник этого глюка - разная трактовка самого понятия "объем". Многие брокеры понимают объем, как сумму проторгованных лотов за единицу времени. И это правильно. В MQ считают по-другому. Наглядное подтверждение этому - в MqlRates объемы хранятся в переменных типа long, а не double.

Вы, похоже, не читатель.

Как в структуре MqlTick, так и в структуре MqlRates, кроме тикового объёма есть и биржевой объём. Тестер генерирует данные на основе тикового объёма.

И да. "Описанный баг является фичей" (ц)

 
Игорь Евдокимов #:

Все не так однозначно. Источник этого глюка - разная трактовка самого понятия "объем". Многие брокеры понимают объем, как сумму проторгованных лотов за единицу времени. И это правильно. В MQ считают по-другому. Наглядное подтверждение этому - в MqlRates объемы хранятся в переменных типа long, а не double.

Не уходите в логические дебри . Тут всë просто и надëжно как в АК. Один тик - все цены бара одинаковы. Никаких неоднозначностей. 
 
Slava #:

Вы, похоже, не читатель.

Как в структуре MqlTick, так и в структуре MqlRates, кроме тикового объёма есть и биржевой объём. Тестер генерирует данные на основе тикового объёма.

И да. "Описанный баг является фичей" (ц)

Конечно есть, поэтому я сразу написал во множественном числе: "объемы хранятся в переменных типа long".

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

А дальше получаются интересные пляски с бубном вокруг котировок:

Устанавливаем MT5, в окне "Cимволы" видим группу "Nasdaq" с кучей активов, делаем первый вывод: MT5 поддерживает символы с фондового рынка.

Ведущий брокер фондового рынка (Interactive Brokers) отдает свечи, в которых объем представлен в виде double.

То есть я могу получить (и реально получаю) минутную свечу с объемом < 1. И его надо корректно преобразовать в long... 

Делаем второй вывод: поддержка фонды вроде есть, но она по принципу "здесь играем, здесь не играем, а здесь рыбу заворачиваем" (С).

А вообще все замечательно, эта "фича" заставила поразмять мозги, спасибо MQ за это!

 
Игорь Евдокимов #:

брокер фондового рынка (...) отдает свечи, в которых объем представлен в виде double.

То есть я могу получить (и реально получаю) минутную свечу с объемом < 1. И его надо корректно преобразовать в long... 

Вы путаетесь.

Брокер в котировках даёт реальный объём (double-объём сделок, проторгованных за время минутной свечи). Вы его пытаетесь привести к объёму тиковому (long-количество тиков, пришедших за время минутной свечи). Т.е. пытаетесь скрестить тёплое с мягким.

Какой результат при этом ожидаете получить - не понятно.

Естественно, если в котировках от брокера есть только биржевой объём и нет тикового, то этот объём может быть меньше единицы (одного лота). Чтобы перевести это дело в удобоваримую свечу, нужно получить тики, которые пришли за время этой свечи и получить из них четыре цены - Open, High, Low и Close. Вы же пытаетесь какими-то манипуляциями биржевой объём привести к цене Open...

 
Artyom Trishkin #:

Вы путаетесь.

Брокер в котировках даёт реальный объём (double-объём сделок, проторгованных за время минутной свечи). Вы его пытаетесь привести к объёму тиковому (long-количество тиков, пришедших за время минутной свечи). Т.е. пытаетесь скрестить тёплое с мягким.

Какой результат при этом ожидаете получить - не понятно.

Естественно, если в котировках от брокера есть только биржевой объём и нет тикового, то этот объём может быть меньше единицы (одного лота). Чтобы перевести это дело в удобоваримую свечу, нужно получить тики, которые пришли за время этой свечи и получить из них четыре цены - Open, High, Low и Close. Вы же пытаетесь какими-то манипуляциями биржевой объём привести к цене Open...

Да, подобные манипуляции - вынужденная мера для текущей ситуации. В свече уже есть все 4 цены. И чтобы можно было в тестере использовать котировки без тиков, нужно всего-то "попросить" тестер более корректно формировать тики. Ведь именно это он и делает (выдает все 4 тика), если я ставлю такой свече объем = 4. Нет объема - пусть выдаст одним тиком всю свечу, а не только close.

 
Игорь Евдокимов #:
Нет объема - пусть выдаст одним тиком всю свечу, а не только close.

это как "хлопок одной ладонью" "прыжок в четыре стороны" и прочие механики постижения дзена :-) 

сделать 4 разные ценовые метки в один квант времени