# Settings Overview — Banana EA MT4 v6.0

This guide details all input parameters in **Banana EA Version 6.0**, including intraday risk circuit breakers, scale-in bounds, challenge mode compounder, progressive risk reduction, market filters, and dashboard visual configuration.

***

## 1. General & Licensing[​](#1-general--licensing "Direct link to 1. General & Licensing")

| Parameter             | Type    | Default         | Description                                                                                                                       |
| --------------------- | ------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `LicenseSerial`       | String  | `""`            | Official iTradeAIMS serial key required for live and demo chart execution.                                                        |
| `LogVerbosity`        | Enum    | `Quiet`         | Logging detail level: `Quiet` (suppresses routine logs) or `State changes + reasons` (logs protective circuit state transitions). |
| `MagicNumber`         | Integer | `6001`          | Unique identifier for trades opened and managed by this EA instance.                                                              |
| `TradeComment`        | String  | `BananaEA v6.0` | Comment tag attached to MT4 trade executions.                                                                                     |
| `OptimizationSetName` | String  | `""`            | Preset file description label displayed on the Smart Risk Monitor dashboard.                                                      |

***

## 2. Risk Sizing & Intraday Protective Controls[​](#2-risk-sizing--intraday-protective-controls "Direct link to 2. Risk Sizing & Intraday Protective Controls")

| Parameter                       | Type    | Default             | Description                                                                                                                                                            |
| ------------------------------- | ------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `LotMethod`                     | Enum    | `% risk of balance` | Sizing calculation method (`0` = % risk of balance, `1` = $ risk amount, `2` = fixed lots, `3` = % equity).                                                            |
| `RiskValue`                     | Double  | `1.0`               | Risk value per trade (%, $, or fixed lots based on `LotMethod`).                                                                                                       |
| `MaxDailyDrawdownPercent`       | Double  | `4.0`               | Maximum equity loss allowed in a single trading day (0 = disabled). Exceeding this closes open positions and locks new entries until next session.                     |
| `MaxConsecutiveLosses`          | Integer | `0`                 | **New in v6.0**: Maximum consecutive losing closes allowed within a trading day (`0` = disabled). Exceeding this pauses new signal entries until the next daily reset. |
| `ConsecLossCooldownMinutes`     | Integer | `0`                 | **New in v6.0**: Minutes to block fresh signal entries following a losing trade (`0` = disabled). Scale-ins are exempt.                                                |
| `ExcludeScaleInsFromLossStreak` | Boolean | `false`             | When enabled, treats scale-in closes as part of parent position rather than independent streak outcomes.                                                               |

***

## 3. Position Risk Bounds & Scale-In Controls[​](#3-position-risk-bounds--scale-in-controls "Direct link to 3. Position Risk Bounds & Scale-In Controls")

| Parameter                 | Type    | Default        | Description                                                                                                                          |
| ------------------------- | ------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `MaxNotionalMultiple`     | Double  | `0.0`          | Caps position notional exposure as a multiple of equity (`0` = disabled). Prevents tight-stop unbounded lot expansion.               |
| `MaxPortfolioRiskPercent` | Double  | `0.0`          | Maximum total open risk across active trades on this chart as % of equity (`0` = disabled).                                          |
| `MinFreeMarginPercent`    | Double  | `0.0`          | Minimum free margin percent required after entry (`0` = disabled). Refuses trades that violate threshold.                            |
| `MultiTradeMode`          | Enum    | `Disabled`     | Scale-in mode for adding secondary same-direction positions.                                                                         |
| `MaxOpenTrades`           | Integer | `3`            | Absolute maximum number of open trades permitted per chart.                                                                          |
| `ScaleInMaxRiskMultiple`  | Double  | `0.0`          | Caps scale-in add-on risk as a multiple of remaining open risk (`0` = disabled).                                                     |
| `ScaleInLotMode`          | Enum    | `Inherit risk` | Sizing mode for scale-in entries (`Inherit risk`, `Fixed lots`, `Fraction of fresh entry`).                                          |
| `ScaleInFixedLots`        | Double  | `0.0`          | Fixed lot size for add-ons when `ScaleInLotMode` is set to Fixed lots.                                                               |
| `ScaleInBaseFraction`     | Double  | `0.0`          | Fraction of fresh entry lot size (e.g., `0.25` = 25%) when `ScaleInLotMode` is set to Fraction.                                      |
| `StartActive`             | Boolean | `false`        | When enabled, begins taking trades immediately on attach without requiring dashboard AUTO click (ideal for unattended VPS restarts). |

***

## 4. Challenge Mode & Compounder[​](#4-challenge-mode--compounder "Direct link to 4. Challenge Mode & Compounder")

| Parameter                       | Type    | Default               | Description                                                                                                |
| ------------------------------- | ------- | --------------------- | ---------------------------------------------------------------------------------------------------------- |
| `AccountPhase`                  | Enum    | `Phase 1 (Challenge)` | Declared account lifecycle phase (`Phase 1 (Challenge)`, `Phase 2 (Verification)`, `Funded`).              |
| `UseChallengeMode`              | Boolean | `false`               | Enables progress lot scaling as account profit target approaches.                                          |
| `ChallengeStartBalance`         | Double  | `0.0`                 | Challenge balance anchor (`0` = auto-capture starting balance on EA init).                                 |
| `ChallengeTargetPercent`        | Double  | `10.0`                | Target profit percentage required for challenge completion (e.g. 10%).                                     |
| `ChallengeMaxLossPercent`       | Double  | `10.0`                | Hard loss limit percentage from challenge anchor. Closes all positions and halts EA if breached.           |
| `ChallengePersistState`         | Boolean | `true`                | Persists challenge state across terminal restarts. Set `false` once to clear saved state for new accounts. |
| `ChallengeBaseMultiplier`       | Double  | `1.0`                 | Lot size multiplier at 0% challenge progress.                                                              |
| `ChallengeMaxMultiplier`        | Double  | `3.0`                 | Lot size multiplier at 100% challenge profit progress.                                                     |
| `MinTradingDays`                | Integer | `0`                   | Minimum distinct active trading days required by prop firm (`0` = disabled).                               |
| `MinTrades`                     | Integer | `0`                   | Minimum trade count required by prop firm (`0` = disabled).                                                |
| `ComplianceSafetyBufferPercent` | Double  | `0.2`                 | Safety buffer (% of anchor) added above target equity before compliance trades fire.                       |
| `ComplianceStopLossPips`        | Integer | `20`                  | Stop loss distance in pips for checkbox compliance trades.                                                 |
| `ComplianceTakeProfitPips`      | Integer | `2`                   | Take profit distance in pips for checkbox compliance trades.                                               |
| `ComplianceSymbol`              | String  | `"EURUSD"`            | Dedicated symbol for compliance trades (empty = chart symbol).                                             |

***

## 5. Progressive Risk & Peak Protection[​](#5-progressive-risk--peak-protection "Direct link to 5. Progressive Risk & Peak Protection")

| Parameter                      | Type    | Default | Description                                                                           |
| ------------------------------ | ------- | ------- | ------------------------------------------------------------------------------------- |
| `UseProgressiveRiskReduction`  | Boolean | `false` | Progressively scales lot size down when account equity drops below starting balance.  |
| `ProgressiveRiskFloor`         | Double  | `0.25`  | Minimum lot multiplier floor at full drawdown depth (e.g. `0.25` = 25% of base risk). |
| `ProgressiveRiskDepth`         | Double  | `5.0`   | Drawdown depth % from starting balance where the floor multiplier is reached.         |
| `UseProgressivePeakProtection` | Boolean | `true`  | Activates secondary giveback protection curve once equity cushion is built.           |
| `ProgressivePeakUnlockPercent` | Double  | `5.0`   | Profit % above starting balance required to permanently arm peak protection.          |
| `ProgressivePeakFloor`         | Double  | `0.50`  | Minimum lot multiplier floor at full peak giveback depth.                             |
| `ProgressivePeakDepth`         | Double  | `5.0`   | Giveback depth % from peak equity where peak floor is reached.                        |

***

## 6. Account Drawdown & Profit Caps[​](#6-account-drawdown--profit-caps "Direct link to 6. Account Drawdown & Profit Caps")

| Parameter                  | Type   | Default    | Description                                                                                              |
| -------------------------- | ------ | ---------- | -------------------------------------------------------------------------------------------------------- |
| `UseTrailingDDControl`     | Enum   | `Disabled` | Trailing high-water-mark equity drawdown mode (`Disabled`, `Close All + Lock`, `Lock Only`).             |
| `TrailingDDPercent`        | Double | `3.0`      | Maximum equity drop allowed from peak equity before trailing DD action fires.                            |
| `UseWeeklyDDCap`           | Enum   | `Disabled` | Weekly drawdown protection mode (resets each Monday 00:00 server time).                                  |
| `WeeklyDDPercent`          | Double | `5.0`      | Maximum weekly equity loss percentage from Monday-open balance.                                          |
| `SessionProfitLockPercent` | Double | `0.0`      | Stops fresh entries once session equity profit reaches this % of session-start balance (`0` = disabled). |

***

## 7. Stop Loss, Take Profit, Partials & Exits[​](#7-stop-loss-take-profit-partials--exits "Direct link to 7. Stop Loss, Take Profit, Partials & Exits")

| Parameter                | Type   | Default        | Description                                                                       |
| ------------------------ | ------ | -------------- | --------------------------------------------------------------------------------- |
| `SLMethod`               | Enum   | `Candle Range` | Stop loss calculation mode (`Candle Range`, `ATR`, `Fixed Pips`).                 |
| `SL_Value`               | Double | `1.0`          | Value used by selected SL method (multiplier or pips).                            |
| `TPMethod`               | Enum   | `ATR`          | Take profit calculation mode (`Disabled`, `Risk:Reward`, `ATR`, `Fixed Pips`).    |
| `TP_Value`               | Double | `5.0`          | Value used by selected TP method.                                                 |
| `BreakEvenMethod`        | Enum   | `ATR`          | Break-even trigger method (`Disabled`, `Fixed Pips`, `Candle Range`, `ATR`).      |
| `BE_Value`               | Double | `2.0`          | Trigger value to move stop loss to break even.                                    |
| `PartialCloseMethod`     | Enum   | `ATR`          | Partial close calculation mode (`Disabled`, `Fixed Pips`, `Candle Range`, `ATR`). |
| `PartialClosePercentage` | Double | `0.5`          | PC1 close percentage (`0.5` = 50% of position size).                              |
| `PC_Value`               | Double | `1.0`          | PC1 trigger value.                                                                |
| `PC_Level2_Percentage`   | Double | `0.25`         | PC2 close percentage (`0.25` = 25% of remaining lots, `0` = off).                 |
| `PC_Level2_Value`        | Double | `2.0`          | PC2 trigger value.                                                                |
| `PC_Level3_Percentage`   | Double | `0.25`         | PC3 close percentage (`0.25` = 25% of remaining lots, `0` = off).                 |
| `PC_Level3_Value`        | Double | `3.0`          | PC3 trigger value.                                                                |
| `TMExitTemplate`         | Enum   | `Partial Only` | Remainder position exit policy following partial closes.                          |

***

## 8. Trailing Stop & Swing Trailing[​](#8-trailing-stop--swing-trailing "Direct link to 8. Trailing Stop & Swing Trailing")

| Parameter                  | Type    | Default | Description                                                                                |
| -------------------------- | ------- | ------- | ------------------------------------------------------------------------------------------ |
| `TrailingMethod`           | Enum    | `ATR`   | Trailing stop mode (`Disabled`, `Fixed Pips`, `ATR`, `Candle High/Low`, `Moving Average`). |
| `TrailActivationCondition` | Enum    | `None`  | Gate condition before trailing begins (`None`, `After BE`, `After Profit`).                |
| `Trail_ActivationValue`    | Double  | `5.0`   | Activation trigger value (pips or multiplier).                                             |
| `Trail_DistanceValue`      | Double  | `2.0`   | Trailing distance (pips, multiplier, or MA period).                                        |
| `TrailMinimumMovement`     | Double  | `1.0`   | Minimum price movement in pips before trailing step updates.                               |
| `TC_CandleBuffer`          | Double  | `2.0`   | Candle buffer in pips for manual TC button trailing.                                       |
| `ST_SwingLookback`         | Integer | `100`   | Lookback bar count for fractal swing trailing (ST button).                                 |
| `ST_SwingBuffer`           | Double  | `2.0`   | Buffer distance in pips above/below swing highs/lows.                                      |

***

## 9. Signal Engines & Order Entry Controls[​](#9-signal-engines--order-entry-controls "Direct link to 9. Signal Engines & Order Entry Controls")

| Parameter                    | Type    | Default          | Description                                                           |
| ---------------------------- | ------- | ---------------- | --------------------------------------------------------------------- |
| `EntryEngineMode`            | Enum    | `Banana Classic` | Continuation signal detection mode.                                   |
| `UseB1`                      | Boolean | `true`           | Enable B1 Banana buy/sell signals.                                    |
| `UseB2`                      | Boolean | `true`           | Enable B2 Banana buy/sell signals.                                    |
| `UseB3`                      | Boolean | `true`           | Enable B3 Banana buy/sell signals.                                    |
| `Enable_Seed_TP`             | Boolean | `false`          | Enable Seed TP buy/sell signals.                                      |
| `Enable_Seed_TTP`            | Boolean | `false`          | Enable Seed TTP buy/sell signals.                                     |
| `OrderType`                  | Enum    | `Pending Orders` | Order execution mode (`Market Orders` or `Pending Orders`).           |
| `BuyBuffer`                  | Double  | `1.0`            | Entry buffer pips above signal high for buy pending orders.           |
| `SellBuffer`                 | Double  | `0.1`            | Entry buffer pips below signal low for sell pending orders.           |
| `BuSLBuffer`                 | Double  | `0.1`            | Additional stop loss buffer pips for buy orders.                      |
| `BeSLBuffer`                 | Double  | `1.0`            | Additional stop loss buffer pips for sell orders.                     |
| `MinimumSL_Pips`             | Double  | `3.0`            | Minimum allowed SL distance in pips (`0` = disabled).                 |
| `MaximumSL_Pips`             | Double  | `0.0`            | Maximum allowed SL distance in pips (`0` = disabled).                 |
| `CancelAfterBars`            | Integer | `8`              | Cancels unfilled pending orders after N closed bars (`0` = disabled). |
| `PendingEMAInvalidationMode` | Enum    | `None`           | Cancels pending orders if a bar closes across the specified EMA.      |
| `EnablePendingOrderHistory`  | Boolean | `false`          | Logs pending order snapshots to CSV and global variables.             |

***

## 10. Session & Day Filters[​](#10-session--day-filters "Direct link to 10. Session & Day Filters")

| Parameter                     | Type    | Default | Description                                                    |
| ----------------------------- | ------- | ------- | -------------------------------------------------------------- |
| `UseTimeWindow`               | Boolean | `true`  | Master toggle for session time window filtering.               |
| `UseSession1`                 | Boolean | `true`  | Enables European / Session 1 trading window.                   |
| `Session1_StartHour`          | Integer | `10`    | Session 1 start hour (broker server time).                     |
| `Session1_StartMinute`        | Integer | `0`     | Session 1 start minute.                                        |
| `Session1_EndHour`            | Integer | `13`    | Session 1 end hour.                                            |
| `Session1_EndMinute`          | Integer | `0`     | Session 1 end minute.                                          |
| `UseSession2`                 | Boolean | `true`  | Enables US / Session 2 trading window.                         |
| `Session2_StartHour`          | Integer | `16`    | Session 2 start hour.                                          |
| `Session2_StartMinute`        | Integer | `15`    | Session 2 start minute.                                        |
| `Session2_EndHour`            | Integer | `17`    | Session 2 end hour.                                            |
| `Session2_EndMinute`          | Integer | `45`    | Session 2 end minute.                                          |
| `UseDayOfWeekFilter`          | Boolean | `true`  | Master toggle for day-of-week trading filter.                  |
| `TradeMonday` – `TradeSunday` | Boolean | `true`  | Individual toggles to allow or block trading on specific days. |

***

## 11. Market & Volatility Filters[​](#11-market--volatility-filters "Direct link to 11. Market & Volatility Filters")

| Parameter                   | Type    | Default             | Description                                                          |
| --------------------------- | ------- | ------------------- | -------------------------------------------------------------------- |
| `ATRPeriod`                 | Integer | `20`                | ATR calculation period for volatility filters and stops.             |
| `Filter_EMA_Fast`           | Boolean | `false`             | Enable Fast EMA filter.                                              |
| `FastEMA_Value`             | Integer | `11`                | Period for Fast EMA.                                                 |
| `Filter_EMA_Slow`           | Boolean | `true`              | Enable Slow EMA filter.                                              |
| `SlowEMA_Value`             | Integer | `21`                | Period for Slow EMA.                                                 |
| `Filter_EMA_SLOWEST`        | Boolean | `true`              | Enable Slowest EMA filter.                                           |
| `EMA_SLOWEST_Input`         | Integer | `70`                | Period for Slowest EMA.                                              |
| `EMA_SLOWEST_Strict`        | Boolean | `true`              | Requires strict EMA alignment hierarchy (Fast < Slow < Slowest).     |
| `Filter_MA_Crossover`       | Boolean | `true`              | Enables moving average crossover filter.                             |
| `TrendFilterMode`           | Enum    | `Classic EMA Stack` | Trend filter mode (`Classic EMA Stack` or `Regime-Aware Anti-Chop`). |
| `UseEMASlopeFilter`         | Boolean | `false`             | Requires slow EMA slope to exceed minimum ATR-normalized threshold.  |
| `UseEMADistanceFilter`      | Boolean | `false`             | Requires price distance from slow EMA to exceed ATR threshold.       |
| `UseADXTrendStrengthFilter` | Boolean | `false`             | Requires ADX trend strength to exceed minimum threshold.             |
| `UseATRFilter`              | Boolean | `false`             | Enables ATR-based maximum stop loss filter.                          |
| `MaxATRMultiplier_Banana`   | Double  | `2.0`               | Maximum allowed SL for Banana momentum signals (xATR).               |
| `MaxATRMultiplier_Seed`     | Double  | `1.5`               | Maximum allowed SL for Seed precision signals (xATR).                |
| `UseDailyRangeFilter`       | Boolean | `true`              | Filters entries if daily range exceeds ADR percentage limit.         |
| `MaxDailyRangePercent`      | Double  | `125.0`             | Maximum allowed daily range as % of 20-day ADR.                      |
| `UseSessionMovementFilter`  | Boolean | `true`              | Filters entries if session movement exceeds ADR percentage limit.    |
| `MaxSessionMovementPercent` | Double  | `25.0`              | Maximum allowed session movement as % of ADR.                        |
| `Use10OClockFilter`         | Boolean | `true`              | Filters trades based on reference open price direction.              |
| `TenOClockHour`             | Integer | `10`                | Reference hour for open price filter.                                |
