Объем сделок - страница 8

 
kombat:
Reshetov:
YuraZ:

за один ТИК VOLUME просто увеличивается на +1

напишите простой крипт или советник и убедитесь

он не увеличится на 40 или на 100 за один тик! потому это просто ТИКОВЫЙ ОБЪЕМ а не реальный объем с рынка


Сразу видно, что никогда не торговали. За один тик цена может измениться более чем на 1 пипс. Гэпы тому подтверждение.
Цена то да... Но ить и YuraZ прав... в описании принципа формирования VOLUME в МТ. ;)
Пардон, не глянул, что речь идет о Volume, а не о цене. Беру свои слова обратно
 
Reshetov:
kombat:
Reshetov:
YuraZ:

за один ТИК VOLUME просто увеличивается на +1

напишите простой крипт или советник и убедитесь

он не увеличится на 40 или на 100 за один тик! потому это просто ТИКОВЫЙ ОБЪЕМ а не реальный объем с рынка

Сразу видно, что никогда не торговали. За один тик цена может измениться более чем на 1 пипс. Гэпы тому подтверждение.
Цена то да... Но ить и YuraZ прав... в описании принципа формирования VOLUME в МТ. ;)
Пардон, не глянул, что речь идет о Volume, а не о цене. Беру свои слова обратно
Стоит напомнить кое что из грезнувшего времени: "Главное качество коммуниста - глубокая личная убежденность" Кажись Л.И.Б.
 
kombat:
Paha:
Так что этот способ немного ошибочен!
Дык и не спорю настойчиво... вопрос то сложный:

измерять длину пути литрами расхода топлива...

хотя и выполнимо это. ;)))


Размер тика конечно важен, как и неразрывная цепь тиков.

Допустим прошло 5 тиков вверх, затем 1 вниз, снова 3 вверх и т.д...

Можно наделить такие цепи весовыми свойствами дающие прирост индикатору.

Можно, мысль интересная. Но опять таки а что если эти пять тиков дают меньше пунктов, чем 1 вниз? И вопрос по сохранению такой истории останется открытым! И перещет в другие тФ не возможным! Еще раз хочу предложить брать за тик - одно минутную свечу! Это как вариант! В общем без наглядности трудно что-либо проверить!


К стати, если спидометра на машине нету, то можно и литрами. Пробег вперед, пробег назад :-)))) А у нас как-раз спидометра и не хватвает.

 
Korey:
YuraZ:

за один ТИК VOLUME просто увеличивается на +1

напишите простой крипт или советник и убедитесь

он не увеличится на 40 или на 100 за один тик! потому это просто ТИКОВЫЙ ОБЪЕМ а не реальный объем с рынка

На моем ДЦ за один тик объемы менялись от +1 до +49.

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

Это что за 1 секунду мой терминал принимает 49 тиков? Это при пинге 0.2…0.9 сек?




Korey - Вы оказались правы признаю...

я заблуждался по поводу VOLUME - жаль что в общем никто обоснованно так и не доказал


пообщался с Вами и не только с Вами задался целью докапаться до истины

Вешается как советник ... и гляда а журнал - можно на M1 я вижу как был не прав


В ЭТОМ КОДЕ НАШЕЛ ОШИКУ - исправленый код ниже по теме


//+------------------------------------------------------------------+
//| tikvol.mq4 |
//| YURAZ Copyright © 2008 |
//+------------------------------------------------------------------+
#property copyright "YURAZ Copyright © 2008"
#property link "yzh@ ЩЕТКА ru"


static double uV;
static double dV;
static double V ;


static double mAsk;
static double mBid;
static datetime TimeSave;

int init()
{
//----
V = Volume[0];
mAsk = Ask;
mBid = Bid;
//----
return(0);
}
int deinit()
{
return(0);
}
int start()
{
if ( Ask != mAsk || mBid != Bid) // получили смещение цены 
{

РАСПРИНТОВКА();
}
else
{
Print( "ПРИШЕЛ ТИК БЕЗ СДВИГА ASK BID " );
РАСПРИНТОВКА();
}
mAsk = Ask;
mAsk = Bid;

//----
return(0);
}
//+------------------------------------------------------------------+

void РАСПРИНТОВКА()
{

if ( TimeSave != Time[0] )
{
Print( " НОВАЯ СВЕЧА "+TimeToStr(iTime(Symbol(),0,0) ) );
TimeSave = Time[0];
V = Volume[0]; // внутри свечи собираем новые ОБЪЕМЫ

}
if ( V != Volume[0] ) 
{
Print ( "Прошлый "+V +" Текущий "+Volume[0]+" РАЗНИЦА ="+ MathAbs(Volume[0] - V) );
V = Volume[0];
}
else
{
Print( " ПРИШЛА КОТИРОВКА ОБЪЕМЫ НЕ ИЗМЕНИЛИСЬ , VOLUME "+Volume[0] );
Print ( "Прошлый "+V +" Текущий "+Volume[0]+" РАЗНИЦА ="+ MathAbs(Volume[0] - V) );
}
}
 
YuraZ:
Korey:
YuraZ:

за один ТИК VOLUME просто увеличивается на +1

напишите простой крипт или советник и убедитесь

он не увеличится на 40 или на 100 за один тик! потому это просто ТИКОВЫЙ ОБЪЕМ а не реальный объем с рынка

На моем ДЦ за один тик объемы менялись от +1 до +49.

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

Это что за 1 секунду мой терминал принимает 49 тиков? Это при пинге 0.2…0.9 сек?




Korey - Вы оказались правы признаю...

я заблуждался по поводу VOLUME - жаль что в общем никто обоснованно так и не доказал


Простите, чего недоказано в формировании VOLUME ???


Как выше заметил Решетов, весьма легко запутаться в определениях и потому недопонимать друг друга.

VOLUME - это количество изменений цены в течении бара, приращиваемоё на 1 при каждом изменении цены (тике)

от 0 при открытии до Х в момент закрытия, которое и фиксируется затем в истории котировок...*


Другое название VOLUME - тиковый обьём ( TICKS VOLUME )

Порой и возникает непонятка, когда за один тик цена может скакнуть на несколько пунктов,

и может показаться что и VOLUME тоже должен увеличиться на такую же величину...


Простейший способ "увидеть" как формируется VOLUME это дописать в индикатор выводящий коментарий

несколько строк кода:

double ОБЬЕМ=NormalizeDouble(iVolume(Symbol(), 0, 0),0);
// ...

Comment("Обьём : "+ОБЬЕМ);

Благодаря тому что комментарий на графике недалеко от тикового графика инструмента,

можно воочию убедиться (на спокойном рынке) в том что обьём считается с каждым тиком...


ЗЫ: Никому не настаиваемое ИМХО.

 
YuraZ:
Print( "ПРИШЕЛ ТИК БЕЗ СДВИГА ASK BID " );

Это может произойти если советник пропустил котировку (а такое возможно).

На сколько я помню, МТ не меняет объем и не рисует цену (т.е. не дает тик) если цена не поменялась.

 
komposter:
YuraZ:
Print( "ПРИШЕЛ ТИК БЕЗ СДВИГА ASK BID " );

Это может произойти если советник пропустил котировку (а такое возможно).

На сколько я помню, МТ не меняет объем и не рисует цену (т.е. не дает тик) если цена не поменялась.


да это я знал, пропуск котировок могут быть и не редко

просто тестовых советником пытался отловить максимально возможное количество ситуаций

---

Другое название VOLUME - тиковый обьём ( TICKS VOLUME )

Порой и возникает непонятка, когда за один тик цена может скакнуть на несколько пунктов,

и может показаться что и VOLUME тоже должен увеличиться на такую же величину...



Бывает и нередко приходит тик - меняет ASK - BID а VOLUME остается = 0

т е цена изменилась +1п или -1п а VOLUME при этом = 0 ВЕРОЯТНО ЭТО МОЯ ОШИБКА



 
kombat:
YuraZ:
Korey:
YuraZ:

за один ТИК VOLUME просто увеличивается на +1

напишите простой крипт или советник и убедитесь

он не увеличится на 40 или на 100 за один тик! потому это просто ТИКОВЫЙ ОБЪЕМ а не реальный объем с рынка

На моем ДЦ за один тик объемы менялись от +1 до +49.

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

Это что за 1 секунду мой терминал принимает 49 тиков? Это при пинге 0.2…0.9 сек?




Korey - Вы оказались правы признаю...

я заблуждался по поводу VOLUME - жаль что в общем никто обоснованно так и не доказал


Простите, чего недоказано в формировании VOLUME ???


Как выше заметил Решетов, весьма легко запутаться в определениях и потому недопонимать друг друга.

VOLUME - это количество изменений цены в течении бара, приращиваемоё на 1 при каждом изменении цены (тике)

от 0 при открытии до Х в момент закрытия, которое и фиксируется затем в истории котировок...*


Другое название VOLUME - тиковый обьём ( TICKS VOLUME )

Порой и возникает непонятка, когда за один тик цена может скакнуть на несколько пунктов,

и может показаться что и VOLUME тоже должен увеличиться на такую же величину...


Простейший способ "увидеть" как формируется VOLUME это дописать в индикатор выводящий коментарий

несколько строк кода:

double ОБЬЕМ=NormalizeDouble(iVolume(Symbol(), 0, 0),0);
// ...

Comment("Обьём : "+ОБЬЕМ);

Благодаря тому что комментарий на графике недалеко от тикового графика инструмента,

можно воочию убедиться (на спокойном рынке) в том что обьём считается с каждым тиком...


ЗЫ: Никому не настаиваемое ИМХО.



Бывает и нередко приходит тик - меняет ASK - BID, а VOLUME приходит = 0

т е цена изменилась +1п или -1п а VOLUME при этом = 0


т е довольно странно, то что ASK - BID поменялись, т е пришло приращение цены или декремент уены на 1пипс, тик пришел - я его поймал а VOLUME при этом = 0

предыдущий VOLUME был = 1


выходит VOLUME не наращивается просто по количеству изменений пунктов или тиков

Вы это легко обнаружите если запустите мой маленький исследовательский советник

( тестировал на АЛЬПАРИ )

 
YuraZ:

т е довольно странно, то что ASK - BID поменялись, т е пришло приращение цены или декремент уены на 1пипс, тик пришел тик я его поймал а VOLUME при этом = 0

предыдущий VOLUME был = 1

Что-то я сомневаюсь, что при изменении цены не меняется объем.

Либо просто появляется новая свеча, либо код неправильный. Хотя сам не проверял ;)

 
komposter:
YuraZ:

т е довольно странно, то что ASK - BID поменялись, т е пришло приращение цены или декремент уены на 1пипс, тик пришел тик я его поймал а VOLUME при этом = 0

предыдущий VOLUME был = 1

Что-то я сомневаюсь, что при изменении цены не меняется объем.

Либо просто появляется новая свеча, либо код неправильный. Хотя сам не проверял ;)

Я попытался отловить наличие новой свечи

я говорю про ситуации внутри бара


КОД действительно не совсем корректный только что заметил

при наличии новой свечи будет говорить что объем не поменялся

сейчас доработаю



готово


проверьте кому интересно! что же ТАКОЕ VOLUE


я смотрел M1 но можно найти изменение VOLUME внутри M5



разбираться надо при ситуации когда "VOLUME РАЗНИЦА > = 2"



как пример лога




3 2008.04.03 10:10:09 ticvol USDJPY,M1: Прошлый 9.00000000 Текущий 10.00000000 VOLUME РАЗНИЦА =1.00000000
2 2008.04.03 10:10:09 ticvol USDJPY,M1: Прошлый 7.00000000 Текущий 9.00000000 VOLUME РАЗНИЦА =2.00000000
1 2008.04.03 10:10:09 ticvol USDJPY,M1: Прошлый 6.00000000 Текущий 7.00000000 VOLUME РАЗНИЦА =1.00000000



1 VOLUME был 6 стал 7 разница = 1


2 приход нового тика VOLUME стал 9 но не 8 прирост на 2
новая котировка принесла в VOLUME значение = 2 c приходом одного тика РАЗНИЦА >=2


3 пришла котировка разница = 1



---

вот еще

2008.04.03 10:33:08 ticvol GBPUSD,M1: НОВАЯ СВЕЧА 2008.04.03 06:33
2008.04.03 10:32:37 ticvol GBPUSD,M1: Прошлый 4.00000000 Текущий 5.00000000 VOLUME РАЗНИЦА =1.00000000
2008.04.03 10:32:36 ticvol GBPUSD,M1: Прошлый 2.00000000 Текущий 4.00000000 VOLUME РАЗНИЦА =2.00000000 Спред 0.00030000 NewAsk-OldAsk= 0.00030000 NewBid-OldBid=-0.00040000
2008.04.03 10:32:26 ticvol GBPUSD,M1: Прошлый 1.00000000 Текущий 2.00000000 VOLUME РАЗНИЦА =1.00000000
2008.04.03 10:32:26 ticvol GBPUSD,M1: НОВАЯ СВЕЧА 2008.04.03 06:32


VOLUME со значением 0 в ТИКЕ не наблюдаю - ошибку нашел


СЕЙЧАС КОД ДОТЕСТИРУЮ ВЫЛОЖУ

вроде потестил


---

//+------------------------------------------------------------------+
//| tikvol.mq4 |
//| YURAZ Copyright c 2008 |
//+------------------------------------------------------------------+
#property copyright "YURAZ Copyright c 2008"
#property link "yzh@ ЩЕТКА ru"
 
 
static double uV;
static double dV;
static double V ;
 
 
static double mAsk;
static double mBid;
static datetime TimeSave;
 
static int newbar = 0;
 
int init()
{
//----
 
V = Volume[0];
mAsk = Ask;
mBid = Bid;
newbar = 2; // для старта
 
//----
return(0);
}
int deinit()
{
return(0);
}
int start()
{
RefreshRates();
// Print( " тик "+newbar);
if ( newbar != 2 )
{
if ( Ask != mAsk || mBid != Bid) // получили смещение цены 
{
 
РАСПРИНТОВКА();
}
else
{
Print( "ПРИШЕЛ ТИК БЕЗ СДВИГА ASK BID " );
РАСПРИНТОВКА();
}
}
 
 
mAsk = Ask;
mAsk = Bid;
newbar  = 0;
V = Volume[0];
 
//----
return(0);
}
//+------------------------------------------------------------------+
 
void РАСПРИНТОВКА()
{
 
 
if ( TimeSave != Time[0] )
{
Print( " НОВАЯ СВЕЧА "+TimeToStr(iTime(Symbol(),0,0) ) );
TimeSave = Time[0];
V = Volume[0]; // внутри свечи собираем новые ОБЪЕМЫ
newbar = 1;
}
 
 
if ( V != Volume[0] ) 
{
 
string str = "";
if ( (Volume[0] - V ) > 1.0 )
{
   str =  "  Спред "+(Ask-Bid)+" NewAsk-OldAsk= "+(Ask - mAsk) +" NewBid-OldBid="+ (Bid-mBid) ;
}
 
Print ( "Прошлый "+V +" Текущий "+Volume[0]+"  VOLUME РАЗНИЦА ="+ MathAbs(Volume[0] - V)+" "+str );
 
 
V = Volume[0];
 
}
else
{
if ( newbar == 0 )
{
 
 
Print( " ПРИШЛА КОТИРОВКА ОБЪЕМЫ НЕ ИЗМЕНИЛИСЬ , VOLUME "+Volume[0] ); 
Print ( "Прошлый "+V +" Текущий "+Volume[0]+"  VOLUME РАЗНИЦА ="+ MathAbs(Volume[0] - V) );
 
 
}
}
 
 
}
Причина обращения: