Эти торговые тики имеют флаг BUY и SELL. (Кстати, почему добавлен недокументированный флаг «256»?).
Однако у меня есть данные CQG, которые хорошо упорядочены (без миллисекунд).
Обратите внимание, что временная последовательность отменена по сравнению со скриншотом MT5, и между AMP-сервером и Chicago EAST TIME существует временной сдвиг в 5 часов). T является сделкой, B для Bid, A для Ask.
Как вы можете видеть, тик BID 7195 приходит после торгов. Таким образом, во время торгов Bid было 7196, и тогда очевидно, что 4 сделки были сделаны на Bid, поэтому они являются сделкой SELL. Однако MT5 (или AMP?) Размещают этот тик до торгов, так что эти сделки, похоже, происходят между спредом (7195-7197) и не могут определить направление.
Я могу предоставить все необходимые данные, но не публично.
Писал в отдельной ветке по CopyTicks, но там что-то глухо. Проверил на 1912 - проблема так же воспроизводится. Дублирую здесь.
CopyTicks возвращает более старые данные, чем были запрошены, если запрашивать не свежие тики. Т.е. возвращает данные старее, чем параметр from. Баг плавающий - проявляется в разное время, поэтому написал небольшой код, который воспроизводит. Запускал в тестере на EURUSD H1, 2017.08.01 - 2018.08.01.
voidOnTick()
{
staticdatetime lastActivityTime = D'2017.08.01';
staticMqlTick ticks[2000];
staticconstuint requestedCount = 2000;
datetime dt[1];
CopyTime(NULL, PERIOD_CURRENT, 0, 1, dt);
if (lastActivityTime >= dt[0]) {
return;
}
lastActivityTime = TimeCurrent();
int zero = 0;
int idx = 0;
do {
++idx;
CopyTime(NULL, PERIOD_CURRENT, idx, 1, dt);
if (dt[0] <= D'2017.08.01') break;
Print("idx=", idx, ", dt[0]=", dt[0]);
long from = 1000 * dt[0];
int cnt = CopyTicks(Symbol(), ticks, COPY_TICKS_INFO, from, requestedCount);
if (cnt < 1) {
Print("Error in CopyTicks");
return;
}
Print("cnt=", cnt);
for (int i = 0; i < cnt; ++i) {
if (ticks[i].time_msc < from) {
Print("ERROR: i=", i, ", ticks[i].time_msc=", ticks[i].time_msc, " (", ticks[i].time, ")");
i = i / zero;
}
}
Print("done");
} while(true);
}
Ответ может дать техсаппорт брокера, если он проследит весь путь этой заявки.
Только брокер имеет эту информацию.
Больше никто.
Спасибо, уже написал брокеру...
Спасибо, уже написал брокеру...
А брокер говорит, что у них всё отлично...
Просто непонятно, почему 7 мс и вдруг 14 секунд?
У меня сегодня Открытие тоже чудит с открытием/закрытием сделок - каламбур так себе. Терминал правда 1881. Все сделки сделаны руками:
2018.10.18 18:22:12.346 Trades 'xxxxx': order #94246807 sell 1.00 / 1.00 BR-11.18 at market done in 22277.357 ms
2018.10.18 18:35:14.055 Trades 'xxxxx': order #94248092 sell 1.00 / 1.00 Si-12.18 at market done in 17773.927 ms
2018.10.18 20:16:15.997 Trades 'xxxxx': order #94269409 sell 1.00 / 1.00 BR-11.18 at market done in 586.697 ms
2018.10.18 20:18:11.849 Trades 'xxxxx': order #94269722 buy limit 1.00 / 1.00 BR-11.18 at 79.90 done in 1738.378 ms
Каким образом была налажена расширенная аутентификация под wine ? Прокомментируйте пожалуйста.
ПС. И если кто-то уже пробовал, то интересен был бы отзыв о работе.
Проверим.
This means that there is no data on the direction.
It depends only on data feed. "Old" servers are long gone.
Я не знаю, всегда ли это так, но я заметил, что проблема заключается в неправильной последовательности тиков, когда они прибыли в те же миллисекунды.
Пример для DA6Z18 (AMP Broker, реальный счет):
2018.10.18 13: 57: 05.305 ImportCQGData (EURUSD, M5) DA6Z18: 20 tick: 2018.09.13 01: 37: 33.985 0.7195 / 0.7197 / 0.7196 1 флаги: 2
2018.10.18 13: 57: 05.305 ImportCQGData (EURUSD, M5) DA6Z18: 21 tick: 2018.09.13 01: 37: 33.985 0.7195 / 0.7197 / 0.7196 1 флажок: 376
2018.10.18 13: 57: 05.305 ImportCQGData (EURUSD, M5) DA6Z18: 22 tick: 2018.09.13 01: 37: 33.985 0.7195 / 0.7197 / 0.7196 1 флажок: 376
2018.10.18 13: 57: 05.305 ImportCQGData (EURUSD, M5) DA6Z18: 23 tick: 2018.09.13 01: 37: 33.985 0.7195 / 0.7197 / 0.7196 5 флаги: 376
2018.10.18 13: 57: 05.305 ImportCQGData (EURUSD, M5) DA6Z18: 24 tick: 2018.09.13 01: 37: 33.985 0.7195 / 0.7197 / 0.7196 2 флажка: 376
2018.10.18 13: 57: 05.305 ImportCQGData (EURUSD, M5) DA6Z18: 25 tick: 2018.09.13 01: 37: 33.986 0.7195 / 0.7196 / 0.7196 2 флажка: 4
Эти торговые тики имеют флаг BUY и SELL. (Кстати, почему добавлен недокументированный флаг «256»?).
Однако у меня есть данные CQG, которые хорошо упорядочены (без миллисекунд).
Обратите внимание, что временная последовательность отменена по сравнению со скриншотом MT5, и между AMP-сервером и Chicago EAST TIME существует временной сдвиг в 5 часов). T является сделкой, B для Bid, A для Ask.
Как вы можете видеть, тик BID 7195 приходит после торгов. Таким образом, во время торгов Bid было 7196, и тогда очевидно, что 4 сделки были сделаны на Bid, поэтому они являются сделкой SELL. Однако MT5 (или AMP?) Размещают этот тик до торгов, так что эти сделки, похоже, происходят между спредом (7195-7197) и не могут определить направление.
Я могу предоставить все необходимые данные, но не публично.
Писал в отдельной ветке по CopyTicks, но там что-то глухо. Проверил на 1912 - проблема так же воспроизводится. Дублирую здесь.
CopyTicks возвращает более старые данные, чем были запрошены, если запрашивать не свежие тики. Т.е. возвращает данные старее, чем параметр from. Баг плавающий - проявляется в разное время, поэтому написал небольшой код, который воспроизводит. Запускал в тестере на EURUSD H1, 2017.08.01 - 2018.08.01.
Выхлоп:
2018.10.18 13:58:07.882 2017.08.02 12:00:00 idx=31, dt[0]=2017.08.01 05:00:00
2018.10.18 13:58:07.882 2017.08.02 12:00:00 cnt=2000
2018.10.18 13:58:07.882 2017.08.02 12:00:00 ERROR: i=0, ticks[i].time_msc=1501555854472 (2017.08.01 02:50:54)
У меня смешной вопрос) Где ссылка на скачивание бетта версии ? Я с сайта попробовал скачать но скачал прошлую версию терминала.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2018.10.11 14:25
Прочтите дополнение к #178, пожалуйста.
Прочёл, но дело не в последней строчке, а во второй
Термиминал отдал приказ:
Сервер МТ 5 проверил ордер и утвердил его
Посмотрите сколько времени прошло...