Скачать MetaTrader 5

Индикаторы: Тиковый график на любом таймфрейме.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Как купить продукт в MetaTrader AppStore? Прочитай статью об этом!
MetaQuotes Software Corp.
Модератор
181346
MetaQuotes Software Corp. 2011.04.07 08:00 

Тиковый график на любом таймфрейме.:

Тиковый график рисуется в подокне на любом таймфрейме в онлайн режиме.

Author: Mechta

Vadim Zhunko
5226
Vadim Zhunko 2011.04.07 09:46  

Неправильный, нехороший код. Надо так:

double b=Close[0];
И даже так будет терять тики от особенностей их прихода. Часто они приходят пачками. Всё тики в пачке будут потеряны, кроме последнего.
MQL4 Comments
16319
MQL4 Comments 2011.04.08 04:05  
У Rosh-а есть не плохой тиковик. зачем было дублировать?
Vladimir Gladun
139
Vladimir Gladun 2011.04.08 05:01  
Zhunko:

Неправильный, нехороший код. Надо так:

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. Да, вы правы, бывают пачки тиков с одной и той же ценой, но они все ловятся.

Vadim Zhunko
5226
Vadim Zhunko 2011.04.08 10:51  
vladimirgladun:
Zhunko:

Неправильный, нехороший код. Надо так:

double b=Close[0];
И даже так будет терять тики от особенностей их прихода. Часто они приходят пачками. Всё тики в пачке будут потеряны, кроме последнего.

Да, вы правы, бывают пачки тиков с одной и той же ценой, но они все ловятся.

Как Вы их ловите? Ни один из тиков в пачке не отобразится, кроме последнего. Можно сравнить со штатным окном тиков.

Единственный вариант взять тики из пачки - DDE. Есть ещё один не очень хороший вариант - экстраполировать пропавшие тики.

И однозначно, нельзя ловить тики в индикаторе. Только в эксперте!!! При чём, эксперт должен быть освобождён от всех остальных операций. Только ловит и передаёт в память.

==========

На счёт квантования времени прихода тиков... Интересно... Не знал.

MQL4 Comments
16319
MQL4 Comments 2011.08.26 11:34  
а как сделать что б одновременно и Ask отображался???
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий