здесь "Откуда берутся курсы валют ?" посмотри, многие вопросы должны отпасть
Спасибо, но меня интересует не то, каким образом от рейтерса курсы валют превращаются в то, что я вижу в MT4, а то, как технически в MT4 связаны (иил не связаны) архивы, хранящиеся в самом MT4, тики, которые можно наблюдать в MT4 и получать через MT4. Они расходятся. Меня интересует, по каким значениям осуществляются сделки и пр.
Ибо наблюдаются расхождения, которых быть не должно. Как технически в MT4 устроены эти потоки данных?
Ибо наблюдаются расхождения, которых быть не должно. Как технически в MT4 устроены эти потоки данных?
1. Архивы минуток, скаченных в файле *.csv с сайта Альпари, не совпадают
с тем, что хранится в архивах MT4 (не совпадают лишь некоторые минутки: где-то Open, где-то Volume, но это редко, однако, происходит).
с тем, что хранится в архивах MT4 (не совпадают лишь некоторые минутки: где-то Open, где-то Volume, но это редко, однако, происходит).
как и описано по ссылке, каждый получает из нескольких источников, затем фильтрует и своим клиентам для совершения сделок, поэтому у разных поставщиков могут отличаться
2. Минутки, сформированные по потоку DDE, не совпадают с теми, которые хранятся в MT4.
точно сказать не могу, т.к. DDE не пользуюсь, но скорее всего где-то ошибка закралась
3. То же, что и в п. 2, но если минутки формировать не из потока DDE, а внутри в советнике. Где-то у 2-3% минуток отличаются Volume. Например, в MT4, в архиве, объем 7, а тиков поступило 6. Бывает и там и там ровно по 33 и совпадает, а бывает малое количество различается. Хочется понять, где "истина" (если о ней уместно говорить).
если под "МТ4" имеется ввиду хинт с графика, строка состояния, то объем всегда совпадает, тики в ручную отсчитывали? что-то больно запутанно сформулировал вопрос
4. На параллельно запущенных MT4 на одной машине тики тоже могут различаться,
мы их в БД пишем и сравниваем, бывают такие, которые там есть, тут нет.
мы их в БД пишем и сравниваем, бывают такие, которые там есть, тут нет.
здесь может быть несколько причин: на одной из машин временно отсутствовала связь и поэтому она не дополучила тика (если их подсчитывает эксперт или скрипт или индикатор); время прохода по коду заняло больше времени, чем время на приход нового тика в результате чего он был пропущен (одна машина по мощнее и быстрее просчитала, а другая - медленнее или из-за текущих процессов на той и другой машине)
5. Такая ситуация встречается и под Windows и под Linux.
ну все причины, в т.ч. вышеперечисленные
1. Архивы минуток, скаченных в файле *.csv с сайта Альпари, не совпадают
с тем, что хранится в архивах MT4 (не совпадают лишь некоторые минутки: где-то Open, где-то Volume, но это редко, однако, происходит).
с тем, что хранится в архивах MT4 (не совпадают лишь некоторые минутки: где-то Open, где-то Volume, но это редко, однако, происходит).
как и описано по ссылке, каждый получает из нескольких источников, затем фильтрует и своим клиентам для совершения сделок, поэтому у разных поставщиков могут отличаться
2. Минутки, сформированные по потоку DDE, не совпадают с теми, которые хранятся в MT4.
точно сказать не могу, т.к. DDE не пользуюсь, но скорее всего где-то ошибка закралась
3. То же, что и в п. 2, но если минутки формировать не из потока DDE, а внутри в советнике. Где-то у 2-3% минуток отличаются Volume. Например, в MT4, в архиве, объем 7, а тиков поступило 6. Бывает и там и там ровно по 33 и совпадает, а бывает малое количество различается. Хочется понять, где "истина" (если о ней уместно говорить).
если под "МТ4" имеется ввиду хинт с графика, строка состояния, то объем всегда совпадает, тики в ручную отсчитывали? что-то больно запутанно сформулировал вопрос
4. На параллельно запущенных MT4 на одной машине тики тоже могут различаться,
мы их в БД пишем и сравниваем, бывают такие, которые там есть, тут нет.
мы их в БД пишем и сравниваем, бывают такие, которые там есть, тут нет.
здесь может быть несколько причин: на одной из машин временно отсутствовала связь и поэтому она не дополучила тика (если их подсчитывает эксперт или скрипт или индикатор); время прохода по коду заняло больше времени, чем время на приход нового тика в результате чего он был пропущен (одна машина по мощнее и быстрее просчитала, а другая - медленнее или из-за текущих процессов на той и другой машине)
5. Такая ситуация встречается и под Windows и под Linux.
ну все причины, в т.ч. вышеперечисленные
Меня совсем не это беспокоит, мне известен механизм того, как формируется торговая послеждовательность у моего брокера из последовательности той, которая на рынке.
Я говорю о другом, как последовательности тиков и последовательности минуток, пятиминуток и пр. сосуществуют вунтри самого метатрэйдера?
Еще две "ошибки":
1. Не совпадают Close у минуток, пятиминуток и старших тайм-фреймов.
(идем по клавише F2 в архив истории, берем любую минутку, только чтобы ее время было кратно, например, суткам (00:00), смотрим по этому же времени M5, M15, M30, H1, H4 и т.д. и видим, что Close разнятся очень сильно).
2. В истории счета смотрим, когда закрывается какая-нибудь сделка закрывается по такому значению, которого ни в одной в свече не было за время существования данного ордера (сделки).
Ещё раз повоторяю, мы формируем сигнал торговой последовательности и наблюдаем расхождения, которых по логике быть не должно.
совсем запутал:
синхронность данных с разных т-ф не контролируется, если данные разных т-ф формируются онлайн, то они обязаны сходиться (и пока я не видел чтобы они расходились), а вот если они подкачивались с сервера поставщика, то могут различаться (за это ответственен поставщик)
Close для указанных т-ф и времени сформируется
M1 не позже 00:00:59
M5 не позже 00:04:59
M15 не позже 00:14:59
M30 не позже 00:29:59
Н1 не позже 00:59:59
при этом естесственно что они могут отличаться, а вот для тех же т-ф по времени открытия
M1 по времени 23:59:00
M5 не позже 23:55:00
M15 не позже 23:45:00
M30 не позже 23:30:00
Н1 не позже 23:00:00
при условии что их первый тик пришел в "точно назначенное время" и не было пропусков баров Close будет совпадать
дело в том что сделки бывают короткие и длинные, так вот короткие закрываются по цене Ask, а графики рисуются по цене Bid, так что такое вполне возможно
синхронность данных с разных т-ф не контролируется, если данные разных т-ф формируются онлайн, то они обязаны сходиться (и пока я не видел чтобы они расходились), а вот если они подкачивались с сервера поставщика, то могут различаться (за это ответственен поставщик)
1. Не совпадают Close у минуток, пятиминуток и старших тайм-фреймов.
(идем по клавише F2 в архив истории, берем любую минутку, только чтобы ее время было кратно, например, суткам (00:00), смотрим по этому же времени M5, M15, M30, H1, H4 и т.д. и видим, что Close разнятся очень сильно).
(идем по клавише F2 в архив истории, берем любую минутку, только чтобы ее время было кратно, например, суткам (00:00), смотрим по этому же времени M5, M15, M30, H1, H4 и т.д. и видим, что Close разнятся очень сильно).
Close для указанных т-ф и времени сформируется
M1 не позже 00:00:59
M5 не позже 00:04:59
M15 не позже 00:14:59
M30 не позже 00:29:59
Н1 не позже 00:59:59
при этом естесственно что они могут отличаться, а вот для тех же т-ф по времени открытия
M1 по времени 23:59:00
M5 не позже 23:55:00
M15 не позже 23:45:00
M30 не позже 23:30:00
Н1 не позже 23:00:00
при условии что их первый тик пришел в "точно назначенное время" и не было пропусков баров Close будет совпадать
2. В истории счета смотрим, когда закрывается какая-нибудь сделка закрывается по такому значению, которого ни в одной в свече не было за время существования данного ордера (сделки).
дело в том что сделки бывают короткие и длинные, так вот короткие закрываются по цене Ask, а графики рисуются по цене Bid, так что такое вполне возможно
наверно проще все на картинке показать, например как здесь
наверно проще все на картинке показать, например как здесь
Спасибо Вам!
В одной "вещи" я ошибься (благодаря Вам понял),
но всё же не ясно, как в MT4 формируются данные?
- Приходят только тики и из них формируются тайм-фреймы
- Приходят и тики и тайм-фреймовые значения
- Приходят тики и минутки, а из минуток формируются старшие тайм-фреймы
Какой из вариантов верный?
когда онлайн, приходят тики, из них строятся все т-ф
когда был оффлайн и подключился, сначала приходят данные по всем т-ф - они и могут быть разными (если у поставщика какой-то сбой), а потом начиная с последнего начинают строиться исходя из тиков
когда был оффлайн и подключился, сначала приходят данные по всем т-ф - они и могут быть разными (если у поставщика какой-то сбой), а потом начиная с последнего начинают строиться исходя из тиков
когда онлайн, приходят тики, из них строятся все т-ф
когда был оффлайн и подключился, сначала приходят данные по всем т-ф - они и могут быть разными (если у поставщика какой-то сбой), а потом начиная с последнего начинают строиться исходя из тиков
когда был оффлайн и подключился, сначала приходят данные по всем т-ф - они и могут быть разными (если у поставщика какой-то сбой), а потом начиная с последнего начинают строиться исходя из тиков
Т.е. все-таки он-лайн они из приходящих тиков строятся, спасибо Вам!
Но вот в этом-то и ошибка закрадывается.
Он-лайн запускаем советника, он все тики считает, а потом сверяем, что в базе и оказывается,
что иногда (у 2-3% минуток) есть расхождения: в базе лежит по какой-нибудь минуте 7 тиков (объем),
а советник за эту же минуту насчитал 6. А есть минуты, когда и в базе и в советнике ровно по 33 например.
Вот о чем я говорил. При этом та же картина, если тики по DDE забирать.
В связи с этим меня и интересовало внутреннее устройство. По логике я так и думал, что
минутки из тиков формируются в базе в он-лайн режиме, но когда этот факт заметил, стал сомневаться.
Profi_R 22.08.07 15:40
...
4. здесь может быть несколько причин: на одной из машин временно отсутствовала связь и поэтому она не дополучила тика (если их подсчитывает эксперт или скрипт или индикатор); время прохода по коду заняло больше времени, чем время на приход нового тика в результате чего он был пропущен (одна машина по мощнее и быстрее просчитала, а другая - медленнее или из-за текущих процессов на той и другой машине)
...
4. здесь может быть несколько причин: на одной из машин временно отсутствовала связь и поэтому она не дополучила тика (если их подсчитывает эксперт или скрипт или индикатор); время прохода по коду заняло больше времени, чем время на приход нового тика в результате чего он был пропущен (одна машина по мощнее и быстрее просчитала, а другая - медленнее или из-за текущих процессов на той и другой машине)
если это только не ошибка кода, подсчитывающего тики
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Делаем следующий эксперимент.
Работаем в Красноярске с ДЦ "Альпари".
Пользуемся MT4, скаченным с их сайта.
Работаем как на демо-, так и на реальных счетах.
Пользуемся архивами минутных значений, а также формируем минутки из тиков,
при этом, "вещи", которые должны совпадать, не совпадают:
1. Архивы минуток, скаченных в файле *.csv с сайта Альпари, не совпадают
с тем, что хранится в архивах MT4 (не совпадают лишь некоторые минутки: где-то Open, где-то Volume, но это редко, однако, происходит).
2. Минутки, сформированные по потоку DDE, не совпадают с теми, которые хранятся в MT4.
3. То же, что и в п. 2, но если минутки формировать не из потока DDE, а внутри в советнике. Где-то у 2-3% минуток отличаются Volume. Например, в MT4, в архиве, объем 7, а тиков поступило 6. Бывает и там и там ровно по 33 и совпадает, а бывает малое количество различается. Хочется понять, где "истина" (если о ней уместно говорить).
4. На параллельно запущенных MT4 на одной машине тики тоже могут различаться,
мы их в БД пишем и сравниваем, бывают такие, которые там есть, тут нет.
5. Такая ситуация встречается и под Windows и под Linux.
Всё это мы проделывали для того чтобы сформировать надежный источник реальных данных, по которым ведется торговля.
Интересует мнение тех, кто с этим сталкивался, кто как-то решал такую проблему,
ну и, конечно, разработчиков, может есть какие-то принципы, как приходят тики, как формироуются минутки, которые хранятся в архивах MT4 (может, им нельзя сильно верить?).
Заранее благодарен.