Trade Execution Rules
Every trade KnightHawk takes follows a fixed, consistent rule set — no discretion, no guesswork. Here's exactly how entries, targets, stop-losses, and position sizing work.
Every trade has up to 2 defined targets. KnightHawk uses a 70/30 split — booking the majority at T1 and letting a runner chase T2.
| Target | Exit | SL moved to | What it means |
|---|---|---|---|
| T1 — First Target | 70% of position | Runner strategy SL (see below) | Most profit secured; 30% runner stays open with automatic SL protection |
| T2 — Second Target | Remaining 30% | — | Full move captured, runner closes completely |
70% — Book at T1
When T1 is reached, 70% of the position is closed. The bulk of profit is secured immediately, reducing exposure.
30% — The Runner
The remaining 30% stays open to chase T2. The Runner Strategy automatically manages its stop loss — protecting profit while giving the trade room to continue.
Initial Stop-Loss — Set at Entry
- SL is defined by the signal channel alongside targets before the trade is placed.
- It reflects the level where the trade thesis is invalidated — not an arbitrary percentage.
- KnightHawk places the SL order immediately on entry, no manual intervention needed.
Trailing Stop-Loss — After T1
- After T1: SL automatically moves to protect the runner based on the selected Runner Strategy (Balanced by default).
- Balanced (default): 2-stage — partial profit lock first, then tightens near T1 when momentum confirms.
- All SL moves are automatic — no manual intervention needed at any stage.
After T1 is hit and 70% of the position is closed, the remaining 30% — the runner — needs a stop loss. KnightHawk offers four strategies, each with a different balance between safety and profit potential. The default is Aggressive — optimised for Telegram signals that expect pullbacks before T2/T3.
- T1 hit → SL set to partial profit lock (entry + 30% of T1 gain)
- If price continues → SL automatically tightens to just below T1
- Catches full T2 move while surviving normal retracements
SL = 5091 + (14 × 0.30) = 5095.2
Stage 2 SL · when price ≥ midpoint (5112.5)
SL tightens to T1 − 0.1% = 5104.9
- T1 hit → SL moves exactly to entry price
- Runner cannot lose money after T1
- May stop out early on volatile or choppy assets
SL = 5091 (entry price)
Runner exits at breakeven or better, guaranteed.
- T1 hit → SL moves to entry − 0.5% (prevents spread stopouts)
- Runner stays alive through normal pullbacks toward T2/T3
- No midpoint tightening — trade runs freely to each target
SL = 5091 × 0.995 = 5065.5
Runner has maximum room. Suited for options and high-volatility signals.
- T1 hit → SL locks in near T1 (just 0.1% below)
- Runner exits above T1 in all cases — profit guaranteed
- Best when expecting strong momentum continuation
SL = 5105 × 0.999 = 5104.9
Tightest protection. Runner must confirm momentum immediately.
Aggressive Runner — How It Works (Default)
The Aggressive strategy moves the SL to just below entry after T1, giving the runner maximum room to reach T2 and T3. There is no midpoint tightening — the SL stays at entry − 0.5% until T2 is hit (where it then trails to T1). This matches how Telegram signal traders expect trades to play out: entry → T1 pullback → T2 → T3, without the bot exiting early on a normal retracement.
Configuration Reference
| Strategy | Internal Config |
|---|---|
| Aggressive default | RUNNER_SL_MODE=buffer · BREAKEVEN_BUFFER_PCT=0.005 · RUNNER_ENABLE_SECOND_STAGE=false |
| Conservative | RUNNER_SL_MODE=breakeven · RUNNER_ENABLE_SECOND_STAGE=false |
| Balanced | RUNNER_SL_MODE=gain_lock · GAIN_LOCK_RATIO=0.30 · RUNNER_ENABLE_SECOND_STAGE=true |
| Maximum Profit | RUNNER_SL_MODE=t1 · RUNNER_BUFFER_PCT=0.001 · RUNNER_ENABLE_SECOND_STAGE=false |
Fixed Capital Per Trade
Each trade is allocated a fixed capital amount (configured per account). Quantity is calculated automatically so every trade risks the same absolute amount regardless of price.
This keeps exposure equal across all instruments — a ₹20,000 BTCUSD trade and a ₹20,000 ETHUSD trade carry the same rupee risk.
Max Risk Per Trade
- Risk is bounded by the initial SL distance from entry.
- No trade is entered without a pre-defined SL.
- SL orders are placed as limit/stop orders on the exchange immediately at entry.
- Multiple open trades are allowed but each follows its own independent SL — losses on one don't affect others.
Signal Detected
KnightHawk reads the Telegram channel message, parses instrument, direction, entry price, targets (T1/T2/T3), and stop-loss.
Order Placed
Entry order is sent to the exchange at or near the signalled price. SL order is placed simultaneously. Quantity is calculated from allocated capital.
T1 Hit — Book 70%, Runner SL Activated
70% of position is closed at T1. The remaining 30% runner's stop loss is automatically set by the Runner Strategy. With the default Aggressive strategy, SL moves to entry − 0.5% — giving the runner maximum room to reach T2/T3 without early stopout.
Runner Continues — SL Trails at Each Target
The runner runs freely toward T2 and T3. No midpoint tightening by default. Once T2 is hit, SL moves up to T1 price. This allows the trade to follow the full signal path even with normal pullbacks along the way.
T2 Hit or Runner SL Triggered — Trade Closed
The remaining 30% exits at T2 for maximum profit, or at the runner SL if price reverses. In all strategies, the runner exits at or above the configured floor. Trade marked closed and P&L recorded.
Status Labels on Dashboard
- Target 1 Hit — T1 reached, SL at cost, trade running
- Target 2 Hit — T2 reached, bigger profit locked
- Target 1 → SL — T1 hit, then runner SL triggered (exits above T1 in profit)
- SL Hit — Initial SL triggered before any target
- 0 of 3 Targets — Closed at cost (manual exit before SL/target)
Key Numbers
- Targets per trade2
- Exit at T170%
- Exit at T230% (remaining)
- Runner strategy (default)Aggressive
- Aggressive SL after T1Entry − 0.5%
- Midpoint SL tighteningDisabled