Files
trading-bot/bot
T

156 lines
2.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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:3011: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 %"