Clement Ang’s 520%+ US Trading Championship NQ Strategy: EMA Pullback Rules (Free Pine Script v6)

Clement Ang didn't just compete in the US Trading Championship — he posted a combined return of over 520% as a finalist. His edge? A systematic momentum approach to NQ futures that most retail traders overlook: waiting for EMA alignment, buying pullbacks, and letting the math do the work.

We rebuilt his core concept into a fully coded, backtested, and automatable Pine Script v6 strategy: the NQ Momentum Intraday [PickMyTrade]. It trades both long and short on NQ1! futures, uses ATR-based stops with a 2.5 R:R target, and flattens before the close every day. No overnight risk. No discretion. No repainting.

The result? +$37,660 (+37.66%) on the 1-hour chart over 21 months of backtesting. And it's free — with webhook automation built in for PickMyTrade users.


Quick Reference: Strategy at a Glance

SettingValue
Timeframes15-minute, 1-hour
DirectionBidirectional (long and short)
InstrumentNQ1! (E-mini NASDAQ-100 Futures)
Entry typeMarket on confirmed bar close
Trend filter9/21/50 EMA alignment
Stop-loss1.5x ATR below/above entry
Take profit2.5 R:R (risk-to-reward)
Trailing stopAfter 1R profit, trail by 1 ATR
SessionRTH only (09:30–15:45 ET)
EOD flatten15:55–16:00 ET
Initial capital$100,000
Commission$2.50 per contract per side
RepaintingNone (process_orders_on_close = false)
AutomationWebhook JSON via PickMyTrade
Pine Scriptv6 (free)

Who Is Clement Ang?

Clement Ang is a US Trading Championship finalist who achieved a combined return of over 520% trading NQ futures. He was recently featured on Words of Rizdom (593K subscribers, 117K+ views), where he broke down his systematic approach to momentum trading.

His core methodology: identify momentum using EMA alignment, wait for a pullback entry, and manage risk with fixed reward-to-risk ratios. No guessing, no tape reading — just rules. The NQ Momentum Intraday strategy codifies this approach into a fully automated Pine Script v6 strategy that anyone can run.


How the Strategy Works

The strategy is built on a simple premise: when a strong trend is in place, pullbacks to a key moving average are buying (or selling) opportunities.

Here's the full sequence:

  1. Three EMAs align — the 9 EMA is above the 21 EMA, which is above the 50 EMA (for longs; reversed for shorts). This confirms the trend direction.
  2. Price pulls back to the 21 EMA — the mid-range average acts as dynamic support. Within the last 5 bars, price must have touched or crossed this level.
  3. A strong candle confirms — the entry bar must have at least 40% body relative to its range, closing above the 9 EMA for longs (below for shorts).
  4. The trade executes with an ATR-based stop and a 2.5x risk-reward target. If the trade moves 1R in your favor, a trailing stop kicks in.
  5. All positions flatten before the market close (15:55–16:00 ET).

No oscillators, no volume filters, no pattern recognition. Just trend, pullback, confirmation, and risk management.

NQ Momentum Intraday strategy on 1-hour chart with 9/21/50 EMAs and entry signals
NQ Momentum Intraday [PickMyTrade] on the 1-hour chart — 9/21/50 EMAs with Long and Short entry signals.

Entry Rules (Detailed)

1. EMA Trend Alignment

Long rule: 9 EMA > 21 EMA > 50 EMA
Short rule: 9 EMA < 21 EMA < 50 EMA

The three-EMA stack is one of the oldest trend-identification techniques. When all three averages line up in order, you have a trend. When they cross and tangle, you have chop. The strategy only trades when the stack is clean.

2. Pullback to Mid EMA (21)

Within the last 5 bars, price must have touched or dipped below the 21 EMA (for longs) or risen above it (for shorts). This ensures you're buying a pullback, not chasing. The 5-bar lookback gives flexibility — the touch doesn't need to happen on the entry bar.

3. Candle Quality Filter (40% Body Minimum)

Small-bodied candles (dojis, spinning tops) signal indecision. The strategy requires a decisive candle:

  • For longs: Bullish close above the 9 EMA
  • For shorts: Bearish close below the 9 EMA
  • Body must be ≥ 40% of the total candle range

4. Cooldown Period (3 Bars)

After any trade closes — stop, target, or EOD flatten — the strategy waits 3 bars before looking for a new setup. This prevents whipsaw re-entries.


Exit System: Stops, Targets & Trailing

Exit ComponentTriggerAction
Stop-loss1.5x ATR from entryFull close
Take-profit2.5x risk from entryFull close
Trailing stopAfter 1R profit, 1 ATR trailFull close
EOD flatten15:55–16:00 ETFull close

The trailing stop is key: once the trade reaches 1R of profit, it follows price at 1 ATR distance. For longs it only moves up; for shorts it only moves down. If price reverses by 1 ATR from its best point, the trade closes with a profit. If it keeps running, the trailing stop follows.


Session Management: No Overnight Risk

  • Trading window: 09:30 – 15:45 ET (new entries only during RTH)
  • Flatten window: 15:55 – 16:00 ET (all open positions close)
  • 15-minute gap between last entry and flatten prevents opening trades that would immediately close
  • Every day starts flat — no overnight holds, no gap risk, no overnight margin

Non-Repainting Design

This strategy does not repaint. Every decision uses closed-bar data only:

  • barstate.isconfirmed gates entry logic — no entry fires until the bar closes
  • process_orders_on_close = false fills orders at the next bar's price
  • calc_on_every_tick = false prevents mid-bar recalculation
  • No future data, no lookahead, no repainting indicators

What you see in the backtest is what you would have seen in real time.


Backtest Results: NQ1! Futures

Results using default settings on NQ1! with $100,000 initial capital, 5% margin, and $2.50 commission per contract per side:

1-Hour Chart — 21 Months

NQ Momentum Intraday Strategy Key Stats: +37,660 Total PnL, 28.54% Max Drawdown, 48.67% Win Rate 146/300, 1.133 Profit Factor
Strategy Tester Key Stats — +$37,660 Total PnL (+37.66%), 48.67% Win Rate (146/300), Profit Factor 1.133.
MetricValue
PeriodJan 2, 2025 – Oct 7, 2026
Total PnL+$37,660.00 (+37.66%)
Max Drawdown$34,832.50 (28.54%)
Win Rate48.67% (146 of 300)
Profit Factor1.133
Long PnL+$29,185.00
Short PnL+$8,475.00
Expectancy$125.53 per trade

15-Minute Chart — 3 Months

MetricValue
PeriodJul 1, 2026 – Oct 7, 2026
Total PnL+$5,570.00 (+5.57%)
Max Drawdown$23,112.50 (17.98%)
Win Rate44.55% (45 of 101)
Key takeaways:

  • Profitable on both timeframes with identical default settings
  • Both long and short sides profitable on 1H ($29K long, $8.5K short)
  • Sub-50% win rate, still profitable — the 2.5 R:R means winners are substantially larger than losers
  • Max drawdown is meaningful (28.54% on 1H) — position sizing is critical
  • The strategy works best in trending markets; during chop, the EMA filter keeps you out of most trades

Important: These are hypothetical backtest results on historical data. Past performance does not indicate future results. Always paper-trade before committing real capital.


On-Chart Visuals and Info Table

The strategy plots directly on the chart with clear visual signals:

  • Three EMAs: Fast 9 (blue), Mid 21 (orange), Slow 50 (gray)
  • Entry signals: Blue triangles below bars for longs, orange triangles above bars for shorts
  • SL/TP lines: Red lines for stop-loss, green lines for take-profit (visible during open positions)
  • Session highlighting: Background shading during the flatten window
Close-up of EMA pullback entry signals showing Long and Short arrows on NQ futures
Close-up of entry signals — Blue arrows for Long entries, red arrows for Short entries, with EMA alignment visible.

Live Info Table

A compact info table in the top-right corner shows real-time status:

RowWhat it shows
TrendBULL / BEAR / FLAT with color
SessionOPEN / CLOSED
PositionLONG / SHORT / FLAT
CooldownReady or bars remaining
Net P&LRunning profit/loss
ATRCurrent ATR value

How to Automate with PickMyTrade

Every entry, exit, and flatten sends a webhook-ready JSON alert message. Four steps to full automation:

Step 1: Add the Strategy to TradingView

Open the Pine Editor, paste the strategy code, and click "Add to chart." Set the symbol to NQ1! and the timeframe to 15m or 1H.

Full Pine Script v6 Code

Copy the entire code below and paste it into TradingView's Pine Editor:

//@version=6
strategy("NQ Momentum Intraday [PickMyTrade]",
     overlay              = true,
     initial_capital      = 100000,
     default_qty_type     = strategy.fixed,
     default_qty_value    = 1,
     commission_type      = strategy.commission.cash_per_contract,
     commission_value     = 2.50,
     margin_long          = 5,
     margin_short         = 5,
     process_orders_on_close = false,
     pyramiding           = 0,
     calc_on_every_tick   = false,
     max_bars_back        = 500)

// ── Colours ─────────────────────────────────────────────────────────
C_BULL   = #2962FF
C_BEAR   = #FF6D00
C_SL     = #E05252
C_TP     = #3FA45B
C_FLAT   = color.gray

// ── Inputs ──────────────────────────────────────────────────────────
grp1 = "Trend & Entry"
i_fastLen   = input.int(9,   "Fast EMA",       minval=2,  group=grp1)
i_midLen    = input.int(21,  "Mid EMA",        minval=5,  group=grp1)
i_slowLen   = input.int(50,  "Slow EMA",       minval=10, group=grp1)
i_atrLen    = input.int(14,  "ATR Length",      minval=5,  group=grp1)
i_atrMult   = input.float(1.5, "SL ATR Multiple", minval=0.5, step=0.1, group=grp1)
i_rrRatio   = input.float(2.5, "R:R Target",      minval=1.0, step=0.1, group=grp1)

grp2 = "Filters"
i_trendReq  = input.bool(true,  "Require EMA alignment (fast>mid>slow for longs)", group=grp2)
i_pullback  = input.bool(true,  "Require pullback to mid EMA",                     group=grp2)
i_bodyPct   = input.float(40.0, "Min body % of candle range",  minval=10, step=5,  group=grp2)
i_cooldown  = input.int(3,      "Bars cooldown after exit",    minval=0,            group=grp2)

grp3 = "Session (ET)"
i_sessStart = input.session("0930-1545", "RTH Trading Window", group=grp3)
i_flatStart = input.int(1555, "Flatten start (HHMM)", group=grp3)
i_flatEnd   = input.int(1600, "Flatten end   (HHMM)", group=grp3)

grp4 = "Risk Management"
i_trailAfterR = input.float(1.0, "Trail after R multiple", minval=0.5, step=0.1, group=grp4)
i_trailATR    = input.float(1.0, "Trail ATR distance",     minval=0.5, step=0.1, group=grp4)

grp5 = "PickMyTrade Webhook"
i_usePMT    = input.bool(false, "Enable PickMyTrade alerts", group=grp5)
i_token     = input.string("",  "PMT Token",   group=grp5)
i_symbol    = input.string("NQ", "PMT Symbol", group=grp5)
i_qty       = input.int(1, "PMT Quantity",     group=grp5, minval=1)

// ── Calculations ────────────────────────────────────────────────────
emaFast = ta.ema(close, i_fastLen)
emaMid  = ta.ema(close, i_midLen)
emaSlow = ta.ema(close, i_slowLen)
atr     = ta.atr(i_atrLen)

// Session logic (US/Eastern)
inSession  = not na(time(timeframe.period, i_sessStart, "America/New_York"))
etHour     = hour(time, "America/New_York")
etMinute   = minute(time, "America/New_York")
etHHMM     = etHour * 100 + etMinute
inFlatWindow = etHHMM >= i_flatStart and etHHMM <= i_flatEnd

// Trend alignment
bullTrend = i_trendReq ? (emaFast > emaMid and emaMid > emaSlow) : (emaFast > emaMid)
bearTrend = i_trendReq ? (emaFast < emaMid and emaMid < emaSlow) : (emaFast < emaMid)

// Pullback check: price touched or dipped below/above mid EMA recently (within 5 bars)
touchedMidFromAbove = ta.lowest(low, 5) <= emaMid
touchedMidFromBelow = ta.highest(high, 5) >= emaMid
pullbackOk_long  = i_pullback ? touchedMidFromAbove : true
pullbackOk_short = i_pullback ? touchedMidFromBelow : true

// Body quality filter
bodySize  = math.abs(close - open)
candleRng = high - low
bodyRatio = candleRng > 0 ? bodySize / candleRng * 100 : 0
bodyOk    = bodyRatio >= i_bodyPct

// Bullish / bearish candle
bullCandle = close > open and bodyOk
bearCandle = close < open and bodyOk

// Cooldown after last exit
var int barsSinceExit = 100
if strategy.closedtrades > 0
    lastExitBar = strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1)
    barsSinceExit := bar_index - lastExitBar
else
    barsSinceExit := 100
cooldownOk = barsSinceExit >= i_cooldown

// ── Entry Signals ───────────────────────────────────────────────────
longSignal  = bullTrend and pullbackOk_long  and bullCandle and close > emaFast
shortSignal = bearTrend and pullbackOk_short and bearCandle and close < emaFast

// ── Entry Gate ──────────────────────────────────────────────────────
canEnter = barstate.isconfirmed and strategy.position_size == 0 and not inFlatWindow and inSession and cooldownOk

// ── SL / TP calc ────────────────────────────────────────────────────
slDist = atr * i_atrMult

// ── Execute Entries ─────────────────────────────────────────────────
var float entryPrice = na
var float stopPrice  = na
var float tpPrice    = na
var bool  isLong     = false
var bool  trailing   = false

if canEnter and longSignal
    entryPrice := close
    stopPrice  := close - slDist
    tpPrice    := close + slDist * i_rrRatio
    isLong     := true
    trailing   := false
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop=stopPrice, limit=tpPrice)

if canEnter and shortSignal
    entryPrice := close
    stopPrice  := close + slDist
    tpPrice    := close - slDist * i_rrRatio
    isLong     := false
    trailing   := false
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", stop=stopPrice, limit=tpPrice)

// ── Trailing Stop Logic ─────────────────────────────────────────────
if strategy.position_size != 0
    profitPts = isLong ? (close - entryPrice) : (entryPrice - close)
    riskPts   = math.abs(entryPrice - stopPrice)
    rMultiple = riskPts > 0 ? profitPts / riskPts : 0

    if rMultiple >= i_trailAfterR and not trailing
        trailing := true

    if trailing
        trailDist = atr * i_trailATR
        if isLong
            newStop = close - trailDist
            if newStop > stopPrice
                stopPrice := newStop
                strategy.exit("Long Exit", "Long", stop=stopPrice, limit=tpPrice)
        else
            newStop = close + trailDist
            if newStop < stopPrice
                stopPrice := newStop
                strategy.exit("Short Exit", "Short", stop=stopPrice, limit=tpPrice)

// ── EOD Flatten ─────────────────────────────────────────────────────
if inFlatWindow and strategy.position_size != 0
    strategy.close_all(comment="EOD Flat")

// ── PMT Alerts ──────────────────────────────────────────────────────
if i_usePMT
    if canEnter and longSignal
        alert('{"ticker": "' + i_symbol + '", "action": "buy", "quantity": "' + str.tostring(i_qty) + '", "token": "' + i_token + '", "sl": "' + str.tostring(stopPrice, "#.##") + '", "tp": "' + str.tostring(tpPrice, "#.##") + '"}', alert.freq_once_per_bar_close)
    if canEnter and shortSignal
        alert('{"ticker": "' + i_symbol + '", "action": "sell", "quantity": "' + str.tostring(i_qty) + '", "token": "' + i_token + '", "sl": "' + str.tostring(stopPrice, "#.##") + '", "tp": "' + str.tostring(tpPrice, "#.##") + '"}', alert.freq_once_per_bar_close)
    if inFlatWindow and strategy.position_size != 0
        alert('{"ticker": "' + i_symbol + '", "action": "close", "token": "' + i_token + '"}', alert.freq_once_per_bar_close)

// ── Plots ───────────────────────────────────────────────────────────
plot(emaFast, "Fast EMA", C_BULL,   2)
plot(emaMid,  "Mid EMA",  C_BEAR,   2)
plot(emaSlow, "Slow EMA", C_FLAT,   1, plot.style_line)

plotshape(canEnter and longSignal,  "Long Signal",  shape.triangleup,   location.belowbar, C_BULL, size=size.small)
plotshape(canEnter and shortSignal, "Short Signal",  shape.triangledown, location.abovebar, C_BEAR, size=size.small)

// SL/TP lines
plot(strategy.position_size > 0 ? stopPrice : na, "Long SL",  C_SL, 1, plot.style_linebr)
plot(strategy.position_size > 0 ? tpPrice   : na, "Long TP",  C_TP, 1, plot.style_linebr)
plot(strategy.position_size < 0 ? stopPrice : na, "Short SL", C_SL, 1, plot.style_linebr)
plot(strategy.position_size < 0 ? tpPrice   : na, "Short TP", C_TP, 1, plot.style_linebr)

// ── Info Table ──────────────────────────────────────────────────────
var table infoTbl = table.new(position.top_right, 2, 6, bgcolor=color.new(color.black, 85))
if barstate.islast
    trend_str  = bullTrend ? "BULL" : bearTrend ? "BEAR" : "FLAT"
    trend_clr  = bullTrend ? C_BULL : bearTrend ? C_BEAR : C_FLAT
    sess_str   = inSession ? "OPEN" : "CLOSED"
    pos_str    = strategy.position_size > 0 ? "LONG" : strategy.position_size < 0 ? "SHORT" : "FLAT"
    pnl        = strategy.netprofit

    table.cell(infoTbl, 0, 0, "Trend",    text_color=color.white, text_size=size.small)
    table.cell(infoTbl, 1, 0, trend_str,   text_color=trend_clr,  text_size=size.small)
    table.cell(infoTbl, 0, 1, "Session",   text_color=color.white, text_size=size.small)
    table.cell(infoTbl, 1, 1, sess_str,    text_color=inSession ? C_TP : C_SL, text_size=size.small)
    table.cell(infoTbl, 0, 2, "Position",  text_color=color.white, text_size=size.small)
    table.cell(infoTbl, 1, 2, pos_str,     text_color=strategy.position_size > 0 ? C_BULL : strategy.position_size < 0 ? C_BEAR : C_FLAT, text_size=size.small)
    table.cell(infoTbl, 0, 3, "Cooldown",  text_color=color.white, text_size=size.small)
    table.cell(infoTbl, 1, 3, cooldownOk ? "Ready" : str.tostring(i_cooldown - barsSinceExit) + " bars", text_color=cooldownOk ? C_TP : C_SL, text_size=size.small)
    table.cell(infoTbl, 0, 4, "Net P&L",   text_color=color.white, text_size=size.small)
    table.cell(infoTbl, 1, 4, "$" + str.tostring(pnl, "#,##0.00"), text_color=pnl >= 0 ? C_TP : C_SL, text_size=size.small)
    table.cell(infoTbl, 0, 5, "ATR",       text_color=color.white, text_size=size.small)
    table.cell(infoTbl, 1, 5, str.tostring(atr, "#.##"), text_color=color.white, text_size=size.small)

Step 2: Enable PickMyTrade Alerts

In the strategy settings under "PickMyTrade Webhook":

  • Toggle Enable PickMyTrade alerts to On
  • Enter your PMT Token
  • Set PMT Symbol to "NQ"
  • Set PMT Quantity to your contract size

Step 3: Create One TradingView Alert

  1. Right-click the strategy on the chart
  2. Select "Add alert on NQ Momentum Intraday [PickMyTrade]"
  3. Set trigger to: Once per bar close
  4. Enable Webhook URL and paste your PickMyTrade endpoint

Step 4: Connect to Your Broker

PickMyTrade receives the webhook JSON and routes the order to your broker (NinjaTrader, Tradovate, etc.). The alert messages include all order details:

Entry example (long):

{
  "ticker": "NQ",
  "action": "buy",
  "quantity": "1",
  "token": "YOUR_TOKEN",
  "sl": "31150.25",
  "tp": "31620.50"
}

EOD flatten:

{
  "ticker": "NQ",
  "action": "close",
  "token": "YOUR_TOKEN"
}

One TradingView alert handles everything — entries, exits, trailing stops, and EOD flatten.


Pine Script Settings Reference

GroupSettingDefaultDescription
Trend & EntryFast EMA9Short-term trend direction
Trend & EntryMid EMA21Pullback level
Trend & EntrySlow EMA50Long-term trend confirmation
Trend & EntryATR Length14Volatility measurement period
Trend & EntrySL ATR Multiple1.5Stop-loss distance in ATR
Trend & EntryR:R Target2.5Reward-to-risk ratio
FiltersMin body %40%Minimum candle body ratio
FiltersCooldown bars3Pause before next entry
Session (ET)RTH Window0930–1545Hours for new entries
Session (ET)Flatten1555–1600Close all positions
Risk MgmtTrail after R1.0Profit level to activate trailing
Risk MgmtTrail ATR1.0Trailing stop distance
PickMyTradeEnable alertsOffToggle webhook alerts
PickMyTradeSymbolNQSymbol sent in webhook
PickMyTradeQuantity1Contracts per order

Frequently Asked Questions

What is the NQ Momentum Intraday Strategy?

A bidirectional intraday strategy for NQ futures that trades EMA pullbacks during aligned trends. It uses a 9/21/50 EMA alignment filter, pullback confirmation, ATR-based stops with a 2.5 R:R target, and a trailing stop that activates after 1R of profit. It runs on 15-minute and 1-hour charts and ships as a free Pine Script v6 strategy with webhook-ready alerts for PickMyTrade automation.

What timeframes does it work on?

15-minute and 1-hour charts. Both timeframes are profitable with the same default settings. The 1-hour chart provides more data for backtesting and tends to produce smoother equity curves.

Does it trade both long and short?

Yes. The strategy takes long entries when the EMA stack is bullish (9 > 21 > 50) and short entries when bearish (9 < 21 < 50). Both sides are profitable in backtesting: +$29,185 on longs and +$8,475 on shorts.

Does this strategy repaint?

No. All decisions use barstate.isconfirmed (closed bars only), process_orders_on_close = false fills orders on the next bar, and calc_on_every_tick = false prevents mid-bar recalculation.

What about overnight risk?

There is none. The strategy flattens all positions between 15:55 and 16:00 ET every day. No overnight holds, no gap risk.

Why is the win rate below 50%?

The 2.5 R:R target means each winner is 2.5 times larger than each loser. At a 48.67% win rate on 1H, the math works: (0.4867 × 2.5) − (0.5133 × 1) = +0.70 expected value per unit of risk. The strategy profits by making more on winners, not by winning more often.

Can I use this on other futures like ES or YM?

The code is written for NQ (E-mini NASDAQ-100) but the logic works on ES, YM, or other index futures. You'd need to adjust the margin settings and potentially the ATR multipliers for different instruments' volatility profiles.

How do I automate it?

Enable the PickMyTrade webhook alerts in the strategy settings, create a single TradingView alert with the webhook URL pointing to your PickMyTrade endpoint. Every entry, exit, and EOD flatten sends its own JSON payload automatically. PickMyTrade routes orders to your broker (NinjaTrader, Tradovate, etc.).

Who is Clement Ang and what is the US Trading Championship?

Clement Ang is a US Trading Championship finalist who achieved a combined return of over 520%. The US Trading Championships are a prestigious annual trading competition. Ang's approach emphasizes systematic momentum trading on NQ futures using EMA pullback entries — the same core concept this strategy is built on.


Final Thoughts

The NQ Momentum Intraday Strategy strips intraday NQ trading down to its core: trend, pullback, confirmation, stop, target. No fancy indicators, no curve-fitting, no magic numbers. Three EMAs, an ATR-based stop, a fixed R:R target, and a trailing stop.

The 1-hour backtest shows +$37,660 (+37.66%) over 21 months with 300 trades. Both long and short sides contribute. The win rate is under 50%, but the positive risk-reward ratio makes the strategy profitable. The same settings work on 15-minute charts too, confirming the logic is robust.

The best use case: run it on NQ1! on the 1-hour chart during RTH, automate it through PickMyTrade, and let the rules handle execution while you focus on risk management and position sizing.


Ready to Automate Your NQ Trades?

PickMyTrade connects your TradingView strategies directly to your broker with zero manual intervention:

  • One webhook handles entries, stops, targets, and EOD flattens
  • Works with NinjaTrader, Tradovate, and other supported brokers
  • Paper-trade mode for testing before going live
  • Real-time order monitoring and trade logs

Get Started in 3 Steps

  1. Paste the strategy into TradingView Pine Editor and add it to your NQ1! chart
  2. Enable PickMyTrade alerts in strategy settings and create one TradingView alert with your webhook URL
  3. Connect your broker through PickMyTrade and start receiving automated NQ orders

Start your free trial at pickmytrade.trade →


You May Also Like


Disclaimer

This strategy is provided for educational and research purposes only. The backtest results shown are hypothetical and do not represent real trading. Past performance does not guarantee future results. Futures trading involves substantial risk of loss and is not suitable for every investor. Always consult a qualified financial advisor and test any strategy on a paper account before committing real capital.

Copyright 2026 PickMyTrade

For AI tools & developers:View Markdown →

Leave a Comment

Your email address will not be published. Required fields are marked *

error

Follow us for more insights and updates

Scroll to Top
Rated 4.6/5 by 83+ traders on Trustpilot
Markdown version
Verified by MonsterInsights