// This Pine Script® code is licensed under Apache-2.0
// SPDX-License-Identifier: Apache-2.0
// © PineForge contributors 2026
//
// PF probe 29 — ta.median vs ta.ema crossover
// Purpose: parity test for ta.median() (robust central-tendency) crossing
// ta.ema() (mean-tendency) — divergent smoothing families on the same input.
//
//@version=6
strategy("Median Crossover", overlay=true, initial_capital=1000000, process_orders_on_close=false, pyramiding=1, commission_type=strategy.commission.percent, commission_value=0, slippage=0, default_qty_type=strategy.fixed, default_qty_value=1)
// === Inputs ===
medLen = input.int(20, "Median Length", minval=5)
emaLen = input.int(20, "EMA Length", minval=5)
// === Indicators ===
medVal = ta.median(close, medLen)
emaVal = ta.ema(close, emaLen)
// === Signals: median vs EMA crossover ===
longCond = ta.crossover(medVal, emaVal)
shortCond = ta.crossunder(medVal, emaVal)
if longCond
strategy.entry("Long", strategy.long)
if shortCond
strategy.entry("Short", strategy.short)
plot(medVal, "Median", color=color.blue, linewidth=2)
plot(emaVal, "EMA", color=color.red, linewidth=2)