MqlTick

 
void OnTick()
  {
//---
    MqlTick t_array[];
    int copi=CopyTicks(Symbol(),t_array,COPY_TICKS_ALL,0,1);
    MqlTick tick = t_array[0];
    if(tick.flags & TICK_FLAG_BUY)
    {
      FileWriteLong(file_open,tick.time_msc);
      FileWriteLong(file_open,tick.volume);
      FileWriteDouble(file_open,tick.last);
      
    }
  }

нет записи в файл ,где я ошибся и как исправить ?

а если выставить флаг TICK_FLAG_LAST то условие выполняется и запись в файл происходит

 
dimka8:

нет записи в файл ,где я ошибся и как исправить ?

а если выставить флаг TICK_FLAG_LAST то условие выполняется и запись в файл происходит

Потому что не всегда тик возникает вследствие сделки на покупку. Видимо, в Вашем случае наиболее часто происходит изменение цены последней сделки.
 
dimka8:

нет записи в файл ,где я ошибся и как исправить ?

а если выставить флаг TICK_FLAG_LAST то условие выполняется и запись в файл происходит

Добавил индикатор, который визуально показывает названия флагов тиков:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Тиковая история

Karputov Vladimir, 2015.10.14 20:54

...

Добавлено:

Индикатор "CopyTicksInd.mq5" версия 1.43 для сравнения трёх режимов отображения тиков. Также отображает название типа флага:

График EURUSD, M1, 2016.01.20 09:21 UTC, MetaQuotes Software Corp., MetaTrader 5, Demo

 
Karputov Vladimir:

Добавил индикатор, который визуально показывает названия флагов тиков:


у меня получается ,что TICK_FLAG_LAST происходит примерно 3-4 раза в секунду . TICK_FLAG_BUY не разу за день ,это так и должно быть?
 
dimka8:
у меня получается ,что TICK_FLAG_LAST происходит примерно 3-4 раза в секунду . TICK_FLAG_BUY не разу за день ,это так и должно быть?
Какой торговый сервер? Какой символ? Какие настойки индикатора (какой режим индикатора выбираете?)
 
БКС реал. счет номер порта не могу найти , Si-3.16 2016.01.19. не понял на счет режима индикатора ?
 
dimka8:
БКС реал. счет номер порта не могу найти , Si-3.16 2016.01.19. не понял на счет режима индикатора ?
Запустите, пожалуйста, мой индикатор (ссылка выше на два поста).
 
Karputov Vladimir:
Запустите, пожалуйста, мой индикатор (ссылка выше на два поста).


TICK_FLAG_SELL – тик возник в результате сделки на продажу иTICK_FLAG_BUY – тик возник в результате сделки на покупку не разу за 15 мин



 
dimka8:


TICK_FLAG_SELL – тик возник в результате сделки на продажу иTICK_FLAG_BUY – тик возник в результате сделки на покупку не разу за 15 мин



Да. Странно (или я чего-то не знаю) - но такое поведение - отсутствие флагов TICK_FLAG_SELL и TICK_FLAG_BUY я проверил и на форексных и на биржевых символах. В общем пока не знаю.
 
Karputov Vladimir:
Да. Странно (или я чего-то не знаю) - но такое поведение - отсутствие флагов TICK_FLAG_SELL и TICK_FLAG_BUY я проверил и на форексных и на биржевых символах. В общем пока не знаю.
проверил все флаги по отдельности ,все работают кроме TICK_FLAG_SELL и TICK_FLAG_BUY . инструмент Si-3.16 . MT5 build 1241
 
вот еще что сейчас заметил . скачал индикатор *** 3 дня назад он работал ,а сейчас не работает хотя демо срок не вышел . почему полез в флаги TICK_FLAG_SELL и TICK_FLAG_BUY ,я думаю *** работает с этими флагами .
Причина обращения: