// Generated by ProRealAlgos.com // Touch & Turn Scalper – Opening Range Liquidity Reversal // RECOMMENDED TIMEFRAME: 15-minute chart (strategy runs on 15m only) // Instrument example: Netflix (US stocks) – session 09:30–11:00 EST // Entry logic based on first 15m candle of regular session DEFPARAM CumulateOrders = False DEFPARAM FlatBefore = 090000 DEFPARAM FlatAfter = 110000 // === USER PARAMETERS === riskPercentATR = 25 // % of daily ATR to qualify as liquidity candle rrRatio = 2 // Risk:Reward ratio (TP = 2x SL) atrPeriod = 14 // === SESSION CONTROL (US STOCKS) === isNewSession = (Hour = 9 AND Minute = 30) // === RESET VARIABLES EACH DAY === IF isNewSession THEN rangeHigh = 0 rangeLow = 0 rangeSize = 0 fib38 = 0 direction = 0 validSetup = 0 ENDIF // === CAPTURE FIRST 15m OPENING RANGE === IF Hour = 9 AND Minute = 45 THEN rangeHigh = High rangeLow = Low rangeSize = rangeHigh - rangeLow // --- DAILY ATR --- dailyATR = AverageTrueRange[atrPeriod](Close) // --- LIQUIDITY CANDLE FILTER --- IF rangeSize >= dailyATR * riskPercentATR / 100 THEN validSetup = 1 ELSE validSetup = 0 ENDIF // --- FIB 38.2 LEVEL --- fib38 = rangeLow + (rangeHigh - rangeLow) * 0.382 // --- DIRECTION OF LIQUIDITY CANDLE --- IF Close < Open THEN direction = -1 // bearish candle → look for LONG ELSE direction = 1 // bullish candle → look for SHORT ENDIF ENDIF // === TRADE EXECUTION (Touch & Turn) === IF validSetup = 1 AND NOT OnMarket AND Hour >= 9 AND Hour < 11 THEN // === LONG SETUP === IF direction = -1 THEN entryPrice = rangeLow targetDistance = fib38 - entryPrice stopDistance = targetDistance / rrRatio BUY 1 SHARE AT entryPrice LIMIT SET TARGET PRICE fib38 SET STOP LOSS stopDistance ENDIF // === SHORT SETUP === IF direction = 1 THEN entryPrice = rangeHigh targetDistance = entryPrice - fib38 stopDistance = targetDistance / rrRatio SELLSHORT 1 SHARE AT entryPrice LIMIT SET TARGET PRICE fib38 SET STOP LOSS stopDistance ENDIF ENDIF // === FORCE EXIT AFTER 11:00 === IF Hour >= 11 AND OnMarket THEN SELL AT MARKET EXITSHORT AT MARKET ENDIF // === BACKTEST STATISTICS DISPLAY === GRAPH StrategyProfit AS "Net Profit" GRAPH PositionPerf(1) AS "Last Trade %"