Custom Timeframe H4 doesn't split as expected

Hi All,

I use IQFeed Forex datafeed for my amibroker, set custom 4H TF to my database but the candlestick is not break/split as per Forex broker candlestick. I tried to change the intraday setting trading hour etc, but the candlestick just don't change at all. Anyone has this kind of experience care to share how to resolve please?

Many thanks,

Check Tools->Preferences, "Intraday", "Align minute bars to regular market hours" and if your regular market hours are set to start at half an hour or not.

As always everything is described in the manual:


Align custom minute bars to regular market hours - when checked AmiBroker will trim pre-market custom interval bar so new bar will begin exactly when trading hours start. Trading hours can be set per-database in File->Database Settings->Intraday settings. Let's say that we have 45-minute bars. Without this setting we would bet bars starting at 9:00, 9:45, 10:30, 11:15 etc. When this is turned on and trading starts at 9:30 we have guarantee that bars will be aligned to 9:30: 8:45, 9:30, 10:15, 11:00


So please consult the Users' Guide. All the knowledge is there.


Also, just to add another bit, if you have multiple instruments with different intraday trading times,
then you can add them to relevant groups and define custom times for each group.

This way, your custom TF need not interfere with other settings.
Symbol > Categories > Groups
Then use the checkbox for "Group uses own intraday setings"

1 Like

Thank you Thomas & Travick for the advice.

@Tomasz, my intraday setting already has the 'Align minute bar...' tick box on since the start of the database, i have also tried to change the trading hour in database setting, but it didn't work.

This is the screen capture of the database intraday setting, please help. thanks.

Maybe if you described what you actually expect it would be easier to help you (How to ask a good question). You only wrote "the candlestick is not break/split as per Forex broker candlestick." but this does not tell much and simply nobody knows what you are after. You should describe what you expect and what you see in AmiBroker possibly with screenshot to clarify.

Hi Tomas @Tomasz, apologize for unclear question.

What I want: My amibroker that has IQFeed datafeed to have same H4 candlestick with the MT4 chart.
What I get: The H4 candlestick end and start time is not the same with MT4. The Ami H4 candlestick end time is 2 hours too early compare to MT4 H4. Tried to change the intraday setting etc but still doesn't work.

Kindly help my case please, more than happy to provide more information.


enclosed the screenshot:
Amibroker chart:

MT4 Chart:

any help please from Amibroker guru here?

First MT is not any kind of "reference" so I don't understand your "desire" to mimic MT.

Secondly your "MT" screenshot does NOT show anytime stamps so one can not "guess" when their candles start and what their timestamps are.

But anyway compressed bars start when you want them to start. It is USER DEFINABLE in AmiBroker (unlike other platforms). And it is described (as everything) in the manual. I already given the exact instructions in the post ABOVE. You should just change the setting when DAY SESSION starts in File->Database Settings->Intraday Settings.


  1. Align minutes bar setting in preferences is checked

  2. Trading hour start at 18.00 computer time, hence I set the night session to start at 18.00. I set the time shift to 6 in order to display the daily candle start time as 00.00

  3. The H4 candle is now start at 02.00. I want it, and it's supposed to start at 00.00 (start of the trading day).

Per #3 above, please help on how to start the H4 candle at 00.00, the trading start time. not 2 hours later.

Thank you for your patient,

Bars are fine and begin at 00:00 but you have TIME SHIFT set to 6 hours, so you have bars that are timestamped as follows and then TIMESHIFTED by 6 HOURS as PER YOUR setting:

Original time H4 stamp Timestamp AFTER +6 hours shift
00:00 06:00
04:00 10:00
08:00 14:00
12:00 18:00
16:00 22:00
20:00 02:00

If you want your 4-hour bars to be start from 00:00 after +6 hours shift then you need to set the boundary to use 6 hours offset too, like this: