Build Complex Trading Strategies.
Create - Test - Backtest - Optimize
A desktop app with a purpose-built DSL for price action and orderflow pattern detection, backtesting, and optimization.
- Create setups using Price Action & Orderflow concepts
- Backtest thousands of limit/SL/TP combinations
- Optimize setup parameters
- Create alerts
What You Can Build
Combine any of these concepts in your setups
Traditional Indicators
- EMAs - crosses, direction, price above/below
- RSI - levels, crosses up/down
- VWAP - with standard deviation bands
- Hull MA - direction detection
- Fibonacci - retracements, extensions
Price Action Concepts
- Market Structure - highs/lows, ITH/ITL, LTH/LTL
- Structure Breaks - MSB up/down detection
- FVGs - detection, fill tracking, open count
- Order Blocks - auto-labeled from MSB
- Trendlines - support, resistance, channels
- Patterns - wedges, triangles, ranges
- Sweeps - liquidity sweep detection
- Breakouts - level breaks with volume
Volume Profile / Orderflow
- Delta Analysis - buy/sell delta ratios
- Delta Divergence - candle direction vs delta
- Footprint - POC position, taker side
- TPO Sessions - VAH, VAL, POC
- TPO Patterns - poor highs/lows, single prints
- Naked POCs - unfilled POC detection
- Unusual Volume - spikes, volume vs avg
How It Works
A few lines of code express complex multi-phase setups
Market Structure Break + FVG Retest
1pattern(2 block(3 start(low(), structDirection("down")),4 any(msBreakUp(obLabel("ob"))),5 end(6 high(),7 structDirection("up"),8 containsFvgs(minOpenFvgUpCount(2), fvgLabel("up"))9 )10 ),11 block(12 end(fvgFill(targetLevel("fvg:up:0")))13 )14)
Block 1: Find a move from a low in downtrend, with a market structure break up, ending at a high with at least 2 open FVGs
Block 2: Wait for price to fill the first FVG
Labels like ob and fvg:up:0 let you reference levels across blocks
TPO Session VAL Reclaim with Delta
1pattern(2 block(3 start(4 candleDirection("down"),5 belowTarget(target("session/val"), reference("l")),6 candleFootprint(maxBuySellDeltaRatio(0.1)),7 candleFootprint(pocInBottomWick()),8 candleFootprint(closeAbovePoc())9 ),10 end(11 aboveTarget(target("session/val"), reference("c")),12 candleDirection("up"),13 candleFootprint(pocInBottomWick())14 )15 )16)
Start: Down candle below session VAL, seller absorption (low delta ratio), POC in bottom wick, close above POC
End: Reclaim VAL with bullish candle, POC still in bottom wick
Combines TPO levels with footprint analysis in a single pattern
Range Breakout with Volume Confirmation
1pattern(2 blocks(3 block(4 minCount(20), maxCount(100),5 range(6 minSupportCount(3), supportThreshold(0.0005),7 minResistanceCount(3), resistanceThreshold(0.0005))8 ),9 block(10 minCount(1), maxCount(25), endLabel("break/close"),11 end(12 candleDirection("up"),13 aboveTarget(target("range/resistance/high"), reference("c")),14 belowTarget(target("range/resistance/high"), reference("o")),15 or(16 unusualSize(minSizeStd(2)),17 unusualVolume(minVolumeDeltaRatio(2)),18 unusualVolume(minVolumeStd(2)),19 unusualVolume(minVolumeAvgRatio(2), volumeAvgPeriod(20)))20 )21 )22 )23)
Block 1: Detect a range with at least 3 support and 3 resistance touches over 20-100 candles
Block 2: Breakout candle that opens below and closes above resistance, with volume confirmation
Uses or() operator to accept any of several conditions: large candle, large volume delta compared to prior candle, large volume compared to average or standard deviation of the volume
Backtesting & Optimization
Test thousands of parameter combinations at once
Stop Loss / Take Profit
- Backtest thousands of limit/sl/tp combinations
- Fixed percentage SL/TP
- Risk/reward ratio based SL/TP
- Dynamic targets from pattern labels
- Test different padding values
Trail Stop Options
- EMA trail stop
- VWAP trail stop
- Fixed percent trail
- Grid-based trail
- ATR-based trail
Parameter Optimization
- Add parameters to your setup to find the optimal values
- Setup values to test for each parameter (range or list)
- Define your optimization goals (win rate, ev, drawdown, sample size)
- Backtest parameter combinations with GA like algorithm
Alerts
Create alerts from any pattern you build. EdgeFound scans the markets so you don't have to.
- Get notified when your setups trigger
- Works with any custom pattern
- Multiple notification channels
Why EdgeFound
vs. TradingView PineScript
PineScript is designed for indicators, not price action patterns. No native support for market structure, FVGs, order blocks, or multi-phase setups.
vs. StrategyQuant
Complex visual interface with a steep learning curve. EdgeFound's DSL is text-based, versionable, and composable.
vs. Manual Charting
Hours spent scanning charts for setups. EdgeFound scans all markets and timeframes automatically, finds matches you'd miss.
Join the Beta
EdgeFound is currently in beta testing. Request access to try the desktop app.