Неправильный, нехороший код. Надо так:
double b=Close[0];И даже так будет терять тики от особенностей их прихода. Часто они приходят пачками. Всё тики в пачке будут потеряны, кроме последнего.
Неправильный, нехороший код. Надо так:
double b=Close[0];И даже так будет терять тики от особенностей их прихода. Часто они приходят пачками. Всё тики в пачке будут потеряны, кроме последнего.
Попробуйте запустить в следующем подокне вот такую штуку:
#property indicator_separate_window#property indicator_buffers 1
#property indicator_color1 Aqua
double x[];
double time1,time2;
int init()
{
IndicatorBuffers(1);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,x);
SetIndexDrawBegin(0,0);
SetIndexLabel(0,"x");
SetIndexShift(0,0);
time1=GetTickCount();
return(0);
}
int start()
{
int j;
double t;
time2=GetTickCount();
t=time2-time1;
Alert("Время между тиками(мсек) = ",t);
x[0]=MathLog(t);
time1=time2;
for(j=2000;j>=1;j--){x[j]=x[j-1];}
return(0);
}
Если будете внимательны, то заметите, что временные расстояния между тиками кратны 16 мсек (правда за счет всевозможных флуктуаций может встречаться и число 15). Т.е. возможные времена: 15,16,31,32,47,48 и т.д., но никаких других времен вы не увидите. Не могу точно сказать почему это происходит, возможно это аппаратные особенности серверов. Бывает еще встречается интервал времени равный 0. Да, вы правы, бывают пачки тиков с одной и той же ценой, но они все ловятся.
Неправильный, нехороший код. Надо так:
double b=Close[0];И даже так будет терять тики от особенностей их прихода. Часто они приходят пачками. Всё тики в пачке будут потеряны, кроме последнего.
Да, вы правы, бывают пачки тиков с одной и той же ценой, но они все ловятся.
Как Вы их ловите? Ни один из тиков в пачке не отобразится, кроме последнего. Можно сравнить со штатным окном тиков.
Единственный вариант взять тики из пачки - DDE. Есть ещё один не очень хороший вариант - экстраполировать пропавшие тики.
И однозначно, нельзя ловить тики в индикаторе. Только в эксперте!!! При чём, эксперт должен быть освобождён от всех остальных операций. Только ловит и передаёт в память.
==========
На счёт квантования времени прихода тиков... Интересно... Не знал.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Тиковый график на любом таймфрейме.:
Author: Mechta