Hello everyone.
Im new to forex trading. By trade Im a developer by trade, and I find this topic interesting and I want to get into it.
I have been trying to understand how BID/ASK prices link up with OPEN/CLOSE prices on candle sticks.
I understand that the spread is basically what the broker is basically making on executing a buy sell and if the number of trades for a currency pair stays constant, the difference between these two would also stay constant.
So lets say my forex stream is being refreshed every minute. The data I get is the BID, the ASK the HIGH and the LOW.

What I want to know is from this how do I draw my candle stick. I need an open and a close? I was thinking that if I plotted say the BID price, one close is the same as the next candlesticks open but I know this is not necessarily the case. That would also mean I cant draw a candlestick until the next data point came in each time.

Is this how you guys do it? Whats the deal with this? It seems some streams give open and close and some give bid and ask…

You want to draw candlesticks by hand? Nobody here does that.

Get yourself a free demo account from any broker, and let the broker’s servers do all that work for you.

Regarding BID and ASK prices, and HIGH and LOW prices, [B]you are mixing different things here.[/B]

There are 2 separate data streams: BID prices and ASK prices. On most trading platforms (the demo I was suggesting), it is possible to plot both BID and ASK prices on one chart, not as candlesticks, but as price lines. Each line (the BID line and the ASK line) plots one metric (usually the LAST price) for each time period.

Most traders use candlestick charts of either the BID prices, or the ASK prices, for each currency pair. From what traders say and post on this website, it seems that the majority of traders use BID-price charts.

When you use a BID-price chart, the current price you see is the price at which you can SELL the pair. The price at which you can BUY the pair is the price you see on your BID-price chart plus the spread.

Each candle on a candlestick chart (whether it’s a BID-price candlestick chart, or an ASK-price candlestick chart) graphically displays 4 metrics: the OPEN, the HIGH, the LOW and the CLOSE for a particular time period —
say 5 minutes, or 1 hour, or 4 hours, etc., depending on the chart you are looking at.

If you want to learn about this stuff, you need to do 2 things: study the Babypips School, from start to finish; and get yourself a demo account, so that you can follow along with the lessons in the School.

Click the SCHOOL tab at the top of this page, to get started.


Huh? You need to head back to school right away, babypips has a lot of content for Fx for beginners and btw, no one and I mean no one draws candles…god, if we had to do that, we would all have to be up 24*7 but even then, we would still not be able to plot all the market movements…

what would be your purpose for ‘drawing’ candlesticks?brokers provide that for you, and being a developer you use data in many ways (i guess that’s your objective)

Hi guys thanks for replies.
I have completely mislead you all! I stated I was a developer (software developer) with the intent that it would explain that I have written software to draw the candlesticks for me. I am far too lazy to draw candlesticks by hand!!!
My confusion comes from the fact that I do have a few demo accounts around the place. Yahoo allow you to download historical data, which comes as Open, high, low, close, and I can happily plot the candlesticks for that in my software.
This site, is quite nice too, it gives me the xml data for a load of currency pairs - and is the source of my question.
I can refresh the page at constant time intervals (say 5 minutes) and get the latest prices. However it gives me high/bid/ask/low price. I want to know how I can draw (with my software remember!) the candlesticks from this data based on the fact that I dont know the open and close. So can I set the open of one candlestick = close of the last candle stick? I dont think I can, but I cant see the link!

Make more sense???

The bid and ask shown is the current live price the very second you load that page. The high/low represents the highest ask price and the lowest bid price for the time period you’ve selected…

So if you picked 5 minute, it would be the highest ask price that had come in the last 5 minutes, and the lowest bid price that had come in the last 5 minutes.

If you are being serious about creating your own charting software, you will want to get a legitimate price feed with real time tick data. Creating 5 minute charts on your own from the website is not going to help you become a better trader.

Yes, Close[1] more often than not equals Open[0], with the high/low that happens between the open of candle 0, and the close of candle 0 making up the rest of the information. But on MT4 the candles are made up of bid prices only. And the open of the new candle comes with the first tick, so there can subtle variations to price, with the biggest difference being when the feed is stopped for weekend closes, and new week opens.

The biggest problem I see is if your refresh rate is 5 minutes or so, you’re going to lose a lot of information. During things like the NFP, a lot can happen in 5 minutes.

If you don’t mind me asking, why wouldn’t it be easier to write a program within the confines of something like jForex, Ninja Trader, TradeStation, or MT4, that already puts that info together nicely, and pull it out to wherever you need it?

Tang is right, your going to need a more powerful program and separate data feeds for that. Most brokers do not store bid/ask data, so your going to have to make a database to extract it and record it. Then plot using any program able platform is probably the best way. Also your going to have to deal with exceding large spreads if your broker has variable spreads and that could create bad data points, so having some kind of data scrubber is going to have to be part of this. I have worked with exchange tick data and trust me it takes a lot of work. Its do able, i have historical level 2 data with 10 levels of depth, but man it takes a really long to have my scrubber go through and run on my data base. Helpful if you can use the information to create an edge, but it is a lot of work and your going to need to have VERY reliable data. I only use futures exchange tick data if your going to be this accurate because no broker is going to have the same bid ask. If other people are not seeing the same thing you are whats the point??

Finally, yes that makes more sense…for a moment, we were all wondering if you were planning to draw the candle on every price movement. On the highs and lows, that’s specific to the time you select. And if you do not mind my asking, where are u getting the feeds from [price]?

OK yeah, 5 minutes is a while, I can cut that down no problems.
Ive only been using these other data sources and historical data to pull something together and see if I can get the graphs to plot etc. I’m not sure what the best source of the data would be. I don’t really like the fact that I am assuming a closing price will be the same as the next opening price, that doesnt sound “right”.
So what would people recommend in terms of a data source - preferably a free one, as Im really only wanting this to be an educational exercise at the moment, and cant really afford to fork out for expensive feeds. I would prefer it if it told me open/close/high/low and whether it was bid or ask prices.

That’s because it’s not.

The open of a new candle happens on the first tic of that candle. It is more often than not slightly different than the previous close.

As far as feeds, try something like this.

It even stays open through the weekend, so there would never be a gap. I don’t know how you would extract that info, but you apparently have a way…

Try Bloomberg for data feed, analysis…but think they apply a premium for services, you may want to check that out.

Hiya @Fxmall

Does it come with their terminal+analytic data subscription or its aa separate optional package over the terminal+anlytic data service?

Hiya @Clint Hiya everyone

Also, can someone tell me what the term ‘last bid candle’ or ‘last ask candle’ in the developing EA/Algorithmic-trading for Spot Forex concept means? Does ‘last bid candle’ mean the last candle in sequences of how many candles that if that candle is a bullish candle? Can it mean this? and how many candles it looks backwards if its a downtrend and most candles from the last candle is bear candles?

Tnx and best of luck :blush: :shamrock:

Hey There. …

I know this was a while ago, but hoping you’re still developing in Forex.

Ran across this post and would love to chat - from a technical perspective

SiouxTheRoman (Instagram)