PulseHub
OPEN-SOURCE SCRIPT

Aurum 2M BOSCHOCH First FVG Strategy

772
# Aurum 2M BOS/CHOCH — First FVG Strategy [Pine Script v6]

## Overview

**Aurum 2M BOS/CHOCH — First FVG Strategy** is a systematic market-structure strategy designed primarily for the **2-minute timeframe**.

The strategy combines:

* confirmed swing-point detection,
* Break of Structure (BOS),
* Change of Character (CHOCH),
* EMA-based directional filtering,
* momentum continuation confirmation,
* the first directional Fair Value Gap,
* limit entry at the 50% FVG level,
* predefined Stop Loss and Take Profit distances,
* visual Entry–SL–TP trade boxes,
* entry-fill alerts.

The objective is to identify structured continuation opportunities after a confirmed market-structure break while avoiding entries against the dominant EMA 200 direction.

This strategy is intended for systematic research, backtesting, alert generation, and disciplined execution. It does not guarantee profitability.

---

## Recommended Timeframe

The strategy was designed for the:

**2-minute chart**

By default, new entries are blocked on other timeframes.

This restriction can be disabled in the settings, but changing the timeframe significantly alters:

* market-structure sensitivity,
* pivot confirmation delay,
* FVG frequency,
* trade duration,
* Stop Loss relevance,
* overall backtest results.

For meaningful testing, each instrument and timeframe should be evaluated separately.

---

## Supported Instrument Profiles

The strategy includes automatic or manual parameter profiles for:

* Gold: GC, MGC, XAU and similar symbols
* Nasdaq: NQ, MNQ, NAS100, US100, USTEC and similar symbols
* S&P 500: ES, MES, SP500, US500 and similar symbols
* Dow Jones: YM, MYM, US30 and similar symbols
* Custom instruments

When the **Auto** profile is selected, the strategy attempts to identify the instrument from its root symbol or ticker.

If the instrument is not recognized, the strategy uses the Custom profile.

### Default Stop Loss and Take Profit distances

* Gold: 10-point Stop Loss and 10-point Take Profit
* Nasdaq: 50-point Stop Loss and 50-point Take Profit
* S&P 500: 100-point Stop Loss and 100-point Take Profit
* Dow Jones: 100-point Stop Loss and 100-point Take Profit
* Custom: 10-point Stop Loss and 10-point Take Profit

These values are starting parameters only. They should not be treated as universally optimal settings.

---

# Strategy Logic

## 1. Confirmed swing points

The strategy identifies market structure using confirmed pivot highs and pivot lows.

A pivot is only accepted after the required number of candles on its right side has closed. Therefore, the strategy does not retroactively create a tradable signal on the historical pivot candle.

Default pivot configuration:

* 3 candles on the left
* 3 candles on the right

Higher pivot values produce fewer but more significant structural levels.

Lower pivot values produce more signals but may increase market noise and false structure breaks.

---

## 2. BOS and CHOCH detection

A bullish structural break occurs when price breaks the latest confirmed swing high.

A bearish structural break occurs when price breaks the latest confirmed swing low.

The strategy classifies the event as:

### Break of Structure — BOS

A break that continues the previously recognized structural direction.

### Change of Character — CHOCH

A break occurring against the previously recognized structural direction, potentially indicating a change in market behavior.

The user can choose to accept:

* BOS and CHOCH,
* BOS only,
* CHOCH only.

---

## 3. Structure-break confirmation

The strategy provides two confirmation methods:

### Candle close

A bullish break requires the candle to close above the confirmed swing high.

A bearish break requires the candle to close below the confirmed swing low.

This is the more conservative setting and is generally recommended for reducing false breaks.

### Wick violation

A bullish break requires the candle high to trade above the confirmed swing high.

A bearish break requires the candle low to trade below the confirmed swing low.

The wick-based condition is still evaluated only after the candle has closed, but it usually produces more signals and may be more sensitive to liquidity sweeps.

---

## 4. EMA 200 directional filter

The EMA 200 defines the primary directional bias.

### Long setups

Long setups are allowed only when the closing price is above the EMA 200.

### Short setups

Short setups are allowed only when the closing price is below the EMA 200.

This prevents the strategy from opening trades directly against its defined long-term directional filter.

---

## 5. Optional EMA 50 alignment

An additional EMA alignment filter can be enabled.

When enabled, the strategy requires:

### Long

Price above EMA 50, with EMA 50 above EMA 200.

### Short

Price below EMA 50, with EMA 50 below EMA 200.

This filter can reduce the number of trades and may remove some countertrend or early-reversal entries.

However, stronger filtering does not automatically produce better results. It may also cause the strategy to enter later or miss the beginning of a new trend.

---

## 6. Continuation candle

A structure break alone is not sufficient to create an entry.

The candle immediately following the BOS or CHOCH candle must confirm continuation in the same direction.

For a bullish setup, the continuation candle must have a bullish body.

For a bearish setup, the continuation candle must have a bearish body.

The strategy provides two continuation modes:

### Close beyond the BOS/CHOCH candle close

The continuation candle must close further in the direction of the break than the closing price of the structure-break candle.

### Close beyond the BOS/CHOCH candle extreme

The continuation candle must close beyond the high or low of the structure-break candle.

The second option is more restrictive and may reduce weaker continuation setups.

If the immediately following candle does not confirm continuation, the setup is cancelled.

---

## 7. First Fair Value Gap

After a valid structure break and continuation confirmation, the strategy identifies the first directional three-candle Fair Value Gap.

### Bullish FVG

A bullish FVG exists when the current candle’s low is above the high from two candles earlier.

### Bearish FVG

A bearish FVG exists when the current candle’s high is below the low from two candles earlier.

The FVG must meet the configured minimum size in ticks.

The strategy can use the first valid directional FVG formed:

* on the structure-break candle,
* on the continuation candle,
* after the continuation candle within the configured search limit.

It does not continuously replace the first FVG with later gaps.

---

## 8. Entry at the FVG midpoint

The strategy calculates the midpoint of the selected FVG and places a limit order at the 50% level.

### Long entry

A buy limit order is placed at the midpoint of the bullish FVG.

### Short entry

A sell limit order is placed at the midpoint of the bearish FVG.

The existence of a pending limit order does not mean that a trade has been opened.

A position is recognized only after the PulseWire broker emulator fills the order.

If the selected FVG midpoint was already touched before the required continuation was confirmed, the setup is rejected. This prevents the strategy from placing a historical or retroactive entry.

---

## 9. Pending-order cancellation

An unfilled limit order may be cancelled when:

* the directional EMA bias is lost,
* an opposite structure break occurs,
* the allowed session ends,
* the backtest range ends,
* the pending-order validity period expires,
* the setup becomes structurally invalid.

The default pending validity is 30 candles.

This parameter should be adapted to the normal retracement behavior of the selected market.

A very long validity period may allow entries after the original setup has lost relevance.

A very short validity period may cancel valid retracements before price returns to the FVG.

---

# Position Management

## Stop Loss

The Stop Loss is calculated from the actual filled entry price, not only from the originally planned limit price.

For long positions, the Stop Loss is placed below the filled entry.

For short positions, the Stop Loss is placed above the filled entry.

The distance is determined by the selected instrument profile.

## Take Profit

The Take Profit is also calculated from the actual filled entry price.

For long positions, the target is placed above the entry.

For short positions, the target is placed below the entry.

The default configuration uses a 1:1 reward-to-risk ratio, but the Stop Loss and Take Profit values can be configured independently.

## Pyramiding

Pyramiding is disabled.

Only one position or one pending entry setup can be active at a time.

## End of backtest

The strategy can automatically close an open position when the selected backtest end date is reached.

---

# Visual Trade Presentation

The strategy can display:

* EMA 50,
* EMA 200,
* directional EMA background,
* active FVG boundaries,
* pending midpoint entry,
* Entry–Take Profit reward box,
* Entry–Stop Loss risk box,
* Entry line,
* Stop Loss line,
* Take Profit line,
* entry labels,
* closed-trade result in points and R,
* strategy status panel,
* optional diagnostic markers.

The position boxes are generated from the actual simulated fill price.

This is important because a pending limit price and the final broker-emulator fill are not always equivalent under every market and backtesting configuration.

---

# Alerts

The strategy is designed to generate alerts only when an entry order is actually filled.

It does not intentionally generate alerts for:

* setup detection,
* BOS or CHOCH detection,
* FVG formation,
* pending limit-order creation,
* Stop Loss execution,
* Take Profit execution,
* backtest-end position closure.

## Recommended PulseWire alert configuration

When creating an alert, select:

**Order fills only**

The entry message may contain:

* trade direction,
* planned entry price,
* planned Stop Loss,
* planned Take Profit,
* Stop Loss distance,
* Take Profit distance,
* reward-to-risk ratio,
* BOS or CHOCH classification,
* selected instrument profile,
* actual fill price,
* ticker,
* timeframe,
* order ID.

Always verify alert behavior in simulation before connecting alerts to external execution software.

---

# Non-Repainting Design

The main structural logic is evaluated on confirmed candles.

The strategy:

* uses confirmed pivot points,
* does not backdate entries to historical pivot candles,
* evaluates BOS and CHOCH after candle confirmation,
* requires the next completed candle to confirm continuation,
* rejects an FVG entry if its midpoint was already reached before confirmation,
* calculates active trade levels from the actual simulated fill,
* does not use future-looking security calls.

However, confirmed pivots naturally introduce a delay because a pivot requires candles on its right side before it becomes known.

This delay is not repainting. It is part of the confirmation methodology.

---

# How to Potentially Improve Strategy Effectiveness

There is no single setting that will improve every market and every period. Increasing the number of filters may improve historical win rate while reducing trade frequency, increasing entry delay, or creating overfitted results.

The following modifications should be tested independently.

## 1. Use session filtering

The strategy may perform differently during low-liquidity and high-liquidity periods.

Potentially useful windows include:

* London open,
* New York open,
* London–New York overlap,
* the first hours of the main futures session.

Instead of trading from 09:00 to 22:00 continuously, compare individual session windows.

For Nasdaq and US indices, the New York session may produce more meaningful displacement but also greater volatility.

For Gold, London and New York activity should be evaluated separately.

Do not assume that the session producing the highest win rate will also produce the highest net profit.

---

## 2. Compare BOS-only and CHOCH-only performance

BOS and CHOCH represent different market conditions.

BOS setups may perform better during established trends.

CHOCH setups may capture earlier reversals, but they can also produce more false directional changes.

Test separate reports for:

* BOS only,
* CHOCH only,
* BOS and CHOCH combined.

The most effective setup type may differ between Gold, Nasdaq, S&P 500, and Dow Jones.

---

## 3. Test candle-close structure confirmation

Using candle closes instead of wick violations can reduce false breakouts caused by liquidity sweeps.

This may improve signal quality but will usually produce fewer and later setups.

Compare:

* net profit,
* profit factor,
* maximum drawdown,
* average trade,
* number of trades,
* consecutive losses,

rather than judging the change only by win rate.

---

## 4. Increase the minimum FVG size

Very small FVGs may represent market noise rather than meaningful displacement.

Increasing the minimum FVG size can remove weaker imbalances.

A more robust approach is to relate the required FVG size to current volatility instead of using only a fixed number of ticks.

For example, a future version could require the FVG to represent a minimum percentage of ATR.

This would allow the filter to adapt to changing volatility.

---

## 5. Add a displacement filter

Not every structure break represents strong institutional-style displacement.

A possible improvement is to require the BOS/CHOCH or continuation candle to meet conditions such as:

* body size greater than a percentage of ATR,
* body larger than the recent average candle body,
* limited opposite wick,
* candle close near its directional extreme,
* increased volume relative to a moving average.

This may help remove weak breaks but must be tested carefully because strict displacement rules can eliminate valid early entries.

---

## 6. Test stricter EMA alignment

Enabling the EMA 50 and EMA 200 alignment may improve performance during directional markets.

Potential long condition:

Price above EMA 50, EMA 50 above EMA 200, and both averages rising.

Potential short condition:

Price below EMA 50, EMA 50 below EMA 200, and both averages falling.

The disadvantage is that moving averages are lagging. A strict filter may enter after a significant portion of the move has already occurred.

---

## 7. Add a higher-timeframe bias

A 2-minute setup can be filtered using a higher timeframe such as:

* 5-minute,
* 15-minute,
* 1-hour.

Possible filters include:

* higher-timeframe EMA 200 direction,
* higher-timeframe market structure,
* previous-day high and low,
* current-day open,
* session opening range,
* premium and discount zones.

A higher-timeframe filter can reduce trades against broader market direction, but using too many conditions may create a highly selective and overfitted system.

---

## 8. Optimize Stop Loss and Take Profit separately

A fixed 1:1 reward-to-risk ratio is not automatically optimal.

Compare multiple configurations, for example:

* 1:0.75,
* 1:1,
* 1:1.25,
* 1:1.5,
* 1:2.

A lower win rate can still produce better results when the average winning trade is sufficiently larger than the average losing trade.

Similarly, a higher win rate may still be unprofitable if losses are larger than winners after costs.

The best configuration should be selected using out-of-sample results, not only the highest historical net profit.

---

## 9. Consider volatility-based risk levels

Fixed point distances behave differently in quiet and highly volatile conditions.

A future version could calculate Stop Loss and Take Profit using:

* ATR,
* recent swing distance,
* FVG size,
* structure-break candle range,
* session volatility.

For example, an ATR-based Stop Loss may prevent the strategy from using an unrealistically tight stop during high volatility.

The disadvantage is that wider volatility-adjusted stops can increase monetary risk unless position size is reduced accordingly.

---

## 10. Add liquidity-context filters

The strategy may be improved by requiring a meaningful liquidity event before BOS or CHOCH.

Possible examples include:

* sweep of a confirmed swing high or low,
* sweep of the Asian session high or low,
* sweep of the previous-day high or low,
* equal highs or equal lows,
* failed breakout followed by structural displacement.

This could reduce entries occurring in the middle of an unstructured range.

However, liquidity-sweep definitions must be objective. Visually attractive historical examples can be difficult to translate into consistent, non-repainting rules.

---

## 11. Reduce stale limit-order entries

An FVG entry may become less relevant as time passes.

Possible improvements include:

* reducing pending-order validity,
* cancelling after a new same-direction structure break,
* cancelling after price moves too far from the entry,
* cancelling when the FVG is partially or fully mitigated,
* cancelling after a fixed number of session minutes.

This can prevent late fills, but overly aggressive cancellation may remove profitable deep retracements.

---

## 12. Use realistic execution costs

The default strategy configuration uses zero commission and zero slippage.

Before evaluating performance, configure realistic:

* commission per contract,
* exchange and clearing fees,
* spread,
* slippage,
* data-feed differences,
* contract specifications.

This is especially important on a 2-minute strategy, where transaction costs can materially change the final result.

A strategy that is profitable before costs may become unprofitable after realistic execution assumptions.

---

# Recommended Validation Process

A reliable evaluation should include:

1. In-sample optimization on one historical period.
2. Out-of-sample testing on a later untouched period.
3. Walk-forward testing across multiple market regimes.
4. Separate testing for each instrument.
5. Separate testing for long and short positions.
6. Testing with realistic commission and slippage.
7. Analysis of results by session and time of day.
8. Analysis of BOS and CHOCH separately.
9. Testing during trending, ranging, and high-volatility periods.
10. Forward testing on a simulated account.

Do not select settings solely because they generate the highest historical profit.

More robust settings usually produce acceptable results across several neighboring parameter values rather than one isolated “perfect” combination.

---

# Important Backtesting Notes

PulseWire backtests are simulations.

Historical results may be affected by:

* broker-emulator assumptions,
* intrabar price-path assumptions,
* historical data quality,
* contract rollovers,
* spread,
* slippage,
* commission,
* instrument-specific tick size,
* differences between futures, CFDs, and spot symbols.

The strategy uses Bar Magnifier when supported, but this does not make simulated fills identical to live execution.

Results obtained on one data provider or symbol should not automatically be expected on another.

---

# Risk Disclaimer

This strategy is provided for educational, research, and analytical purposes only.

It is not financial advice, investment advice, or a recommendation to buy or sell any financial instrument.

Past performance does not guarantee future results.

Trading futures, CFDs, indices, commodities, and leveraged instruments involves substantial risk. Losses may exceed the amount expected from a historical backtest.

Before using the strategy with real capital:

* verify all settings,
* confirm contract and point values,
* configure realistic trading costs,
* test alerts,
* perform forward testing,
* define maximum daily and total risk,
* use position sizing appropriate to your account.

The user remains fully responsible for every trading and risk-management decision.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by PulseWire. Read more in the Terms of Use.