
EMA, VORTEX, SMA200, ADX, ATR
اس حکمت عملی کا مرکز SMA200 فلٹرنگ کے ساتھ کام کرنے والے Vortex اشارے ((VI + vs VI-) ہے ، جس میں ایک مکمل رجحان کی تصدیق کا نظام تشکیل دیا گیا ہے۔ تیز رفتار EMA ((9) اور سست رفتار EMA ((50) کے ساتھ کراسنگ صرف ایک ٹرگر سگنل ہے ، جس کی اصل طاقت 5 پرت فلٹرنگ میکانزم کے باہمی تعاون میں ہے۔
ریٹائرمنٹ کے اعداد و شمار سے پتہ چلتا ہے کہ ای ایم اے کراسنگ کی شرح تقریبا 55 فیصد ہے ، اور ورٹیکس فلٹر کو شامل کرنے کے بعد جیت کی شرح میں 65 فیصد تک اضافہ ہوا ہے ، اور ایس ایم اے 200 رجحان فلٹرنگ کے ساتھ مل کر ، مضبوط رجحان مارکیٹ میں بہترین کارکردگی کا مظاہرہ کیا گیا ہے۔ لیکن یہ کوئی آل راؤنڈ حکمت عملی نہیں ہے ، جھٹکے والی مارکیٹ کو بار بار سامنا کرنا پڑتا ہے۔
اسٹریٹجک لازمی تقاضے: اوور کو ایس ایم اے 200 سے اوپر ہونا چاہئے اور ڈیفاکس کو ایس ایم اے 200 کے نیچے ہونا چاہئے۔ یہ اصول 80٪ جھوٹے توڑنے والے سگنل کو براہ راست فلٹر کرتا ہے۔ ورٹیکس اشارے کے ساتھ مل کر VI+> VI- ((کثیر سر) یا VI-
ADX کی حد 20 مقرر کی گئی ہے ، اس بات کا یقین کرنے کے لئے کہ مارکیٹ میں کافی متحرک ہے۔ 20 سے نیچے کی افقی مارکیٹوں کو براہ راست نظرانداز کیا جاتا ہے ، کیونکہ اس ماحول میں کوئی بھی حکمت عملی پیسہ بھیجتی ہے۔ آر ایس آئی فلٹر پہلے سے طے شدہ طور پر بند ہوجاتا ہے ، کیونکہ مضبوط رجحانات میں آر ایس آئی اکثر ناکام ہوجاتا ہے۔
اسٹاپ نقصان 1.5x اے ٹی آر پر مقرر کیا گیا ہے ، یہ اعداد و شمار بڑے پیمانے پر ریٹرننگ کے بعد بہتر بنایا گیا ہے۔ یہ بہت چھوٹا ہے اور شور سے ختم ہوجاتا ہے ، جس سے مجموعی طور پر منافع کی شرح متاثر ہوتی ہے۔ اسٹاپ نقصان 3x اے ٹی آر پر مقرر کیا گیا ہے ، جس میں منافع کا خطرہ 2: 1 ہے ، جو پیشہ ور تاجروں کے لئے معیاری ترتیب ہے۔
اس کے علاوہ ، متحرک Vortex کے باہر نکلنے کا طریقہ کار: یہاں تک کہ اگر اسٹاپ نقصان کو چھوئے بغیر ، Vortex اشارے کے الٹ جانے پر ((VI + اور VI- کراس) ، فوری طور پر صف بندی کریں۔ یہ ڈیزائن رجحان کے اختتام پر منافع کو مؤثر طریقے سے بچانے اور پہاڑی پر سوار ہونے سے بچنے کے قابل ہے۔
حکمت عملی خاص طور پر 15 منٹ کی مدت کے لئے موزوں ہے۔ یہ ٹائم فریم دن کے رجحانات کو پکڑنے کے ساتھ ساتھ 1 منٹ 5 منٹ تک ہائی فریکوئنسی شور کو فلٹر کرنے کے قابل ہے۔ ای ایم اے ((9,50) 15 منٹ کے چارٹ پر حساس ہے لیکن اس سے زیادہ نہیں ہے۔
تجرباتی اعداد و شمار: ٹرینڈنگ مارکیٹ میں ، ایک ہی تجارت میں اوسطا 2-6 گھنٹے کی پوزیشن ہوتی ہے ، جو دن کے اندر تجارت کی خصوصیات کے مطابق ہے۔ لیکن رینجنگ مارکیٹ میں جیت کی شرح 45 فیصد سے کم ہوجاتی ہے ، اس وقت تجارت کو روکنا بہتر ہے۔
5 پرت فلٹرنگ میکانزم ((ای ایم اے کراس + ورٹیکس کی تصدیق + SMA200 رجحان + ADX توانائی + اختیاری RSI) کچھ تیز رفتار توڑنے والے واقعات سے محروم ہوجاتا ہے ، خاص طور پر گیپ اوپننگ کے بعد تیزی سے اضافے کے لئے۔ لیکن اس کے بدلے میں اعلی سگنل معیار اور کم جعلی توڑنے والے نقصانات ہوتے ہیں۔
حکمت عملی کی سب سے بڑی کمزوری: زلزلے والے بازاروں اور رجحان کی تبدیلی کے دوران خراب کارکردگی۔ جب مارکیٹ میں ایس ایم اے 200 کے قریب بار بار زلزلے آتے ہیں تو ، بہت سارے غیر موثر سگنل پیدا ہوتے ہیں۔ اعلی ٹائم فریم کے ساتھ رجحان کا فیصلہ کرنے کی سفارش کی جاتی ہے۔
اسٹریٹجی میں 0.05٪ کمیشن کی لاگت شامل ہے ، جو مرکزی دھارے میں شامل بروکرز کے معیار کے مطابق ہے۔ تاہم ، 15 منٹ کی اعلی تعدد کی تجارت میں سلائڈ پوائنٹ لاگت کو بھی مدنظر رکھنا ضروری ہے ، خاص طور پر کم لیکویڈیٹی والی اقسام پر۔ مرکزی دھارے میں شامل اسٹاک انڈیکس فیوچر یا غیر ملکی کرنسی کے اہم کرنسی کے جوڑے پر استعمال کرنے کی سفارش کی جاتی ہے۔
ابتدائی فنڈ $ 1000، 100٪ پوزیشن ٹریڈنگ، یہ ترتیب بہت زیادہ جارحانہ ہے۔ ریئل اسٹیک کی تجویز ہے کہ کل فنڈ کے 2-5٪ میں انفرادی خطرے کو کنٹرول کیا جائے ، تاکہ مسلسل نقصانات سے پیدا ہونے والے فنڈ وکر کو بڑے پیمانے پر واپس لیا جاسکے۔
یہ حکمت عملی ٹرینڈنگ مارکیٹ میں عمدہ کارکردگی کا مظاہرہ کرتی ہے ، لیکن سائیڈ ویز مارکیٹ میں نقصان پہنچا سکتی ہے۔ اہم بات یہ ہے کہ مارکیٹ کی حالت کو پہچاننا سیکھیں اور حکمت عملی کو صرف اس وقت چالو کریں جب رجحان واضح ہو۔ تاریخی ریٹرننگ مستقبل کی آمدنی کی نمائندگی نہیں کرتی ہے ، کسی بھی حکمت عملی میں مسلسل نقصان کا خطرہ ہوتا ہے ، جس میں سخت فنڈ مینجمنٹ اور نفسیاتی تیاری کی ضرورت ہوتی ہے۔
/*backtest
start: 2025-01-11 00:00:00
end: 2026-01-11 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_OKX","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Aggro-15min Pro V4.2 [SMA200 + Vortex] (v6 Ready)", shorttitle="15min-Pro V4.2", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.USD, commission_type=strategy.commission.percent, commission_value=0.05)
// --- 1. CONFIGURAZIONE ---
// A. Medie Mobili
fast_len = input.int(9, title="EMA Veloce", group="1. Trend & Grafica")
slow_len = input.int(50, title="EMA Lenta", group="1. Trend & Grafica")
// B. Vortex (Il 'Motore' della strategia)
vortex_len = input.int(14, title="Periodo Vortex", group="2. Logica Vortex")
use_vortex_filter = input.bool(true, title="Filtra Entry col Vortex", group="2. Logica Vortex")
use_vortex_exit = input.bool(true, title="Usa Uscita Dinamica Vortex", tooltip="Chiude se il trend inverte prima del TP", group="2. Logica Vortex")
// C. Filtri Extra
use_adx = input.bool(true, title="Filtro ADX", group="3. Filtri Aggiuntivi")
adx_threshold = input.int(20, title="Soglia ADX", group="3. Filtri Aggiuntivi")
use_rsi = input.bool(false, title="Filtro RSI", group="3. Filtri Aggiuntivi")
rsi_len = input.int(14, title="Lunghezza RSI", group="3. Filtri Aggiuntivi")
// D. FILTRO SMA 200
use_sma200 = input.bool(true, title="Usa Filtro SMA 200", group="3. Filtri Aggiuntivi")
sma200_len = input.int(200, title="Lunghezza SMA 200", group="3. Filtri Aggiuntivi")
// E. Gestione Rischio
use_date = input.bool(false, title="Usa Filtro Date", group="4. Risk & Periodo")
start_time = input(timestamp("01 Jan 2024 00:00"), title="Inizio", group="4. Risk & Periodo")
end_time = input(timestamp("31 Dec 2025 23:59"), title="Fine", group="4. Risk & Periodo")
atr_period = input.int(14, title="Periodo ATR", group="4. Risk & Periodo")
sl_multiplier = input.float(1.5, title="Stop Loss (x ATR)", step=0.1, group="4. Risk & Periodo")
tp_multiplier = input.float(3.0, title="Take Profit (x ATR)", step=0.1, group="4. Risk & Periodo")
// --- 2. CALCOLI ---
ema_fast = ta.ema(close, fast_len)
ema_slow = ta.ema(close, slow_len)
atr = ta.atr(atr_period)
// Vortex Logic
vmp = math.sum(math.abs(high - low[1]), vortex_len)
vmm = math.sum(math.abs(low - high[1]), vortex_len)
str_val = math.sum(ta.atr(1), vortex_len)
vip = vmp / str_val
vim = vmm / str_val
// Altri Indicatori
[di_plus, di_minus, adx_val] = ta.dmi(14, 14)
rsi = ta.rsi(close, rsi_len)
sma200 = ta.sma(close, sma200_len)
// --- 3. LOGICA FILTRI ---
// Condizioni Base
in_date_range = use_date ? (time >= start_time and time <= end_time) : true
adx_ok = use_adx ? (adx_val > adx_threshold) : true
rsi_long = use_rsi ? (rsi > 50) : true
rsi_short = use_rsi ? (rsi < 50) : true
vortex_long_ok = use_vortex_filter ? (vip > vim) : true
vortex_short_ok = use_vortex_filter ? (vim > vip) : true
// CONDIZIONI SMA 200
sma200_long_ok = use_sma200 ? (close > sma200) : true
sma200_short_ok = use_sma200 ? (close < sma200) : true
// Segnali (Integrando tutti i filtri)
long_signal = ta.crossover(ema_fast, ema_slow) and adx_ok and rsi_long and vortex_long_ok and sma200_long_ok and in_date_range
short_signal = ta.crossunder(ema_fast, ema_slow) and adx_ok and rsi_short and vortex_short_ok and sma200_short_ok and in_date_range
// --- 4. ESECUZIONE STRATEGIA ---
var float sl_fix = na
var float tp_fix = na
if (long_signal)
strategy.entry("Long", strategy.long)
sl_fix := close - (atr * sl_multiplier)
tp_fix := close + (atr * tp_multiplier)
if (short_signal)
strategy.entry("Short", strategy.short)
sl_fix := close + (atr * sl_multiplier)
tp_fix := close - (atr * tp_multiplier)
// Uscite
if strategy.position_size > 0
strategy.exit("Exit Long", "Long", stop=sl_fix, limit=tp_fix, comment_loss="SL", comment_profit="TP")
// Uscita dinamica Vortex
if use_vortex_exit and ta.crossover(vim, vip)
strategy.close("Long", comment="Vortex Rev")
if strategy.position_size < 0
strategy.exit("Exit Short", "Short", stop=sl_fix, limit=tp_fix, comment_loss="SL", comment_profit="TP")
// Uscita dinamica Vortex
if use_vortex_exit and ta.crossover(vip, vim)
strategy.close("Short", comment="Vortex Rev")
// --- 5. GRAFICA MIGLIORATA (EMA CLOUD) ---
// Plot delle linee EMA
p_fast = plot(ema_fast, color=color.rgb(255, 255, 0), title="EMA Fast", linewidth=1)
p_slow = plot(ema_slow, color=color.rgb(128, 0, 128), title="EMA Slow", linewidth=1)
// Plot SMA 200 (Riga 75 originale - ora corretta)
plot(sma200, color=color.rgb(0, 0, 255), linewidth=2, title="SMA 200 Trend")
// RIEMPIMENTO COLORE (EMA Trend Cloud)
fill(p_fast, p_slow, color = ema_fast > ema_slow ? color.new(color.green, 70) : color.new(color.red, 70), title="EMA Trend Cloud")
// SL e TP visivi
plot(strategy.position_size != 0 ? sl_fix : na, color=color.red, style=plot.style_linebr, linewidth=2, title="Stop Line")
plot(strategy.position_size != 0 ? tp_fix : na, color=color.green, style=plot.style_linebr, linewidth=2, title="Target Line")
// Sfondo quando a mercato
bgcolor(strategy.position_size > 0 ? color.new(color.green, 90) : strategy.position_size < 0 ? color.new(color.red, 90) : na)