156 lines
2.2 KiB
Plaintext
156 lines
2.2 KiB
Plaintext
// 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 %"
|