Introducing Warrior EA – A Self‑Training Neural Network for Any Market

Warrior EA trains its own neural network directly on the chart you attach it to. It learns from your instrument’s history, evaluates itself on unseen data, and only trades once the model demonstrates reliable behavior. The EA supports any symbol and any timeframe, adapting naturally to different market conditions.

Trading Strategy

The EA can operate using its self‑training AI or a classic multi‑indicator path (MA, RSI, MACD, Ichimoku). The neural network reads price action, volatility, volume, cyclical time structure and confirmed swing structure, forming Buy, Sell or Neutral classifications.

A portion of history is held back during training, ensuring that accuracy is measured only on data the model has not seen. When both AI and classic paths are enabled, they vote together for stable decision‑making.

Key Features

  1. Self‑Training Neural Network: Perceptron, Convolutional, LSTM or Hybrid architectures.
  2. Unseen‑Data Validation: The model must reliably recognize Buy, Sell and Neutral before going live.
  3. Adaptive Learning: The deployed model continues adjusting to newly confirmed structure.
  4. Wyckoff Context: Optional structural readings for accumulation, distribution, exhaustion and control shifts.
  5. Classic Signals: MA, RSI, MACD and Ichimoku paths available while the AI warms up.
  6. No External Software: Native MQL5/OpenCL only — runs unchanged on any VPS or cloud agent.

Risk Management

Stops anchor to the recent swing extreme, with optional volatility padding or adaptive distance. Position size is calculated from the actual stop distance so the chosen risk percentage is always respected.

Targets can use volatility multiples, the opposite swing or an adaptive reward based on confidence. Daily‑loss and drawdown limits are available for disciplined trading.

Trade Journal & Self‑Ranking Database

Every closed trade is written to a local database: entry and exit price, stop and target, lot size, real profit/loss, maximum adverse/favorable excursion (in R‑multiples), AI confidence, database confidence, exit reason and the triggering pattern.

This runs automatically once “Weight filters by DB win‑rate” is enabled.

The same history powers a self‑ranking system for classic signals: each pattern’s win rate is tracked over time and its influence is scaled accordingly, so patterns that actually work for your symbol and timeframe gain more weight.

The Report button exports the full history to CSV: overall win rate, average R‑multiple, breakdown by hour/day, confidence bracket, and plain‑language suggestions based on recurring weak spots. Every raw trade is included for deeper analysis.

Benefits

Internal Workflow (Summary)

Notes

FAQ

Does the EA need optimization? AI: No — defaults are tested. Classic signals (MA, RSI, MACD, Ichimoku) may benefit from optimization depending on symbol and timeframe.

Does it repaint? No — all structure is confirmed before training.

Can it trade immediately? Yes — via classic signals (MA, RSI, MACD, Ichimoku) while the AI warms up.

Results

The EA trains a separate model per symbol and timeframe, so performance depends on your own chart and broker. Evaluate it in the Strategy Tester, review unseen‑data accuracy, and export the journal for detailed analysis.

Trading involves risk. Test on a demo account before live use.

Get Started

Attach the EA to the symbol and timeframe you intend to trade, use a different Magic Number per chart, and enable the AI to allow the warm‑up period. The defaults are ready to trade. To enable the exportable trade journal, turn on “Weight filters by DB win‑rate”.

Input Parameters

Every input includes an on‑screen description. The defaults are the tested configuration.

Variable Name Parameter Name Parameter Description Default
General
Expert_MagicNumber Magic number Identifies this EA's own trades so it never confuses them with another EA or a manual position. Use a different value per chart. 2024
Expert_EveryTick Calculate on every tick Recalculates signals every tick, or only once a new bar forms. Affects both results and CPU load. False
VerboseMode Detailed panel + verbose journal Off: plain-language panel and a quiet log. On: full technical detail and extra diagnostics, for studying the model. False
Money Management
MM_STRATEGY / Money_FixLot_Lots MM strategy / fixed lot Fixed risk %, Intelligent or Fixed lot. Both risk-based modes size from the trade's real stop distance, so the Risk % below is what is actually risked; Intelligent scales it down (never up) by a quarter-Kelly estimate. Fixed lot trades the size set here. Fixed risk % / 0.01
Money_Risk_Percent Risk % of balance per trade Percentage of balance risked per trade. Lot size derives from this and the actual stop distance, so the figure holds whichever stop mode is chosen. Also the ceiling Intelligent sizing scales down from. 1%
Trade Management
tradingdirection Trade direction Restricts the EA to buys only, sells only, or both. Both
Entry_Multiplier Entry type/offset Where the order sits relative to price: at market, a limit or stop offset by 1-3x volatility, at the last swing, or an AI-confidence-scaled pullback. Market
SL_Mode Stop-loss mode How far beyond the recent swing the stop sits. The anchor is always the swing extreme over the Bars to analyse window - lowest low for a buy, highest high for a sell - and this chooses only the padding: a fixed volatility multiple, none, or an adaptive pad tightening as conviction rises. A minimum distance from entry is always enforced. 1 x ATR from previous swing
TP_Mode Take-profit mode Where the target sits. ATR modes measure a volatility multiple from entry; Previous swing targets the opposite swing; Intelligent targets a multiple of that trade's own risk - 2.5x at zero confidence to 5x at full conviction - keeping reward:risk coherent with the stop. Previous opposed swing
Min_Risk_Reward_Ratio Min reward:risk (reject only) A trade is skipped if its reward:risk falls below this. It only rejects; it never resizes stop or target. 1:2
TrailingStrategy Trailing stop How the stop trails an open position once price moves in its favour. None
Signal_Expiration Pending order expiry (bars) How many bars a pending order stays active before being cancelled. 3 bars
Confidence_Source AI confidence source Which confidence feeds the adaptive stop, target, trailing, early exit and Intelligent sizing. AI only
Min_Vote_Open Min vote to open (AI + classic) One unified gate for both engines, on a 0-100 scale: how much combined signal agreement is required to open a trade. Classic filters contribute their pattern weight; the AI contributes the weight of its confidence tier - 25, 50, 75 or 100 - so a hesitant call votes weakly and a near-certain one votes at full strength. There is no separate AI confidence setting: raising this demands a more confident AI in exactly the way it demands stronger classic agreement. 20%
Min_Vote_Close Min opposite vote to close (AI + classic) One unified gate for both engines: how much combined signal agreement in the opposite direction is required to close an open trade, and how strongly the AI must have turned against the position before that alone closes it. Kept above Min vote to open so leaving a trade demands more conviction than entering it, and a brief flicker against the position does not close it. Set it to Disabled to switch off signal-driven exits entirely, leaving stop-loss, take-profit and trailing. 80%
Classic Signals - the no-training fallback path
EnableMA / EnableRSI MA / RSI classic vote Turn the Moving Average and RSI signals on or off. True
PeriodMA / PeriodRSI MA / RSI period Periods used by the two classic indicators. Shared by the vote and the matching AI input feature. 50 / 14
MA_Type MA type Averaging method - SMA, EMA, SMMA, LWMA, ALMA, DEMA, ZLEMA, T3 or Kalman. Shared by the vote and the MA input feature. EMA
EnableMACD / EnableIchimoku MACD / Ichimoku classic vote Turn the MACD and Ichimoku signals on or off. MACD adds momentum and price/oscillator divergence; Ichimoku adds multi-timeframe support and resistance structure - cloud position, line crossings, breakouts and lagging-span confirmation. False
MACD_PeriodFast / MACD_PeriodSlow / MACD_PeriodSignal MACD periods Periods for the fast EMA, slow EMA, and signal line in MACD. Controls the momentum and divergence sensitivity: faster periods react quicker to price changes, slower periods smooth out noise. Every combination offered is valid, and they are shared by the vote and the matching AI input feature. 12 / 26 / 9
Ichimoku_PeriodTenkan / Ichimoku_PeriodKijun / Ichimoku_PeriodSenkou Ichimoku periods Periods for Tenkan-sen (conversion line, short-term midpoint), Kijun-sen (base line, medium-term midpoint), and Senkou Span B (long-term midpoint forming the cloud). Controls multi-timeframe support and resistance: shorter Tenkan/Kijun periods react quicker, longer Senkou B creates a wider cloud. Every combination offered is valid, and they are shared by the vote and the matching AI input feature. 9 / 26 / 52
AI Input Features
ind_Periods Bars to analyse Lookback window for the AI's features, and the swing window the stop anchors to. 20 bars
VolumeData Volume data type Which volume series is used wherever volume is read. Tick volume
EnableVolume Feature: volume Includes volume as change against the previous bar, so it means the same on any instrument. True
EnableTime Feature: time Adds 6 cyclical readings: time of day, day of week and month of year, each as a sine/cosine pair so 23:00 and 00:00, or December and January, are adjacent rather than opposite extremes. Lets the model read session rhythm, weekday effects and seasonality. True
EnableATR Feature: volatility (ATR) Includes volatility as a fraction of price, so it stays comparable across instruments and years. True
EnableMAFeature / EnableRSIFeature Feature: Moving Average / RSI Feeds the MA and RSI to the network as inputs, independently of whether they also vote as classic signals. False
EnableMACDFeature / EnableIchimokuFeature Feature: MACD / Ichimoku Feeds MACD and Ichimoku to the network as inputs, independently of whether they also vote as classic signals. MACD adds 3 readings, Ichimoku 8. False
EnableSwingContext Feature: ZigZag swing context Confirmed swing structure - direction, size, age and retracement of the last swing - plus where price sits in its recent range and how far it has stretched from its average. True
EnableNews / NewsFeatureWindowMinutes Feature: news proximity Proximity to a news event - not the outcome, which isn't knowable ahead of time - over a configurable window. False / 60 minutes
EnableADCumulativeDelta Feature: Cumulative Delta Adds 6 order-flow readings: pressure, cumulative delta, the buy- and sell-side halves separately, absorption (effort without result) and initiative (effort with result). False
EnableADShorteningOfThrust Feature: Shortening of Thrust Adds 4 exhaustion readings: how much shorter the latest same-direction thrust is than the one before, whether it cost more volume, how many pushes have stacked up, and one firing only once a counter-move confirms it. False
EnableADWyckoffEventStream Feature: Wyckoff Events Adds 12 readings: the current named event (all 14 - PS, SC, AR, ST, Spring, LPS, SOS plus PSY, BC, ARB, STB, UTAD, LPSY, SOW), the range's boundaries as volatility-normalised distance from price, the structural phase reached, change-of-character both ways, four sloped-structure classes and reaccumulation/redistribution flags. False
EnableADWyckoffFailedStructure Feature: Wyckoff Failed Structure Adds 5 readings across two failure families: a swing turning before it reaches the structural high/low, and a boundary break rejected on the retest - each with a signed quality score. False
EnableADWyckoffSignificantBarInversion Feature: Wyckoff Bar Inversion Adds 5 readings for climactic control-transfer bars: wide range and high volume against recent averages, closing at an extreme, clearing a volatility gate and breaking the last opposing significant bar - plus the control-flip case. False
AutoTuneIndicators Auto-tune indicator params Searches the best parameter values for whichever features are enabled - lookback windows, volume and range multiples, swing sensitivity, periods. Runs during training only; they lock on deployment so the win-rate history stays valid. False
IndicatorTuneTrials Auto-tune trials How many combinations the search evaluates. Weak candidates are discarded early, so a higher number costs less than it looks. 8
Session Filter
EnableSessionFilter / SF_trade_LondonSession / SF_trade_TokyoSession / SF_trade_NewYorkSession Session filter Restricts trading to the chosen sessions. All three ship on, covering 00:00-22:00 GMT - the filter is evaluated once per bar, so a single-session setting can starve a slow timeframe of entries. Does not affect Scheduled Close-All. On, all three
Scheduled Close-All
targetDayOfWeek / targetHour / targetMinutes Close-all day/hour/minute Closes all positions and pending orders at the chosen day, hour and minute - typically the weekend close. Runs independently of the session filter. Day = Disabled switches it off, Every Day makes it daily. Friday 23:45
Intraday Time Filter
EnableITF / ITF_GoodHourOfDay / ITF_BadHoursOfDay / ITF_GoodDayOfWeek / ITF_BadDaysOfWeek Intraday time filter Marks a preferred hour and day, and hours or days to avoid, for finer time-of-day filtering. On, none set
News Filter
EnableNewsFilter Signal: News filter Turns the news filter on or off. True
NF_LookMinutes / NF_MinImpact News window and impact Minutes before and after an event during which no trade opens, and the minimum impact level that triggers it. 60 minutes / Holidays
Market Depth Filter - live trading only
EnableMarketDepth DOM imbalance filter (live) Order-book imbalance check that can confirm or veto a signal. Needs a broker providing real depth-of-market data. False
DOM_DepthLevels / DOM_ImbalanceScale / DOM_MaxSpreadMultiple DOM levels, influence, spread cap Order-book levels per side, how strongly the imbalance may influence the signal, and the spread multiple above which a trade is vetoed. 5 / 100% / 3x
Risk Guard
EnableRiskGuard Signal: Risk Guard Turns the daily-loss/drawdown halt on or off. True
MaxDailyLossPct / MaxDrawdownPct Max daily loss / drawdown % Once the day's loss, or drawdown from peak, reaches these percentages, no new trades open until the limit resets. Open positions are never force-closed. Disabled
Trade Journal / Ranking
UseDatabaseRanking Weight filters by DB win-rate Tracks how each signal pattern has performed in this EA's own history and shifts influence toward what has worked. Also enables the journal the Report button exports - turn this on to use the trade journal. False
Neural Network
AIType AI algorithm Selects which network trains and trades - Perceptron, Convolutional, LSTM or Hybrid - or Disabled, falling back to MA/RSI alone. The default is Disabled in the Market build and Hybrid in the private build so a fresh install either trades immediately or starts with the full AI stack. Disabled / Hybrid
TrainingOptimizer / OutputNeuronsCount Optimizer and output type Which algorithm updates the weights, and whether it trains as a 3-way Buy/Sell/Neutral classifier or a single-value regression. Adam / Classification
InitialNeurons / MinNeuronsCount / NeuronsReduction / LstmHiddenSize / ConvFilterCount / ConvPoolWindow / ConvPoolStep Network shape Network topology: neurons in the first layer, the floor the tapering layers may not shrink below, the percentage each layer shrinks by, and the memory, filter, pooling-window and pooling-step sizes used by the LSTM, Convolutional and Hybrid types. The AI selector itself now chooses the preset: MLP 3L / 4L, CONV 2L, LSTM 2L, Hybrid 2L or Disabled. 500 / 20 / 70% / 32 / 16 / 3 / 2
StudyPeriods Training years How many years of chart history the network trains on. 10 years
OOSSplit Out-of-sample holdout Share of history held back and never trained on, used only to measure unseen-data performance. 30%
MinRecall Min per-class OOS recall % How well each of Buy, Sell and Neutral must be recognised on held-back data before a model may go live, so it cannot ship by ignoring one direction. This is 3-way classification, not trade win rate - random guessing scores about 33%. There is no accuracy target: training runs until it stops improving, then deploys its best model. 40%
AILogitPriorStrength AI: prior correction to true base rate Turning points are rare, so the network trains on balanced data and would otherwise call too many Buys and Sells. This re-weights each answer by how often it truly occurs, so live trading performs more like the training figures. Higher = stronger correction toward the true base rate. 25%
OversampleParity AI: oversample parity The precision/frequency dial: lower gives fewer but more selective Buy/Sell calls, higher gives more. Neutral stays deliberately heavier, so this mostly governs how aggressively the model calls the directional classes. 60%
FocalLossGamma Focal-loss gamma How strongly training concentrates on hard-to-classify bars. 0 disables it in favour of plain class balancing, while 1.0 is the lighter default used here. 1.0
SwingConfirmationBars Swing confirm bars (label) Bars to wait after a candidate swing reversal before trusting it for training, since recent swings can still change shape. 100 bars
EnableOnlineLearning AI: keep learning live from confirmed bars After deployment, keeps adapting the model on a live chart to newly confirmed structure, only while recent accuracy holds up. No effect in the Strategy Tester. True
SignalClusterWindow / MaxErasPerRun Decluster window / max eras Collapses consecutive same-direction arrows within this many bars to one (display only), and caps how many training passes run before the EA checks in. 6 / 1000
NN Optimizer / Performance
AdamLearningRate / AdamBeta1 / AdamBeta2 Adam optimizer settings Learning rate and decay rates for the Adam optimizer (used when Optimizer = Adam). The defaults are the standard published values and rarely need changing. 0.0003 / 0.9 / 0.999
SgdLearningRate / SgdMomentum SGD optimizer settings Learning rate and momentum for the SGD+momentum optimizer (used when Optimizer = SGD). 0.0003 / 0.9

Final Notes

Warrior EA is designed for traders who want adaptive automation without external dependencies or manual optimization. Review the training panel, check unseen‑data accuracy, and explore the trade journal for deeper insights.