AmiBroker Daily Backtest: Ensure 1-Min Bar Stop-Loss Precision?

Dear AmiBroker experts and experienced users,

My strategy is a pure daily frequency strategy, but to ensure backtesting accuracy, I have already imported complete historical 1-minute bar data for all stocks into the database.

When using AmiBroker for daily frequency backtesting, I have a core question regarding how the built-in intraday stop-loss/take-profit mechanism (e.g., using ApplyStop()) utilizes data:

  1. Data Utilization Mechanism: AmiBroker's backtesting engine appears to use the daily bar's High/Low extremes to "simulate" stop-loss triggers, rather than directly iterating through and utilizing the 1-minute bar data sequence I've provided. Is this to achieve what AmiBroker emphasizes as "ultra-fast execution"?
  2. Precision Requirements: While the daily bar's High/Low are already accurate aggregations of 1-minute bar data, I hope that when stop-losses are triggered, the system can use the 1-minute bar data sequence for the most precise intraday exit determination (i.e., I want to achieve maximum precision in "realistic backtesting").
  3. Is there a way to force AmiBroker to read and utilize 1-minute bar data sequences when processing stop-loss/take-profit, while maintaining the backtest periodicity set to "Daily"?

All your points refer to the same common root explanation:
Multiple Time Frame support

It is explained here in detail.
Short answer is No, but you can instead use 1-minute "periodicity" and write your entry code in Daily timeframe.

2 Likes