Initial commit: Touch & Turn Scalping Bot with fully automated execution, backtesting, and ISA screening
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
// 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 %"
|
||||
Reference in New Issue
Block a user