Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/20/24 01:28
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (kzhao, AndrewAMD, bigsmack), 824 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 5 1 2 3 4 5
Re: price() clarification [Re: ] #435143
01/03/14 12:48
01/03/14 12:48
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
I've just asked and can confirm that in the included historical data files, most ticks are minute aligned. So normally one tick is indeed identical to a 1-minute bar, other than in my example above.

To avoid confusion: "Ticks" here mean the raw data as received from the price server, consisting of HLOC prices and a time stamp. If a tick contains only a single price quote, H L O C are identical. But normally they have wicks and look like a normal candle.

So, all is fine, at least I do not know of a mystery about ticks and bars. You can easily see the raw ticks when you plot a chart of 1-minute bars:


Re: price() clarification [Re: jcl] #435146
01/03/14 13:25
01/03/14 13:25

A
acidburn
Unregistered
acidburn
Unregistered
A



By "I've asked" I presume you asked FXCM? That explanation is very weird indeed.

Let me demonstrate, now that I've found some time to extract some real ticks (EUR/USD, Dukascopy feed):

Here's how ticks look:

Code:
2014-01-02 01:17:13.341 1.37694 1.37714
2014-01-02 01:17:13.644 1.37695 1.37703
2014-01-02 01:17:15.954 1.37694 1.37713
2014-01-02 01:17:16.209 1.37694 1.37718
2014-01-02 01:17:17.653 1.37680 1.37706
2014-01-02 01:17:17.754 1.37680 1.37719
2014-01-02 01:17:17.805 1.37680 1.37720
2014-01-02 01:17:20.120 1.37680 1.37703
2014-01-02 01:17:20.424 1.37691 1.37696
2014-01-02 01:17:28.991 1.37694 1.37696
2014-01-02 01:17:29.042 1.37695 1.37698
2014-01-02 01:17:29.143 1.37696 1.37703
2014-01-02 01:17:29.201 1.37696 1.37705
2014-01-02 01:17:29.301 1.37695 1.37725
2014-01-02 01:17:31.682 1.37696 1.37725
2014-01-02 01:17:32.307 1.37695 1.37725
2014-01-02 01:17:33.607 1.37704 1.37725
2014-01-02 01:17:33.915 1.37714 1.37725
2014-01-02 01:17:57.532 1.37715 1.37723
2014-01-02 01:17:59.977 1.37714 1.37725



First column is the time (including milliseconds) followed by bid & ask prices. When you get a tick you know that there has been at least one transaction with that bid/ask prices. There could have been more, but another tick is printed only if bid/ask prices changed since the last tick has printed.

If you look closely, all the above ticks are from the same minute 01:17 and I specifically looked for the very quiet period so that I can paste the full minute without forcing you to scroll too much. wink Trust me, during peak hours one minute more often than not sees more than hundred ticks. Tens of ticks can occasionally be printed inside one second.

Converting that tick data to 1min bars is quite straightforward, you detect the opening price (first bid: 1.37694 in the example above), closing price (last bid: 1.37714), highest price (1.37715), lowest price (1.37680) and you're done.

So you compress typically hundreds of ticks to just 4 numbers (losing lots of information in the process) to get a 1 min OHLC bar, but calling the resulting OHLC bar 'a tick' is insane.

Re: price() clarification [Re: ] #435148
01/03/14 14:22
01/03/14 14:22
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Well... I think discussions about how something ought be called or not are certainly among the ten most superfluous human activities. So you have my permission to call that thing that I refer to as 'tick' anything else that you want wink.

We've just followed the name convention from broker APIs, which normally use the name 'tick' for the smallest price cluster. If you can think of a better name, I'm open for any suggestions.

Re: price() clarification [Re: jcl] #435150
01/03/14 14:39
01/03/14 14:39

A
acidburn
Unregistered
acidburn
Unregistered
A



Originally Posted By: jcl
Well... I think discussions about how something ought be called or not are certainly among the ten most superflous human activities. So you have my permission to call that thing that I refer to as 'tick' anything else that you want wink.


I'm pretty sure that if I loved history, I would've known a few examples where language barriers started wars. wink

Quote:

We've just used the terminology from the broker API, therefore the name 'tick' for that thing, which is represented by the TICK struct in the software.


OK, so it is FXCM insanity or just illiterate API programmers, whatever... And it's not a first time. FXCM 'lot' is also not 100000 of base currency like the rest of the world, but something completely different.

But to call 1min bar a tick and 2min bar is suddenly not a tick? Weird! And how can a tick have 4 prices? And how can it last for 1 minute exactly, how that makes it a tick? Blah...

I agree it's stupid chasing the reasons for bad terminology, but it's still confusing and error prone to translate every occurence of work 'tick' to 'bar actually' in mind. Not to mention that some of your previous explanation how various price function operate on ticks didn't make any sense to me, only now I understand why. laugh

Re: price() clarification [Re: ] #435152
01/03/14 14:42
01/03/14 14:42
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Just to avoid further confusion: A bar is NOT a tick. A bar is a time period, while a tick is the smallest price cluster.

Only in the special case when the bar period is identical to the tick distance, a bar is equivalent to 1 tick.

Re: price() clarification [Re: jcl] #435155
01/03/14 14:52
01/03/14 14:52

A
acidburn
Unregistered
acidburn
Unregistered
A



Could you please explain what 'price cluster' is? I never heard of it...

Searching manual returns only: "The Z3 system detects price clusters that precede a breakout - a strong price movement in any direction"

Google search returns a lot of hits about "Fibonacci price clusters", is that it? Doubt it...

Re: price() clarification [Re: ] #435156
01/03/14 14:53
01/03/14 14:53
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
I've just made up that word for avoiding 'tick'. I meant an object clustered together from 4 prices. In software:

Code:
typedef struct TICK
{
	float fOpen, fClose;	
	float fHigh, fLow;	
	DATE	timestamp;	
} TICK;


Re: price() clarification [Re: jcl] #435157
01/03/14 15:10
01/03/14 15:10

A
acidburn
Unregistered
acidburn
Unregistered
A



Sorry, you're still not coming clear here. That object looks _exactly_ like an OHLC bar. Also from what I've seen, Zorro's (might be FXCM's) bar files are constructed from 1min bars. If it looks like a bar, swims like a bar and quack like a bar it's an effing bar.

So, when 2 posts above you say "A bar is a time period, while a tick is the smallest price cluster" I really don't understand what you mean.

Above I see structure that describes the most common price bar nowadays (used to construct the most popular OHLC and candlestick charts). Yes, it is awkwardly called 'TICK', which reminds of a standard price tick I explained earlier. But beside C source it should NEVER be called a tick to avoid any confusion with real price ticks.

Re: price() clarification [Re: ] #435181
01/03/14 18:16
01/03/14 18:16
Joined: Jun 2013
Posts: 1,609
D
DdlV Offline
Serious User
DdlV  Offline
Serious User
D

Joined: Jun 2013
Posts: 1,609
I agree that discussions about what something "ought" to be called are sometimes superfluous. However, agreeing on the definitions of terms is rarely superfluous - in fact, it's usually critical to a useful discussion and good decisions. So, I start there:

Tick: Timestamp, Bid, and Ask provided whenever one of the latter 2 changes in live trading; or provided as historical data from live trading. (Or I suppose could be made up to simulate future trading...)

Bar: Timestamp, Open, Close, High, and Low built from the Ticks of whatever the Bar's historical time period is, possibly ending with the most recent live data, Open coming from the last Tick prior to the start of the time period. Also called Candle.

Is this correct? Is there any other useful term to define?

Using those definitions, my understanding is that Zorro's provided history files are 1 minute Bars built from the historical Ticks - is that correct?

Returning to pipclown's original question, he saw a preponderance of High==Open and Low==Close for EUR/USD in the 1st 1/2 of 2007. GBP/USD shows the same thing, but AUD/USD does not - why the difference?

Additionally, for EUR/USD the preponderance persists through 2010 but vanishes beginning with 2011 - why?

Thanks.

Re: price() clarification [Re: DdlV] #435193
01/03/14 19:44
01/03/14 19:44
Joined: May 2013
Posts: 627
Bonn
Sundance Offline
User
Sundance  Offline
User

Joined: May 2013
Posts: 627
Bonn
Definition of terms is absolute the base before discussing anything. DdlV gave the right ones. Never ever call a tick something with a High,Low,Open and Close price. This is definitively not a tick!
I'am a little bit surprised to read your definition of a Tick three posts above JCL. It's simply Wrong and has nothing to do with obsolete naming something so important.

Page 2 of 5 1 2 3 4 5

Moderated by  Petra 

Powered by UBB.threads™ PHP Forum Software 7.7.1