Transaction volume - page 8

 
kombat:
Reshetov:
YuraZ:

per TIC, VOLUME is simply increased by +1

write a simple crypt or Expert Advisor and make sure

it will not increase by 40 or 100 in one tick! because it is simply the TICK VOLUME and not the real volume from the market


You can tell right away that you have never traded. The price can change by more than 1 pip in one tick. Gaps are evidence of that.
The price is... But YuraZ is right too... in describing the principle of VOLUME formation in MT. ;)
Sorry, I did not see that it was the Volume and not the price. I take it back.
 
Reshetov:
kombat:
Reshetov:
YuraZ:

per TIC, VOLUME is simply increased by +1

write a simple crypt or Expert Advisor and make sure

it will not increase by 40 or 100 in one tick! because it is simply the TICK VOLUME and not the real volume from the market

You can tell right away that you have never traded. The price can change by more than 1 pip in one tick. The gaps confirm it.
The price yes... But YuraZ is right too... In describing the principle of VOLUME formation in MT. ;)
Sorry, I did not see that it was the Volume and not the price. I take that back.
It's worth recalling something from a sobering time: "The main quality of a communist is a deep personal conviction".
 
kombat:
Paha:
So this method is a bit erroneous!
Well, I'm not arguing with you... it's a complicated question:

to measure the length of the journey in litres of fuel consumption...

although feasible it is. ;)))


Tick size is of course important, as is an unbroken chain of ticks.

Suppose 5 ticks have gone up, then 1 down, 3 up again, etc...

Such chains can be weighted, giving an increase to the indicator.

It is possible, it is an interesting idea. But again, what if these five ticks gain less points than one tick going down? And the question of storing such a history remains open! And the transfer to other TFs will not be possible! Once again I would like to suggest to take one-minute candle for a tick! This is an option! In general, it is difficult to check anything without visualization!


By the way, if you don't have a speedometer on your car, you can do it in litres. Mileage forward, mileage back :-)))) We don't have a speedometer.

 
Korey:
YuraZ:

per TIC, VOLUME is simply increased by +1

write a simple crypt or Expert Advisor and make sure

it will not increase by 40 or 100 in one tick! because this is simply the TICK VOLUME and not the real volume from the market

On my brokerage company volume varied from +1 to +49 per one tick.

Sometimes, I was sitting, waiting for a kopeck and then candlestick sharrah, and volumes followed right on its heels.

My terminal receives 49 ticks in 1 second? That's with a ping of 0.2...0.9 sec?




Korey- you were right I admit...

I was wrong about VOLUME - sorry no one in general has substantiated it


I wanted to know the truth after talking to you and not only you

Hangs himself as an advisor ... And looking at the log available on M1 I see that I was wrong.


I found a mistake in this code - the corrected code is below on the subject


//+------------------------------------------------------------------+
//| 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:

per TIC, VOLUME is simply increased by +1

write a simple crypt or Expert Advisor and make sure

it will not increase by 40 or 100 in one tick! because this is simply the TICK VOLUME and not the real volume from the market

On my brokerage company volume varied from +1 to +49 per one tick.

Sometimes, I was sitting, waiting for a kopeck and then candlestick sharrah, and volumes followed right on its heels.

My terminal receives 49 ticks in 1 second? With a ping of 0.2...0.9 sec?




Korey - you were right I admit...

I was wrong about VOLUME - too bad no one in general has ever substantiated it


Sorry, what is unproven about the VOLUME formation ???


As Reshetov noted above, it is quite easy to get confused about definitions and therefore misunderstand each other.

VOLUME is the number of price changes during a bar, incremented by 1 at each price change (tick)

from 0 at opening to X at closing, which is then fixed in the quotes history...


VOLUME is also called ticks VOLUME ( TICKS VOLUME ).

This can be confusing, if price can jump several pips in a single tick,

and it may seem that VOLUME must increase by the same amount...


The easiest way to "see" how the VOLUME is formed, is to add to the indicator, that displays a comment

is to add some lines of code to indicator displaying the comment:

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

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

Due to the fact that the commentary on the chart is close to the tick chart of the symbol,

you can see with your own eyes (in a quiet market) that the volume is calculated with every tick...


ZZZ: Not an insistent IMHO.

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

This can happen if the EA misses a quote (which is possible).

As far as I remember, MT does not change volume and does not draw price (i.e. does not give a tick) if the price has not changed.

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

This can happen if the EA misses a quote (which is possible).

As I recall, MT does not change volume and does not draw price (i.e. does not give a tick) if the price has not changed.


i knew that, skipping quotes may be not uncommon.

i just tried to use my test EA to catch as many situations as possible

---

I tried to catch as many situations as possible with a test Expert Advisor.

Sometimes there is a confusion, when the price can jump several pips in one tick,

and it may seem that VOLUME must also increase by the same value.



It happens quite often, when a tick comes - it changes ASK - BID, but VOLUME remains = 0

i.e. price has changed +1p or -1p but VOLUME = 0. THIS IS MY ERROR



 
kombat:
YuraZ:
Korey:
YuraZ:

per TIC, VOLUME is simply increased by +1

write a simple crypt or Expert Advisor and make sure

it will not increase by 40 or 100 in one tick! because this is simply the TICK VOLUME and not the real volume from the market

On my brokerage company volume varied from +1 to +49 per one tick.

Sometimes, I was sitting, waiting for a kopeck and then candlestick sharrah, and volumes followed right on its heels.

My terminal receives 49 ticks in 1 second? Is it with a ping of 0.2...0.9 sec?




Korey - you turned out to be right I admit...

I was wrong about VOLUME - too bad no one in general has ever substantiated it


Sorry, what is unproven about the VOLUME formation ???


As Reshetov noted above, it is quite easy to get confused about definitions and therefore misunderstand each other.

VOLUME is the number of price changes during a bar, incremented by 1 at each price change (tick)

from 0 at opening to X at closing, which is then fixed in the quotes history...


VOLUME is also called ticks VOLUME ( TICKS VOLUME ).

This can be confusing, if price can jump several pips in a single tick,

and it may seem that VOLUME must increase by the same amount...


The easiest way to "see" how the VOLUME is formed, is to add to the indicator, that displays a comment

is to add some lines of code to indicator displaying the comment:

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

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

Due to the fact that the commentary on the chart is close to the tick chart of the instrument,

you can see with your own eyes (in a quiet market) that the volume is calculated with every tick...


ZS: Not insisted by anyone IMHO.



It happens and often a tick comes - changes ASK - BID, and VOLUME comes = 0

i.e. the price has changed +1p or -1p and VOLUME in this case = 0


i.e. it is quite strange that ASK - BID have changed, i.e. there is a price increment or decrement of 1p, the tick came - I caught it but VOLUME at the same time = 0

previous VOLUME = 1


it turns out that VOLUME does not increase simply by the number of changes of pips or ticks

You can easily find it if you run my little exploratory EA

( tested on alpari )

 
YuraZ:

i.e. it is quite strange that ASK - BID changed, i.e. price increment came or decrement of yen by 1 pips, tick came tick I caught it but VOLUME at the same time = 0

previous VOLUME was = 1

Something I doubt that the volume does not change when the price changes.

Either a new candle just appears, or the code is wrong. Didn't check it myself though ;)

 
komposter:
YuraZ:

i.e. it is quite strange that ASK - BID changed, i.e. price increment came or decrement of 1pips, tick came tick I caught it but VOLUME at the same time = 0

previous VOLUME was = 1

Something I doubt that the volume does not change when the price changes.

Either a new candle just appears, or the code is wrong. Didn't check it myself though ;)

I tried to catch the presence of a new candle

I'm talking about situations within a bar


The code really isn't quite correct I just noticed

it will say that volume has not changed in the presence of a new candle.

Now I will refine it



ready


check it out for anyone interested! what is VOLUE


I was looking at M1 but you can find the change in VOLUME inside M5



you need to deal with a situation where "VOLUME DIFFERENCE > = 2"



as an example log




3 2008.04.03 10:10:09 ticvol USDJPY,M1: Past 9.00000000 Current 10.00000000 VOLUME VOLUME =1.00000000
2 2008.04.03 10:10:09 ticvol USDJPY,M1: Past 7.00000000 Current 9.00000000 VOLUME DIVERSE =2.00000000
1 2008.04.03 10:10:09 ticvol USDJPY,M1: Past 6.00000000 Current 7.00000000 VOLUME DIVERSE =1.00000000



1 VOLUME was 6 became 7 difference = 1


2 arrival of a new tick VOLUME became 9 but not 8 an increase of 2
new quote changed VOLUME to a value = 2 with the arrival of one tick DIFFERENCE >=2


3 a quote came the difference = 1



---

here's more

2008.04.03 10:33:08 PM GBPUSD,M1: NEW STOCK 2008.04.03 06:33
2008.04.03 10:32:37 ticvol GBPUSD,M1: Past 4.00000000 Current 5.00000000 VOLUME DIFFERENCE=1.00000000
2008.04.03 10:32:36 ticvol GBPUSD,M1: Last 2.00000000 Current 4.00000000 VOLUME DIFFERENCE=2.00000000 Spread 0.00030000 NewAsk-OldAsk= 0.00030000 NewBid-OldBid=-0.00040000
2008.04.03 10:32:26 ticvol GBPUSD,M1: Last 1.00000000 Current 2.00000000 VOLUME DIFFERENCE=1.00000000
2008.04.03 10:32:26 ticvol GBPUSD,M1: NEW 2008.04.03 06:32


VOLUME with value 0 in TIKE - found an error


I WILL POST CODE NOW

I kinda tested it.


---

//+------------------------------------------------------------------+
//| 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) );
 
 
}
}
 
 
}
Reason: