[STRATEGY] Adaptive Multi Factor Trend Trading

Designed for 30‑minute timeframe, this strategy blends daily structure filtering (bull/bear bias), chop risk control using D SMA spread, linear regression slope , and 30‑min MA breakout triggers.
It also aggregates multi‑indicator consensus (MACD, RSI, Stoch, Ichimoku, CCI, PSAR, Williams %R, Heikin Ashi, Bias, Force Index) to adjust signal quality, plus loss‑pause control and dynamic position sizing based on recent performance and slope. Two sell branches (Sell#1 / Sell#2) are included, with hour‑weighted preference for high‑probability sessions.
2) Component Synergy
Daily Structure (D):
Bull: prior close above long MA and short MA > long MA → day_sma_buy_ok
Bear: prior close below short MA and short MA < long MA → day_sma_sell_ok
Chop Risk Filter:
Absolute spread |D SMA10 − D SMA20| must exceed ma_spread_threshold to avoid choppy conditions.
30m Trend Slope (LinReg, Len=42):
Slope interpreted in ranges for better trend quality detection.
Triggers (30m):
Long: high crossing prior MA42
Short: low crossing prior MA120
Consensus Scoring (bull/bear):
10+ indicators converted to +1/−1/0 and summed to bull/bear; used to filter Sell#2.
Hour Weighting (Sell#2):
Day: 8/9/10 AM; Night: 0/2/4/19/20/21/22/23;
Friday uses more lenient thresholds (bear and bar‑interval) to match weekly behavior.
3) Entries, Exits & Positioning
Buy:
Conditions: day_sma_buy_ok + chop filter + ta.crossover(high, MA42[1]), with barstate.isconfirmed.
Sizing:
If recent consecutive losses ≥ counti_lose → reduce to max_qty - 1;
If slope “Up” → use max_qty; else 1; capped by max_qty.
Risk: fixed TP/SL + trailing (start/offset).
Sell (two branches):
Sell#1: daily bear + ta.crossunder(low, MA120[1]) + strong MA60 slope (per‑bar change > threshold); qty=2.
Sell#2: close < SMA(low, sell2_sma) + bear > threshold + lr_slope < sell2_lr_slope;
Friday uses more lenient bear and interval thresholds;
In high‑probability hours, size=3; else size=1; capped by max_qty.
Risk: branch‑specific fixed/trailing TP/SL.
Interval Control: bar_index - SellBarIndex > interval (Friday uses sell2_spec_interval).
Loss‑Pause:
If loss streak ≥ lossStreakThr, pause trading for pauseUntilHr hours, then auto‑resume and reset.
4) Originality & Value
Dual‑layer filtering: daily bias + chop spread reduces false signals in ranges.
Slope range interpretation: beyond simple sign, improves trend quality recognition.
Multi‑indicator consensus: robust background filter for Sell#2.
Dynamic sizing & pause: adapts risk after losses and aligns with slope, aiming to improve win rate while stabilizing overall P/L.
5) How to Use
Timeframe: 30m.
Market: TXF (Asia/Taipei).
Best in trending markets; reduced activity in chop via daily spread filter.
Risk: combine with fixed/ATR SL and staged exits; tune trailing start/offset to volatility.
Hours: Day session 08:30–15:00; Sell#2 favored in specified hours.
6) Non‑Repaint Note
For HTF data, use close[1] + lookahead_off to avoid unseen future data bleeding into current bars.
Triggers use barstate.isconfirmed. If you want more conservative signals, switch high/low triggers to close‑confirmed crossings.
7) Disclaimer
Educational use only; not financial advice. Backtests may differ from future performance.
8) Release Note
v1.0: First official publication of the strategy.
v1.1: Added Cooling Mechanism to Prevent Drawdown.
Designed for 30‑minute timeframe, this strategy blends daily structure filtering (bull/bear bias), chop risk control using D SMA spread, linear regression slope , and 30‑min MA breakout triggers.
It also aggregates multi‑indicator consensus (MACD, RSI, Stoch, Ichimoku, CCI, PSAR, Williams %R, Heikin Ashi, Bias, Force Index) to adjust signal quality, plus loss‑pause control and dynamic position sizing based on recent performance and slope. Two sell branches (Sell#1 / Sell#2) are included, with hour‑weighted preference for high‑probability sessions.
2) Component Synergy
Daily Structure (D):
Bull: prior close above long MA and short MA > long MA → day_sma_buy_ok
Bear: prior close below short MA and short MA < long MA → day_sma_sell_ok
Chop Risk Filter:
Absolute spread |D SMA10 − D SMA20| must exceed ma_spread_threshold to avoid choppy conditions.
30m Trend Slope (LinReg, Len=42):
Slope interpreted in ranges for better trend quality detection.
Triggers (30m):
Long: high crossing prior MA42
Short: low crossing prior MA120
Consensus Scoring (bull/bear):
10+ indicators converted to +1/−1/0 and summed to bull/bear; used to filter Sell#2.
Hour Weighting (Sell#2):
Day: 8/9/10 AM; Night: 0/2/4/19/20/21/22/23;
Friday uses more lenient thresholds (bear and bar‑interval) to match weekly behavior.
3) Entries, Exits & Positioning
Buy:
Conditions: day_sma_buy_ok + chop filter + ta.crossover(high, MA42[1]), with barstate.isconfirmed.
Sizing:
If recent consecutive losses ≥ counti_lose → reduce to max_qty - 1;
If slope “Up” → use max_qty; else 1; capped by max_qty.
Risk: fixed TP/SL + trailing (start/offset).
Sell (two branches):
Sell#1: daily bear + ta.crossunder(low, MA120[1]) + strong MA60 slope (per‑bar change > threshold); qty=2.
Sell#2: close < SMA(low, sell2_sma) + bear > threshold + lr_slope < sell2_lr_slope;
Friday uses more lenient bear and interval thresholds;
In high‑probability hours, size=3; else size=1; capped by max_qty.
Risk: branch‑specific fixed/trailing TP/SL.
Interval Control: bar_index - SellBarIndex > interval (Friday uses sell2_spec_interval).
Loss‑Pause:
If loss streak ≥ lossStreakThr, pause trading for pauseUntilHr hours, then auto‑resume and reset.
4) Originality & Value
Dual‑layer filtering: daily bias + chop spread reduces false signals in ranges.
Slope range interpretation: beyond simple sign, improves trend quality recognition.
Multi‑indicator consensus: robust background filter for Sell#2.
Dynamic sizing & pause: adapts risk after losses and aligns with slope, aiming to improve win rate while stabilizing overall P/L.
5) How to Use
Timeframe: 30m.
Market: TXF (Asia/Taipei).
Best in trending markets; reduced activity in chop via daily spread filter.
Risk: combine with fixed/ATR SL and staged exits; tune trailing start/offset to volatility.
Hours: Day session 08:30–15:00; Sell#2 favored in specified hours.
6) Non‑Repaint Note
For HTF data, use close[1] + lookahead_off to avoid unseen future data bleeding into current bars.
Triggers use barstate.isconfirmed. If you want more conservative signals, switch high/low triggers to close‑confirmed crossings.
7) Disclaimer
Educational use only; not financial advice. Backtests may differ from future performance.
8) Release Note
v1.0: First official publication of the strategy.
v1.1: Added Cooling Mechanism to Prevent Drawdown.
Designed for 30‑minute timeframe, this strategy blends daily structure filtering (bull/bear bias), chop risk control using D SMA spread, linear regression slope , and 30‑min MA breakout triggers.
It also aggregates multi‑indicator consensus (MACD, RSI, Stoch, Ichimoku, CCI, PSAR, Williams %R, Heikin Ashi, Bias, Force Index) to adjust signal quality, plus loss‑pause control and dynamic position sizing based on recent performance and slope. Two sell branches (Sell#1 / Sell#2) are included, with hour‑weighted preference for high‑probability sessions.
2) Component Synergy
Daily Structure (D):
Bull: prior close above long MA and short MA > long MA → day_sma_buy_ok
Bear: prior close below short MA and short MA < long MA → day_sma_sell_ok
Chop Risk Filter:
Absolute spread |D SMA10 − D SMA20| must exceed ma_spread_threshold to avoid choppy conditions.
30m Trend Slope (LinReg, Len=42):
Slope interpreted in ranges for better trend quality detection.
Triggers (30m):
Long: high crossing prior MA42
Short: low crossing prior MA120
Consensus Scoring (bull/bear):
10+ indicators converted to +1/−1/0 and summed to bull/bear; used to filter Sell#2.
Hour Weighting (Sell#2):
Day: 8/9/10 AM; Night: 0/2/4/19/20/21/22/23;
Friday uses more lenient thresholds (bear and bar‑interval) to match weekly behavior.
3) Entries, Exits & Positioning
Buy:
Conditions: day_sma_buy_ok + chop filter + ta.crossover(high, MA42[1]), with barstate.isconfirmed.
Sizing:
If recent consecutive losses ≥ counti_lose → reduce to max_qty - 1;
If slope “Up” → use max_qty; else 1; capped by max_qty.
Risk: fixed TP/SL + trailing (start/offset).
Sell (two branches):
Sell#1: daily bear + ta.crossunder(low, MA120[1]) + strong MA60 slope (per‑bar change > threshold); qty=2.
Sell#2: close < SMA(low, sell2_sma) + bear > threshold + lr_slope < sell2_lr_slope;
Friday uses more lenient bear and interval thresholds;
In high‑probability hours, size=3; else size=1; capped by max_qty.
Risk: branch‑specific fixed/trailing TP/SL.
Interval Control: bar_index - SellBarIndex > interval (Friday uses sell2_spec_interval).
Loss‑Pause:
If loss streak ≥ lossStreakThr, pause trading for pauseUntilHr hours, then auto‑resume and reset.
4) Originality & Value
Dual‑layer filtering: daily bias + chop spread reduces false signals in ranges.
Slope range interpretation: beyond simple sign, improves trend quality recognition.
Multi‑indicator consensus: robust background filter for Sell#2.
Dynamic sizing & pause: adapts risk after losses and aligns with slope, aiming to improve win rate while stabilizing overall P/L.
5) How to Use
Timeframe: 30m.
Market: TXF (Asia/Taipei).
Best in trending markets; reduced activity in chop via daily spread filter.
Risk: combine with fixed/ATR SL and staged exits; tune trailing start/offset to volatility.
Hours: Day session 08:30–15:00; Sell#2 favored in specified hours.
6) Non‑Repaint Note
For HTF data, use close[1] + lookahead_off to avoid unseen future data bleeding into current bars.
Triggers use barstate.isconfirmed. If you want more conservative signals, switch high/low triggers to close‑confirmed crossings.
7) Disclaimer
Educational use only; not financial advice. Backtests may differ from future performance.
8) Release Note
v1.0: First official publication of the strategy.
v1.1: Added Cooling Mechanism to Prevent Drawdown.
E-mail : kiwei580@gmail.com
Store : shopee.tw/product/1379818/52853380920/
Designed for 30‑minute timeframe, this strategy blends daily structure filtering (bull/bear bias), chop risk control using D SMA spread, linear regression slope , and 30‑min MA breakout triggers.
It also aggregates multi‑indicator consensus (MACD, RSI, Stoch, Ichimoku, CCI, PSAR, Williams %R, Heikin Ashi, Bias, Force Index) to adjust signal quality, plus loss‑pause control and dynamic position sizing based on recent performance and slope. Two sell branches (Sell#1 / Sell#2) are included, with hour‑weighted preference for high‑probability sessions.
2) Component Synergy
Daily Structure (D):
Bull: prior close above long MA and short MA > long MA → day_sma_buy_ok
Bear: prior close below short MA and short MA < long MA → day_sma_sell_ok
Chop Risk Filter:
Absolute spread |D SMA10 − D SMA20| must exceed ma_spread_threshold to avoid choppy conditions.
30m Trend Slope (LinReg, Len=42):
Slope interpreted in ranges for better trend quality detection.
Triggers (30m):
Long: high crossing prior MA42
Short: low crossing prior MA120
Consensus Scoring (bull/bear):
10+ indicators converted to +1/−1/0 and summed to bull/bear; used to filter Sell#2.
Hour Weighting (Sell#2):
Day: 8/9/10 AM; Night: 0/2/4/19/20/21/22/23;
Friday uses more lenient thresholds (bear and bar‑interval) to match weekly behavior.
3) Entries, Exits & Positioning
Buy:
Conditions: day_sma_buy_ok + chop filter + ta.crossover(high, MA42[1]), with barstate.isconfirmed.
Sizing:
If recent consecutive losses ≥ counti_lose → reduce to max_qty - 1;
If slope “Up” → use max_qty; else 1; capped by max_qty.
Risk: fixed TP/SL + trailing (start/offset).
Sell (two branches):
Sell#1: daily bear + ta.crossunder(low, MA120[1]) + strong MA60 slope (per‑bar change > threshold); qty=2.
Sell#2: close < SMA(low, sell2_sma) + bear > threshold + lr_slope < sell2_lr_slope;
Friday uses more lenient bear and interval thresholds;
In high‑probability hours, size=3; else size=1; capped by max_qty.
Risk: branch‑specific fixed/trailing TP/SL.
Interval Control: bar_index - SellBarIndex > interval (Friday uses sell2_spec_interval).
Loss‑Pause:
If loss streak ≥ lossStreakThr, pause trading for pauseUntilHr hours, then auto‑resume and reset.
4) Originality & Value
Dual‑layer filtering: daily bias + chop spread reduces false signals in ranges.
Slope range interpretation: beyond simple sign, improves trend quality recognition.
Multi‑indicator consensus: robust background filter for Sell#2.
Dynamic sizing & pause: adapts risk after losses and aligns with slope, aiming to improve win rate while stabilizing overall P/L.
5) How to Use
Timeframe: 30m.
Market: TXF (Asia/Taipei).
Best in trending markets; reduced activity in chop via daily spread filter.
Risk: combine with fixed/ATR SL and staged exits; tune trailing start/offset to volatility.
Hours: Day session 08:30–15:00; Sell#2 favored in specified hours.
6) Non‑Repaint Note
For HTF data, use close[1] + lookahead_off to avoid unseen future data bleeding into current bars.
Triggers use barstate.isconfirmed. If you want more conservative signals, switch high/low triggers to close‑confirmed crossings.
7) Disclaimer
Educational use only; not financial advice. Backtests may differ from future performance.
8) Release Note
v1.0: First official publication of the strategy.
v1.1: Added Cooling Mechanism to Prevent Drawdown.
E-mail : kiwei580@gmail.com
Store : shopee.tw/product/1379818/52853380920/
Designed for 30‑minute timeframe, this strategy blends daily structure filtering (bull/bear bias), chop risk control using D SMA spread, linear regression slope , and 30‑min MA breakout triggers.
It also aggregates multi‑indicator consensus (MACD, RSI, Stoch, Ichimoku, CCI, PSAR, Williams %R, Heikin Ashi, Bias, Force Index) to adjust signal quality, plus loss‑pause control and dynamic position sizing based on recent performance and slope. Two sell branches (Sell#1 / Sell#2) are included, with hour‑weighted preference for high‑probability sessions.
2) Component Synergy
Daily Structure (D):
Bull: prior close above long MA and short MA > long MA → day_sma_buy_ok
Bear: prior close below short MA and short MA < long MA → day_sma_sell_ok
Chop Risk Filter:
Absolute spread |D SMA10 − D SMA20| must exceed ma_spread_threshold to avoid choppy conditions.
30m Trend Slope (LinReg, Len=42):
Slope interpreted in ranges for better trend quality detection.
Triggers (30m):
Long: high crossing prior MA42
Short: low crossing prior MA120
Consensus Scoring (bull/bear):
10+ indicators converted to +1/−1/0 and summed to bull/bear; used to filter Sell#2.
Hour Weighting (Sell#2):
Day: 8/9/10 AM; Night: 0/2/4/19/20/21/22/23;
Friday uses more lenient thresholds (bear and bar‑interval) to match weekly behavior.
3) Entries, Exits & Positioning
Buy:
Conditions: day_sma_buy_ok + chop filter + ta.crossover(high, MA42[1]), with barstate.isconfirmed.
Sizing:
If recent consecutive losses ≥ counti_lose → reduce to max_qty - 1;
If slope “Up” → use max_qty; else 1; capped by max_qty.
Risk: fixed TP/SL + trailing (start/offset).
Sell (two branches):
Sell#1: daily bear + ta.crossunder(low, MA120[1]) + strong MA60 slope (per‑bar change > threshold); qty=2.
Sell#2: close < SMA(low, sell2_sma) + bear > threshold + lr_slope < sell2_lr_slope;
Friday uses more lenient bear and interval thresholds;
In high‑probability hours, size=3; else size=1; capped by max_qty.
Risk: branch‑specific fixed/trailing TP/SL.
Interval Control: bar_index - SellBarIndex > interval (Friday uses sell2_spec_interval).
Loss‑Pause:
If loss streak ≥ lossStreakThr, pause trading for pauseUntilHr hours, then auto‑resume and reset.
4) Originality & Value
Dual‑layer filtering: daily bias + chop spread reduces false signals in ranges.
Slope range interpretation: beyond simple sign, improves trend quality recognition.
Multi‑indicator consensus: robust background filter for Sell#2.
Dynamic sizing & pause: adapts risk after losses and aligns with slope, aiming to improve win rate while stabilizing overall P/L.
5) How to Use
Timeframe: 30m.
Market: TXF (Asia/Taipei).
Best in trending markets; reduced activity in chop via daily spread filter.
Risk: combine with fixed/ATR SL and staged exits; tune trailing start/offset to volatility.
Hours: Day session 08:30–15:00; Sell#2 favored in specified hours.
6) Non‑Repaint Note
For HTF data, use close[1] + lookahead_off to avoid unseen future data bleeding into current bars.
Triggers use barstate.isconfirmed. If you want more conservative signals, switch high/low triggers to close‑confirmed crossings.
7) Disclaimer
Educational use only; not financial advice. Backtests may differ from future performance.
8) Release Note
v1.0: First official publication of the strategy.
v1.1: Added Cooling Mechanism to Prevent Drawdown.
Designed for 30‑minute timeframe, this strategy blends daily structure filtering (bull/bear bias), chop risk control using D SMA spread, linear regression slope , and 30‑min MA breakout triggers.
It also aggregates multi‑indicator consensus (MACD, RSI, Stoch, Ichimoku, CCI, PSAR, Williams %R, Heikin Ashi, Bias, Force Index) to adjust signal quality, plus loss‑pause control and dynamic position sizing based on recent performance and slope. Two sell branches (Sell#1 / Sell#2) are included, with hour‑weighted preference for high‑probability sessions.
2) Component Synergy
Daily Structure (D):
Bull: prior close above long MA and short MA > long MA → day_sma_buy_ok
Bear: prior close below short MA and short MA < long MA → day_sma_sell_ok
30m Trend Slope (LinReg, Len=42):
Slope interpreted in ranges for better trend quality detection.
Consensus Scoring (bull/bear):
10+ indicators converted to +1/−1/0 and summed to bull/bear; used to filter Sell#2.
Friday uses more lenient thresholds (bear and bar‑interval) to match weekly behavior.
3) Entries, Exits & Positioning
Buy:
Conditions: day_sma_buy_ok with barstate.isconfirmed.
Sizing:
If recent consecutive losses ≥ counti_lose → reduce to max_qty - 1;
If slope “Up” → use max_qty; else 1; capped by max_qty.
Risk: fixed TP/SL + trailing (start/offset).
Sell (two branches):
Sell#1: daily bear + strong MA slope (per‑bar change > threshold); qty=2.
Sell#2: close < SMA(low, sell2_sma) + bear > threshold + lr_slope < sell2_lr_slope;
Friday uses more lenient bear and interval thresholds;
In high‑probability hours, size=3; else size=1; capped by max_qty.
Risk: branch‑specific fixed/trailing TP/SL.
Interval Control: bar_index - SellBarIndex > interval (Friday uses sell2_spec_interval).
Loss‑Pause:
If loss streak ≥ lossStreakThr, pause trading for pauseUntilHr hours, then auto‑resume and reset.
4) Originality & Value
Dual‑layer filtering: daily bias + chop spread reduces false signals in ranges.
Slope range interpretation: beyond simple sign, improves trend quality recognition.
Multi‑indicator consensus: robust background filter for Sell#2.
Dynamic sizing & pause: adapts risk after losses and aligns with slope, aiming to improve win rate while stabilizing overall P/L.
5) How to Use
Timeframe: 30m.
Market: TXF (Asia/Taipei).
Best in trending markets; reduced activity in chop via daily spread filter.
Risk: combine with fixed/ATR SL and staged exits; tune trailing start/offset to volatility.
6) Non‑Repaint Note
For HTF data, use close[1] + lookahead_off to avoid unseen future data bleeding into current bars.
Triggers use barstate.isconfirmed. If you want more conservative signals, switch high/low triggers to close‑confirmed crossings.
7) Disclaimer
Educational use only; not financial advice. Backtests may differ from future performance.
8) Release Note
v1.0: First official publication of the strategy.
v1.1: Added Cooling Mechanism to Prevent Drawdown.
Script su invito
Solo gli utenti approvati dall'autore possono accedere a questo script. È necessario richiedere e ottenere l'autorizzazione per utilizzarlo. Tale autorizzazione viene solitamente concessa dopo il pagamento. Per ulteriori dettagli, seguire le istruzioni dell'autore riportate di seguito o contattare direttamente kiwei580.
TradingView NON consiglia di acquistare o utilizzare uno script a meno che non si abbia piena fiducia nel suo autore e se ne comprenda il funzionamento. È inoltre possibile trovare alternative gratuite e open source nei nostri script della community.
Istruzioni dell'autore
Declinazione di responsabilità
Script su invito
Solo gli utenti approvati dall'autore possono accedere a questo script. È necessario richiedere e ottenere l'autorizzazione per utilizzarlo. Tale autorizzazione viene solitamente concessa dopo il pagamento. Per ulteriori dettagli, seguire le istruzioni dell'autore riportate di seguito o contattare direttamente kiwei580.
TradingView NON consiglia di acquistare o utilizzare uno script a meno che non si abbia piena fiducia nel suo autore e se ne comprenda il funzionamento. È inoltre possibile trovare alternative gratuite e open source nei nostri script della community.