// This Pine Script® code is licensed under Apache-2.0
// SPDX-License-Identifier: Apache-2.0
// © PineForge contributors 2026
//
// PF probe 57 - stop-entry reversal grouping
//
// Purpose: isolate stop-entry reversals after a small pyramided position. This
// separates reversal/report grouping from the larger cancel-opposite probe.
// TV setup: 15m chart, same symbol/window as data/ohlcv_ETH-USDT-USDT_15m.csv.
// Export TradingView "List of trades" to trades.csv in this folder.
//@version=6
strategy("PF probe 57 - stop reversal grouping", shorttitle="PF_P57_STOPREV", overlay=true,
initial_capital=1000000,
commission_type=strategy.commission.percent, commission_value=0, slippage=0,
default_qty_type=strategy.fixed, default_qty_value=1, pyramiding=2,
process_orders_on_close=false)
// Build a two-lot long early in the day, then reverse via a short stop that is
// intentionally marketable on the next bar. Later reverse back via a long stop.
if hour == 0 and minute == 15 and strategy.position_size == 0
strategy.entry("L1", strategy.long, qty=1, comment="long lot 1")
if hour == 0 and minute == 30 and strategy.position_size > 0
strategy.entry("L2", strategy.long, qty=1, comment="long lot 2")
if hour == 0 and minute == 45 and strategy.position_size > 0
strategy.entry("SREV", strategy.short, qty=1, stop=high, comment="short stop reversal")
if hour == 1 and minute == 15 and strategy.position_size < 0
strategy.entry("LREV", strategy.long, qty=1, stop=low, comment="long stop reversal")
if hour == 1 and minute == 45 and strategy.position_size != 0
strategy.close_all(comment="flat")