Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Киньте сюда инструкцию по открытию реала на БКС, пожалуйста.
Чтобы не рыскать каждый раз, выложил в профиле.
Alexey Kozitsyn:
Спасиб
Делаю соответствия, различия есть, но незначительные.
По моему мнению, функция записи тиков ордеров в историю работает не првильно (со сделками всё ОК).
Сделаю 300 строк и выложу файл сравнения.
Добавлено
Проверьте, мог ошибиться
Сработал точно и в 10-00 и в 14-05
2017.01.26 14:05:00.005 Time_sync_forts (URKA-3.17,H1) Local time sync is done. Symbol = RTS-3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 5
Добавлено
Пожалуй, уберу BR, чтобы всё происходило автоматичести 3 месяца :)
Ну вот и всё.
И утренняя сессия и после обоих клирингов.
Работа проделана большая, кропотливая. Поскольку в основе синхронизации времени предложенным способом лежит учет значения пинга, есть вопрос.
Терминал по запросу с идентификатором TERMINAL_PING_LAST дает (по документации MQL) "Последнее известное значение пинга до торгового сервера в микросекундах".
Что это такое, стабильны ли его значения и насколько велики? Много лет вижу эту характеристику в лог-файлах, теперь можно увидеть пинги и в списке серверов прямо в терминале. Причем очень стабильные. Что это?
Вариантов, которые я могу представить, всего два.
1. Это характеристика сети, которую используют маршрутизаторы для анализа путей IP-пакетов, получаемая по сетевому протоколу ICMP и фактически учитывающая лишь аппаратное прохождение сигнала. В конкретном случае измерения пинга между компьютером клиента и сервером - значит, туда обратно между их сетевыми картами. До приложений пакеты с этим протоколом обычно не доходят, это не нужно https://ru.wikipedia.org/wiki/ICMP.
2. Это удвоенное время прохождения сигнала от приложения на сервере до приложения у клиента.
Кто-нибудь подскажет?
Работа проделана большая, кропотливая. Поскольку в основе синхронизации времени предложенным способом лежит учет значения пинга, есть вопрос.
Терминал по запросу с идентификатором TERMINAL_PING_LAST дает (по документации MQL) "Последнее известное значение пинга до торгового сервера в микросекундах".
Что это такое, стабильны ли его значения и насколько велики? Много лет вижу эту характеристику в лог-файлах, теперь можно увидеть пинги и в списке серверов прямо в терминале. Причем очень стабильные. Что это?
Вариантов, которые я могу представить, всего два.
1. Это характеристика сети, которую используют маршрутизаторы для анализа путей IP-пакетов, получаемая по сетевому протоколу ICMP и фактически учитывающая лишь аппаратное прохождение сигнала. В конкретном случае измерения пинга между компьютером клиента и сервером - значит, туда обратно между их сетевыми картами. До приложений пакеты с этим протоколом обычно не доходят, это не нужно https://ru.wikipedia.org/wiki/ICMP.
2. Это удвоенное время прохождения сигнала от приложения на сервере до приложения у клиента.
Кто-нибудь подскажет?
На этот вопрос точно могут ответить только разработчики.
Я основывался на втором варианте
> Это удвоенное время прохождения сигнала от приложения на сервере до приложения у клиента.
Ну вот и всё.
И утренняя сессия и после обоих клирингов.
Всё работает "как часики" :)
2017.01.30 14:05:00.002 Time_symc_forts (URKA-3.17,H1) Local time sync is done. Symbol = Si-3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2
2017.01.30 19:00:00.003 Time_symc_forts (URKA-3.17,H1) Local time sync is done. Symbol = Si-3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3
Добавлено
Осталось дождаться когда торги начнуться в 19-05
Всё работает "как часики" :)
2017.01.30 14:05:00.002 Time_symc_forts (URKA-3.17,H1) Local time sync is done. Symbol = Si-3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2
2017.01.30 19:00:00.003 Time_symc_forts (URKA-3.17,H1) Local time sync is done. Symbol = Si-3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3
Добавлено
Осталось дождаться когда торги начнуться в 19-05
Добавлено
Для Сергея
https://www.mql5.com/ru/forum/166646
Ради интереса, включи если не сложно, посмотрим насколько точно синхронизируется время:
//| Delta Time Server.mq5 |
//+------------------------------------------------------------------+
struct _SYSTEMTIME
{
short year;
short mon;
short day_of_week;
short day;
short hour;
short min;
short sec;
short msc;
};
_SYSTEMTIME loc_time;
#import "kernel32.dll"
void GetLocalTime(_SYSTEMTIME &sys_time);
bool SetLocalTime(_SYSTEMTIME &sys_time);
#import
//---
MqlTick tick;
MqlDateTime sv_time;
int tick_msc,ping,time_server,time_local,delta=0,mdelta[10],n=0;
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
loc_time.year=0;
GetLocalTime(loc_time);
if(loc_time.year>0)
{
if(!SymbolInfoTick(_Symbol,tick)) { Print("error SymbolInfoTick: ",GetLastError()); return; }
ping=TerminalInfoInteger(TERMINAL_PING_LAST)/1000;
tick_msc=int(tick.time_msc%1000);
TimeToStruct(tick.time,sv_time);
time_server=(sv_time.sec+sv_time.min*60)*1000+tick_msc;
time_local=(loc_time.sec+loc_time.min*60)*1000+loc_time.msc;
delta=AvgDelta(time_server-time_local);
Print(
"ping : ",ping,
" | time server: ",sv_time.hour,":",sv_time.min,":",sv_time.sec,",",tick_msc,
" | time local: ",loc_time.hour,":",loc_time.min,":",loc_time.sec,",",loc_time.msc,
" | delta ms: ",delta,
" | min max delta: ",mdelta[ArrayMaximum(mdelta)]," : ",mdelta[ArrayMinimum(mdelta)],
"");
}
}
//+------------------------------------------------------------------+
int AvgDelta(int d)
{
int avgd=0;
mdelta[n]=d;
n++; if(n>=10) n=0;
for(int i=0;i<10;i++) avgd+=mdelta[i];
return(avgd/10);
}
//+------------------------------------------------------------------+