Connors Riverbend EA
- 专家
- 版本: 3.28
- 激活: 5
Connors RSI grid trading, built for traders who buy the pullback inside a trend and want the ladder to wait for the snap-back. One promise: no grid begins in the middle of a move; it begins when a stretched Connors RSI climbs back out of its zone on a finished bar with the EMA 200 trend behind it. Mechanism: a zone rebound of the three-part Connors RSI, a Range Guard and a trend filter, then an ATR-spaced grid that banks small closures.
In plain words, Connors Riverbend EA is a Connors RSI grid EA for MetaTrader 5: the river is the trend, the bend is the short pullback against it, and the EA steps in as the bend straightens out.
Why the lower price: it runs the same grid engine, the same safety fixes and the same panel as our full grid EAs, with one focused signal and nothing stacked on top.
Price gap, said plainly: our full grid EAs sit around $213 to $249; this one is $60. What is lighter is the signal side (one oscillator, 13 signal inputs, hedge cycle off by default), not the money handling, which is the same code.
Tested on: EURUSD H1, $10,000, default inputs, 2025.01.01 to 2026.09.30: net +1,438.61, maximal equity drawdown 407.21 (3.72%), 614 trades, no stop-out, no margin refusal. Deepest basket: 24 grid orders open together, 1.20 lots in total.
Try it free first: load Connors Riverbend EA in the MetaTrader 5 Strategy Tester, visual mode on, default inputs, EURUSD H1. Every rebound it takes gets an arrow on the candle; on a live chart every rebound a guard refused shows as a grey dot.
The trade lifecycle in plain verbs. It scores each finished bar from 0 to 100 with Connors RSI, waits for the score to sink into the low zone (or rise into the high zone), takes the bar where it climbs back out with the trend agreeing, opens the first level, spaces the next ones by ATR, and banks groups of orders once their joint result clears the target.
Plain risk up front. This IS a grid. It adds to losing positions and uses no stop loss by default. Defaults: 0.01 first lot, additive steps of 0.01, ATR spacing with a 50 point floor, hedge cycle off, margin-level safety off. Limits stop new levels; they never force-close the book.
----------
THREE CLOCKS IN ONE NUMBER
Larry Connors and his team built Connors RSI to measure a short pullback from three sides at once, then average them into a single 0 to 100 score:
- a very fast RSI of price (3 closes): how hard the last few bars pushed,
- an RSI of the streak (2): how many closes in a row went the same way, so a fourth down close counts more than a first one,
- a percent rank of the one-bar change over the last 100 bars: how unusual today's move is against recent history.
Low readings mean a short, sharp, unusual sell-off; high readings mean the opposite. Everything is calculated inside the EA from closing prices: no indicator file, no DLL, no web request.
Five facts before you start
- Entry: Connors RSI climbs back above 20 (BUY) or falls back below 80 (SELL) on a finished bar. A midline mode (crossing 50) is there for more frequent entries. Accepted signals do not repaint.
- The default trend filter only lets a rebound in the direction of the EMA 200 through, which is the classic way Connors RSI is used: buy dips in an uptrend, sell rallies in a downtrend.
- A Range Guard skips quiet boxes where 20 bars span less than 5 ATR.
- New this build: a Stretch Guard that can refuse a rebound when the close is too far from the EMA 200. It ships OFF, because in our test it did not improve profit per unit of drawdown. The full on/off numbers are below, so you can judge it yourself.
- No stop loss and no forced close-all. Limits stop new levels; the open book stays under management.
----------
Start here (5 minutes)
1. Put it on EURUSD H1 and leave every input at its default.
2. Switch RunMode to Scan only for the first session. The panel shows each plan and sends nothing.
3. Read the arrows and grey dots on the chart: they show which past rebounds the guards would have taken or refused.
4. Once the plans make sense to you, press ARMED on the panel.
5. Repeat the tester runs below on your own broker's data before real money; spread, swap and commission differ between brokers. Running more than one chart? Give each copy its own EAMagicNumber and HedgeMagicNumber.
Minimum deposit, from the deepest basket: on EURUSD H1 the deepest basket (1.20 lots) needed about $1,350 of margin at 1:100, next to a 407 drawdown, so start with at least $3,000 at default lots. On XAUUSD D1 the deepest basket was one 0.01 lot order, about $40 of margin at 1:100, so start with at least $500. Larger lots need proportionally more.
----------
Reproduce our numbers
Strategy Tester, default inputs, 1 minute OHLC, leverage 1:100, 2025.01.01 to 2026.09.30, one broker's demo data. Same settings and period, and you should land near these:
- EURUSD H1, $10,000: net +1,438.61, maximal equity drawdown 407.21 (3.72%), 614 trades, deepest basket 24 orders / 1.20 lots. No stop-out, no margin refusal.
- EURUSD H1, $1,000,000: net +1,438.61, maximal equity drawdown 407.21 (0.04%), 614 trades, deepest basket 24 orders / 1.20 lots. No stop-out, no margin refusal.
- XAUUSD D1, $10,000: net +15.89, maximal equity drawdown 14.41 (0.14%), 6 trades, deepest basket 1 order / 0.01 lots. No stop-out, no margin refusal.
- XAUUSD D1, $1,000,000: net +15.89, maximal equity drawdown 14.41 (0.00%), 6 trades, deepest basket 1 order / 0.01 lots. No stop-out, no margin refusal.
Treat these as one past stretch, not a forecast. The deepest basket comes from the tester's deal list (largest number of grid orders open at once, and their lots). The money drawdown is the same at both deposits because lots do not grow with the balance, so it weighs far more on a small account; deposits under $10,000 were not tested. Defaults were chosen once by judgement on this same period, which flatters them. Six gold trades in 21 months say nothing about gold. Netting accounts were not verified.
----------
The Stretch Guard: on or off, in numbers
The idea: a pullback rebound is worth more near the trend's mean than far above or below it, where the ladder would start at an overextended price. The Stretch Guard measures the distance from the close to the EMA 200 in ATR and refuses the rebound when it is larger than InpCRSIStretchMax. Same period, same settings, guard at 6 ATR against guard off:
- EURUSD H1, $10,000: off (default), net +1,438.61, drawdown 407.21 (3.72%), 614 trades, deepest 24 orders / 1.20 lots. On, net +1,277.43, drawdown 407.21 (3.76%), 518 trades, deepest 24 / 1.20.
- XAUUSD D1, $10,000: off, net +15.89, drawdown 14.41, 6 trades, deepest 1 / 0.01. On, net +21.50, drawdown 14.41, 7 trades, deepest 1 / 0.01.
The worst drawdown did not move on either symbol, and the EURUSD profit fell by 11%, so profit per unit of drawdown dropped from about 3.5 to about 3.1 across both. Tighter settings cut the drawdown (3 ATR: 271.17 and a 14 order basket) but cut the profit even more. That is why it ships off. If you prefer fewer, calmer entries, try InpCRSIStretchMax between 3 and 6 in the tester first.
----------
Why Connors RSI
A grid needs one clear starting signal, and then it needs the engine to do the work. Connors RSI is a good starting signal for a pullback grid for three reasons. It reacts within two or three bars, so the first level goes in near the end of the dip rather than in the middle of it. The streak and percent-rank parts make it hard to fool with a single quiet bar. And the zone rebound is one unmistakable event on a finished bar. The honest costs: a fast oscillator can rebound and sink again; in a strong one-way slide it can sit in the low zone for many bars; and the trend filter means it will stay quiet on the side against the EMA 200. The Range Guard, the trend filter and the signal gap exist for exactly those cases.
----------
One cycle, step by step
1. Score. Each finished bar gets a Connors RSI from 0 to 100: the mean of RSI(3) of the close, RSI(2) of the streak and the 100 bar percent rank of the one-bar change.
2. Stretch. In the default mode the score must first drop to 20 or below (for a BUY) or rise to 80 or above (for a SELL).
3. Rebound. The event is the bar where it climbs back above 20, or falls back below 80. In midline mode it is a cross of 50.
4. Stretch Guard. Optional: the close may sit at most InpCRSIStretchMax ATR from the EMA 200 (0, the default, switches it off).
5. Range Guard. The last 20 bars must span at least 5 ATR, so tight boxes are skipped.
6. Trend filter. By default the close must be on the matching side of the EMA 200. It can also fade that side, or be switched off.
7. Timing. Accepted signals are kept apart by a gap of bars, and a signal may wait a few bars if the level cannot be placed straight away.
8. Ladder. Levels follow ATR or fixed points, with a floor, a ceiling and an optional freeze. BUY and SELL grids can run together or alone.
9. Banking. Groups of oldest and newest orders close when their joint result, after swap and commission, clears the target. If the oldest order is too heavy, a slice of it is closed instead.
10. Safety checks. A closure that would reopen a level at once is blocked, every leg is confirmed in deal history, failed legs are retried, and a plan is dropped if the book changed before sending.
11. Hedge cycle, optional. Off by default and not exercised in our tests. When on, it holds a balanced pair on a chosen symbol and retires it in equal slices, paid by a small surcharge on closures the grid already makes.
----------
The panel
The panel sits on the left, keeping the right side and the price scale free. It shows symbol, magic number, a status pill, grid mode, lot step, spacing, banked result, the book, each side's closing plan and the order table. The CRSI PULSE row shows the three lengths, the score of the last finished bar, whether it sits in the LOW, MID or HIGH zone, whether it is rising (UP) or falling (DN), and the bars since the last rebound. The STRETCH GUARD row shows the side the score leans to, the mode, the close's distance from the EMA 200 in ATR with OPEN, HOLD or off, the Range Guard width in ATR with its state, and the EMA side. On the live chart every rebound of the last 150 bars is marked: a small arrow when accepted, a grey dot when a guard refused it. Buttons switch Armed / Scan only, Pause / Resume, chart marks and slicing. The Hedge Vault card docks under the main panel and stays hidden while the hedge is off. Nothing is drawn in a non-visual backtest.
----------
Limits you control
No setting closes the book for you; limits only stop new levels.
Every order passes a free margin check with a safety buffer before it is sent.
Caps on levels per grid, orders per side and lot per order keep the ladder finite. MinMarginLevelPercent and MaxAccountRiskPercent start at off; set them for your own account.
An optional margin-level timeframe safety moves the signal and spacing to a higher timeframe as margin falls. It is off by default and was not exercised in our tests.
Copies are kept apart by symbol and magic number.
Scan only shows every decision without sending a single order.
----------
Who this is for
Traders who like buying dips in an uptrend and selling rallies in a downtrend, who want a grid that waits for the pullback to turn before the first order, who like many small closures, who want the core engine at an entry price, and who size lots to their balance.
Who this is NOT for
- Anyone who needs a stop loss on every order. This grid has none by design.
- Anyone expecting a fixed monthly return or a quick doubling. The tested result above is modest, and it is the honest one.
- Small accounts running large lots unattended. The test basket reached 24 orders; a long one-way trend can keep the book open for weeks.
- Traders who want a trade on every candle. The zones and filters keep it quiet on purpose, and on daily gold it can sit idle for months.
- Traders who want a ready-made gold system. Gold was tested only on D1 with six trades, which proves nothing either way.
- Traders who expect an oscillator to call tops and bottoms. It confirms that a pullback has started to turn; it does not predict the turn.
- Traders who will not test first. If you skip the Strategy Tester on your own broker, this is not the right tool for you.
----------
Common questions
Does it repaint? Accepted signals, chart marks and both panel rows use finished bars only.
Is it the classic Connors RSI? Yes: the average of RSI(3), streak RSI(2) and the 100 bar percent rank of the one-bar change. The zone rebound rule, the trend filter and the guards are added by this EA.
Why 20 and 80 and not 10 and 90? On H1 the classic daily levels fire very rarely; 20 and 80 keep the same idea with a usable number of entries. Both are inputs.
Zone or midline mode? Zone mode waits for a real stretch and trades less. Midline mode reacts to every swing through 50 and trades more often; it was not backtested here.
Which markets were tested? EURUSD H1 and XAUUSD D1. Everything else is yours to test.
How deep did the grid go in the test? At most 24 orders open together on EURUSD, 1.20 lots in total.
What should I change first? InpCRSILow and InpCRSIHigh, then InpCRSIRangeMinATR, then InpCRSIStretchMax. One change at a time, and read drawdown and basket depth next to net result.
Netting accounts? A separate margin cap exists for them, but netting behaviour is unverified.
----------
All inputs
Grid levels
TradeMode - two grids, BUY and SELL, by default, or one direction only.
GridSpacePoints - level distance in fixed spacing mode (25).
GridSpaceMultiplier - above 1.0 widens deeper levels (1.0 = even).
MaxGridLevels - most levels in one grid (1000).
UpDirectionIsBuy - which side an up move arms.
EAMagicNumber - number on grid orders (9781340).
GridOrderComment - text on grid orders (CRBV).
OneOrderPerBar - at most one new level per bar.
Lots
InitialLotSize - volume of the first level (0.01).
LotSizingMode - additive by default, multiply as the alternative.
LotMultiplier - factor per level in multiply mode (1.25).
LotAddStep - step per level in additive mode (0.01; 0 uses the starting lot).
MaxOrderVolume - largest single order (1.0).
UseAutoLot - ties the starting lot to balance (off).
AutoLotBaseBalance - balance that matches the starting lot (1000).
AutoLotAllowDecrease - lets auto lot drop below the starting lot (off).
ATR spacing
GridSpacingMode - ATR by default, fixed points as the alternative.
ATRTimeframe - ATR timeframe (current chart).
ATRPeriod - ATR length (14).
ATRSpacingFactor - spacing as a multiple of ATR (1.0).
ATRBarShift - ATR bar; 1 is the last finished bar.
ATRMinSpacingPts - smallest spacing in points (50; 0 none).
ATRMaxSpacingPts - largest spacing in points (5000; 0 none).
ATRFreezeOnStart - keeps one spacing for the whole cycle (off).
Profit target
DesiredProfitPerClosure - base target in account currency (2.0).
ProfitMultiplier - final scale, 1.00 to 2.00.
ProfitTargetMode - scaled by default: bigger, deeper books aim higher.
ProfitVolumePower - how closing volume lifts the target (1.0; 0 off).
ProfitDepthBonus - extra target per additional open level (0.10).
ProfitMaxMultiple - scaled target ceiling in multiples of the base (50).
ProfitMaxReachFraction - keeps the target within this share of one grid step (0.50).
Fragment scanner
UseMultiLegScan - checks multi-order groups before the plain pair (on).
MaxOldestLegs - most old orders in one closure (3).
MaxNewestLegs - most new orders in one closure (6).
ScanPriority - ranking of qualifying groups; largest group first by default.
NeverBankLessThanPair - a group must also beat the pair target (on).
RequireCloseVolumeExceedsTarget - newest volume must exceed oldest volume (on).
MinCloseVolumeRatio - required ratio of those volumes (1.5).
Target slicing
EnableTargetSlicing - allows part-closing the oldest order (on).
FragProfitWeightPower - profit weight per closing lot (1.5).
FragMinSlicePercent - smallest slice, percent of the target order (20).
FragAllowMultiCloser - several new orders may fund one slice (on).
FragPreferFullClosure - a full closure wins when both are possible (on).
Reopen guard
ReopenGuard - blocks closures that would reopen a level at once (step based).
ReopenGuardCushion - safe distance as a share of one step (0.90).
Account protection
MinMarginLevelPercent - no new levels below this margin level (0 off).
MaxAccountRiskPercent - no new levels beyond this floating loss, percent of balance (0 off).
NetMaxMarginPercent - netting only: cap on net position margin, percent of equity (5.0).
MaxTotalOrders - absolute order cap per side (1000).
Execution and checks
RunMode - Armed or Scan only.
CloseSequence - order in which legs are sent; oldest first by default.
MaxSlippagePoints - allowed slippage (30).
MaxSpreadPoints - no trading above this spread (7500).
MinSecondsBetweenClosures - pause between closures per side (5).
CloseAttemptsPerLeg - attempts before the retry queue (3).
VerifyTimeoutSeconds - how long a stuck leg is followed (90).
DeferWhenMarketClosed - waits for the session instead of halting (on).
MarketClosedRetrySeconds - retry spacing while orders are refused (30).
AutoResumeAfterSeconds - a halt clears itself after this many seconds (300; 0 waits for you).
NoPartialRetryMinutes - partial closes tried again this many minutes after a broker refusal (15; 0 never).
AbortIfBookChanged - drops a plan if a leg changed (on).
UseFullCommission - counts commission on both sides (on).
CommissionPerLot - fallback figure (0 reads history).
CloseOrderComment - text on closing deals.
Hedge cycle
EnableHedgeCycle - main switch (off).
HedgeSymbols - comma list; repeat a symbol for more turns (XAGUSD).
HedgeSymbolRotation - how the next symbol is picked (per cycle).
HedgeMaxSymbolsInTester - rotation cap in the tester only (2; 0 none).
HedgeCycleLots - lots on each side of the pair (0.01).
HedgeSliceLots - lots retired per side each slice (0.01).
HedgeFragmentBonus - bonus over the slice cost (100).
HedgeBonusIsPercent - bonus is a percent; false means money (on).
HedgeMaxSurcharge - money cap per closure (0 none).
HedgeMaxSurchargePercent - largest rise of any closure target, percent (50).
HedgeMagicNumber - number on hedge legs, must differ from the grid (9781341).
HedgeReopenOnFinish - opens a new cycle when one ends (on).
HedgeStartRequiresTrade - first cycle waits for a grid order (on).
HedgeIntegritySeconds - leg balance check interval (5).
HedgeAutoRepair - repairs a lone leg automatically (on).
HedgeNakedAction - what to do with a lone leg; re-hedge by default.
HedgeMaxSpreadPoints - hedge spread limit (0 off).
HedgeSlippagePoints - hedge slippage allowance (30).
HedgeAttemptsPerLeg - attempts per hedge leg (3).
HedgeVerifyTimeout - follow time for a stuck hedge leg (90).
HedgeCommissionPerLot - fallback hedge commission (0 reads history).
HedgeOrderComment - text on hedge deals.
Weekly cash day
WeeklyCashDay - pauses new cycles and slices around withdrawals (off).
CashDayOfWeek - 0 Sunday, 1 Monday and so on (1).
CashCutoffHour - server hour after which no new slice fires (21).
Panel and chart
ShowPanel - panel on or off.
PanelX and PanelY - distance from the chart edge (12, 15).
PanelFontSize - base text size (9).
ShowArabic - second language line (on).
ShowChartMarks - plans and levels drawn on the chart (on).
MaxTableRows - order rows per grid (13).
PanelCorner - corner the panel is anchored to.
Entry trigger
EntryTriggerMode - the Connors RSI strategy by default.
SignalBarShift - 1 is the last finished bar.
SignalBarsDelay - bars between accepted signals (30; 0 every).
SignalValidBars - bars a signal stays usable (3).
SignalAllowBuy and SignalAllowSell - switch each side.
SignalReverse - turns the direction around (off).
Connors RSI
InpCRSIRSIPeriod - closes in the fast price RSI (3).
InpCRSIStreakPeriod - length of the RSI taken on the up/down streak (2).
InpCRSIRankPeriod - bars in the percent rank of the one-bar change (100).
InpCRSILow - low zone; a climb back above it is a BUY event (20).
InpCRSIHigh - high zone; a fall back below it is a SELL event (80).
InpCRSIMode - 0 rebound out of a zone, 1 a cross of 50 (0).
InpCRSIStretchMax - Stretch Guard: most ATR the close may sit from the EMA 200 on the event bar (0 = off, the default; 6 tested, see above).
InpCRSIRangeMinATR - Range Guard: least window width in ATR (5; 0 off).
InpCRSIRangeBars - Range Guard: window length in bars (20).
InpCRSIATRPeriod - ATR length for the Range Guard and the Stretch Guard (14).
InpCRSITrendFilter - 1 with the EMA side, 2 against it, 0 off (1).
InpCRSITrendMAPeriod - trend EMA length (200).
InpShowSignalArrows - arrow where a cycle armed (on).
InpShowCRSIOnChart - past rebounds on the live chart, arrow or grey dot (on).
Debug
DebugMode - extra journal detail (off).
Margin timeframe safety
UseMarginTFSafety - main switch (off).
Level1MarginPct and Level1TF - at 6000 percent the work moves to M15.
Level2MarginPct and Level2TF - at 5000 percent the work moves to H1.
MarginTFHysteresisPct - recovery needed before stepping back (500).
----------
Risk, plainly
Grid trading is risky. It adds to losing positions, uses no stop loss, and a long trend can keep the book open for a long time or, with lots too large for the balance, end in a stop-out and a heavy loss. Connors RSI is built from past closes and cannot see the next bar. No profit is promised. Choose lots that survive a bad run, test on your own broker, and only risk money you can afford to lose. No DLLs or extra files are needed.
If you have used it, an honest review of how it behaved for you, good or bad, helps the next trader decide.
