Кому нужны тики? Супер коллектор с проверкой связи!

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

Комментарии, к сожалению, не привык писать. Задавайте вопросы и пожелания на форуме или в асю ICQ#: 453-995-911 или пишите gravity001@mail.ru. Обязательно отвечу.

Как работать:
1) файл LibPing.dll надо поместить в ...\experts\libraries\. Там содержиться всего одна функция, которая берет пинг. исходнико на Delphi 2007. (если исправить немного, то подойдет для почти всех версий делфи). Если кто и их посмотрит, буду очень признателен!

2) модуль IsConnected04.mq4 (04 - означает версию, поэтому кто будет изменять меняйте и версию, чтобы путаницы не было) проверяет связь с сервером
    использовал бесконечный цикл (кто придумает лучше поделитесь)
    Внешние параметры:
    1) int time_sleep_ms = 10; // mS  [0..inf]                                         - время которое ждёт компутер после ваполнения одного цикла,  стоит в в функции Sleep(time_sleep_ms);
    2) int try_cnt = 5;                         [1..inf]                                         - количество попыток выполнить некоторые операции если произошла ошибка, минимум try_cnt = 1
    3) int ping_slot_ms = 10000; // mS [0..inf]                                       -  интервал в мс между пингованием сервера
    4) string ping_address = "64.151.112.148"; //metaquotes.net            - ip-адрес (записавается через точки) пингуемого сервера
    5) int packet_size = 32; // Byte  [0..inf]                                             - длинна предоваеммой строки, т.е. количество передоваемых байт (это для пинга)
    6) int timeout = 1000; // mS      [0..inf]                                             - время в течении которого ожидается ответ от сервера (если ответ не пришел, то функция возрашает ошибку ping() = 1)
    7) int rtt_dw = 200; // mS         [0..inf]                                             - нижнее значение пинга (если пинг станет ниже этого значения, то в логах появится ошибка)
    8) int rtt_up = 300; // mS          [0..inf]     rtt_up > rtt_dw                  - верхнее значение пинга (если пинг станетвыше этого значения, то в логах появится ошибка)
    9) int pause_dw = 50; // mS      [0..inf]                                            -  нижнее значение паузы, между двумя тиками (если пауза станет ниже этого значения, то в логах появится ошибка)
    10) int pause_up = 180000; // mS [0..inf ] pause_up >  pause_dw      - верхнее значение паузы, между двумя тиками (если пауза станет вышее этого значения, то в логах появится ошибка)

IsConnected04 надо запустить первым, на отдельный график (на тот, с которого тики собираться будут)
 
3) модуль Collector08.mq4 (08 - означает версию, поэтому кто будет изменять меняйте и версию, чтобы путаницы не было) собирает тики и записывает их в файл.
    сделал его отдельно от IsConnected04.mq4 так  как здесь нет бесконечного цикла и проверки связи до сервера не происходит (можно объеденить в один модуль). Но думаю так хуже будет.
    Внешние параметры:

    1) int try_cnt = 5;                         [1..inf]                                         - количество попыток выполнить некоторые операции если произошла ошибка, минимум try_cnt = 1
    2) int ping_slot_ms = 10000; // mS [0..inf]                                       -  интервал в мс между пингованием сервера
    3) string ping_address = "64.151.112.148"; //metaquotes.net            - ip-адрес (записавается через точки) пингуемого сервера
    4) int packet_size = 32; // Byte  [0..inf]                                             - длинна предоваеммой строки, т.е. количество передоваемых байт (это для пинга)
    5) int timeout = 1000; // mS      [0..inf]                                             - время в течении которого ожидается ответ от сервера (если ответ не пришел, то функция возрашает ошибку ping() = 1)
    6) int rtt_dw = 200; // mS         [0..inf]                                             - нижнее значение пинга (если пинг станет ниже этого значения, то в логах появится ошибка)
    7) int rtt_up = 300; // mS          [0..inf]     rtt_up > rtt_dw                  - верхнее значение пинга (если пинг станетвыше этого значения, то в логах появится ошибка)
    8) int pause_dw = 50; // mS      [0..inf]                                            -  нижнее значение паузы, между двумя тиками (если пауза станет ниже этого значения, то в логах появится ошибка)
    9) int pause_up = 180000; // mS [0..inf ] pause_up >  pause_dw      - верхнее значение паузы, между двумя тиками (если пауза станет вышее этого значения, то в логах появится ошибка)



Пожалуйста пользуйтесь! Все замечания принимаю с радостью!

Тики - это самая точная информация о цене (или есть точнее?). Поэтому тики и надо использовать, чтобы не было как в поговорке "Garbage in, garbage out" (мусор на входе, мусор на выходе)!
Файлы:
experts.zip  323 kb
 
Паузы бывают и больше 180 секунд - например, на рыжей. Очень трудно этот параметр выставить правильно. Он, похоже, вообще не ограничен. Но в принципе пусть остается - просто будет повод задуматься.
 
Mathemat:
Паузы бывают и больше 180 секунд - например, на рыжей. Очень трудно этот параметр выставить правильно. Он, похоже, вообще не ограничен. Но в принципе пусть остается - просто будет повод задуматься.
Согласен. Просто если будет Большая Пауза, то Вы будете об этом знать. И при использовании тиков будете учитывать, что в этом месте история возможно плохая (т.е. содержит пропушенные тики)!
Большую Паузу, каждый можеть определить для себя сам. Также это еще зависит от валютного инструмента.
 
Впечатляет Ваш код, а главное подход!
Стоит ли овчинка выделки?
 
Эксперт по тикам, мне кажется, грааль только на истории! А в реале бесполезен (испозьзую м15 с родтверждением по дневкам).  Приводит только к сливу! Либо дает намного меньше прибыли!
 
VBAG:
Впечатляет Ваш код, а главное подход!
Стоит ли овчинка выделки?


Уместный вопрос. Ироничен в этой связи завершающий авторский пассаж "Тики - это самая точная информация о цене (или есть точнее?). Поэтому тики и надо использовать, чтобы не было как в поговорке "Garbage in, garbage out" (мусор на входе, мусор на выходе)!" Есть мнение, что эти самые тики и есть мусор.
 
Vita:

Есть мнение, что эти самые тики и есть мусор.

Тогда чем данные OHLC лучше? Они тоже были тиками.
 
OHLC намного устойчивее, особенно на крупных ТФ. А тики... они действительно полезны, но, как мне кажется, не напрямую для торговых задач.
 
Topor:
Vita:

Есть мнение, что эти самые тики и есть мусор.

Тогда чем данные OHLC лучше? Они тоже были тиками.


Данные OHLC ничем не лучше - тот же случайный шум.

 
Mathemat:
OHLC намного устойчивее, особенно на крупных ТФ. А тики... они действительно полезны, но, как мне кажется, не напрямую для торговых задач.

Видимо, ты имеешь ввиду диапазон цен, а не буквально значения OHLC.
Чем таким "действительно полезны" тики? Какая информация в них?
 
Я имею в виду, например, 4-часовки. Какой же там шум, если там явные и устойчивые тренды?

Ну а тики интересны для статистики. Я инициировал ветку несколько месяцев назад, там выложил несколько картинок. Ветка - 'Тики: распределения амплитуд и задержек' .
Причина обращения: