
یہ حکمت عملی ایک اعلی درجے کی رجحان ٹریکنگ سسٹم ہے جس میں گرنے کے نمونوں کی شناخت اور اشاریہ کی حرکت پذیری اوسط ((EMA) رجحان فلٹرنگ کو یکجا کیا گیا ہے۔ یہ مارکیٹ کی رجحان کی سمت کی تصدیق کرنے کے لئے تیز رفتار EMA ((20 سائیکل) اور سست رفتار EMA ((50 سائیکل) کا ایک کراسنگ سسٹم استعمال کرتے ہوئے ، ایک مخصوص گرنے والی شکل کو شناخت کرتے ہوئے ، ایک انٹری سگنل کے طور پر استعمال کرتا ہے۔ حکمت عملی میں ایک ذہین رسک مینجمنٹ میکانزم بھی شامل ہے ، جس میں 5٪ فکسڈ اسٹاپ نقصان اور 1٪ ٹریکنگ اسٹاپ نقصان ، اور ایک جدید تاخیر سے باہر نکلنے کا طریقہ کار بھی شامل ہے ، جس میں 2 مکمل K لائنوں کا انتظار کرنے کے بعد ایکٹ آؤٹ سگنل پر عملدرآمد کیا جاتا ہے۔
اس حکمت عملی کا بنیادی اصول رجحانات کی پیروی اور قیمت کی شکل کی شناخت کے مجموعہ پر مبنی ہے۔ اس کا عملی منطق مندرجہ ذیل ہے:
رجحانات کی شناخت:
داخلے کی شرائط:
ٹوٹ پھوٹ کے نمونوں کی شناخت:
واپسی کا طریقہ کار:
کوڈ میں تاخیر سے باہر نکلنے کے انتظام کے لئے ایک کاؤنٹر سسٹم کا نفاذ کیا گیا ہے ، اس بات کو یقینی بنایا گیا ہے کہ سگنل کے بعد ایک مخصوص تعداد میں K لائنوں کا انتظار کیا جائے تاکہ باہر نکلنے کا عمل انجام دیا جاسکے ، جس سے ہلچل والی مارکیٹوں میں قبل از وقت باہر نکلنے کو مؤثر طریقے سے کم کیا جاسکے۔
کوڈ کا گہرائی سے تجزیہ کرنے کے بعد ، اس حکمت عملی کے درج ذیل نمایاں فوائد ہیں:
ایک سے زیادہ توثیق کا طریقہ کارEMA رجحان فلٹرنگ کے ساتھ ساتھ گرنے کے موڈ کے ساتھ ، ٹریڈنگ سگنل کی وشوسنییتا میں نمایاں اضافہ ہوا ہے ، جس سے جعلی سگنل کم ہوجاتے ہیں۔
اعلی درجے کی پیٹرن کی شناخت: حکمت عملی میں سخت پیرامیٹرز کی وضاحت کی گئی ہے کہ صرف اعلی معیار کے نمونوں کو پہچاننے اور تجارتی سگنل پیدا کرنے کے لئے کوکیز اور نگلنے والی شکلوں کا استعمال کیا جائے۔
اسمارٹ آؤٹ سسٹم: جدید تاخیر سے باہر نکلنے کا طریقہ کار ((exitDelayBars پیرامیٹر کنٹرول کے ذریعے) حکمت عملی کو مارکیٹ میں مختصر مدت کے اتار چڑھاؤ کی وجہ سے منافع بخش تجارت سے جلد باہر نکلنے سے بچنے کی اجازت دیتا ہے ، جس سے نظام کی شور مزاحمت میں نمایاں اضافہ ہوتا ہے۔
مکمل خطرے کا انتظام: فکسڈ اسٹاپ ((5%) اور ٹریکنگ اسٹاپ ((1%) کے دوہری تحفظ کے نظام کو مربوط کرتا ہے ، جو ایک ہی تجارت کے خطرے کو مؤثر طریقے سے کنٹرول کرتا ہے ، جبکہ پہلے سے ہی منافع کو لاک کرنے کی صلاحیت رکھتا ہے۔
بصری مدد: حکمت عملی میں رنگین ای ایم اے لائنز ، بریک موڈ اشارے اور پس منظر کی چمک سمیت بصری عناصر کی ایک وسیع رینج فراہم کی گئی ہے ، جس سے تاجروں کو مارکیٹ کی حالت اور سگنل تخلیق کے عمل کو بصری طور پر سمجھنے میں مدد ملتی ہے۔
بغیر کسی پیراڈائم کےحکمت عملی: pyramiding = 0 کو ترتیب دیں ، اس بات کو یقینی بنائیں کہ ایک ہی وقت میں صرف ایک ہی پوزیشن ہو ، اور ضرورت سے زیادہ فائدہ اٹھانے اور خطرے کی توجہ مرکوز کرنے سے بچیں۔
اس حکمت عملی کے عمدہ ڈیزائن کے باوجود ، مندرجہ ذیل ممکنہ خطرات موجود ہیں:
ہلچل سے متاثرہ مارکیٹ کی کارکردگی: بلائنڈ شاک مارکیٹوں میں جہاں کوئی واضح رجحان نہیں ہے ، ای ایم اے کراسنگ اور گرنے کے نمونے کثرت سے سامنے آسکتے ہیں ، جس کی وجہ سے بہت زیادہ غلط سگنل اور نقصان دہ تجارت ہوتی ہے۔ اس کا حل شاک مارکیٹوں میں استعمال سے گریز کرنا ہے ، یا شاک زون کی نشاندہی کرنے کے لئے اضافی فلٹرنگ شرائط جیسے آر ایس آئی اشارے شامل کرنا ہے۔
فکسڈ سٹاپ نقصان کا خطرہ: 5٪ فکسڈ اسٹاپ کچھ اعلی اتار چڑھاؤ والی مارکیٹوں میں کافی نرمی نہیں ہوسکتی ہے ، جس کی وجہ سے جلد ہی روک دیا جاسکتا ہے ، جبکہ کم اتار چڑھاؤ والی مارکیٹوں میں بہت زیادہ نرمی ہوسکتی ہے۔ یہ تجویز کی جاتی ہے کہ اسٹاپ نقصان کی فیصد کو مخصوص تجارتی اقسام کی اتار چڑھاؤ کی خصوصیات کے مطابق متحرک طور پر ایڈجسٹ کیا جائے۔
تاخیر سے نکلنے کے دو پہلو: اگرچہ تاخیر سے باہر نکلنے سے جعلی توڑ سے ہونے والے نقصانات کو کم کیا جاسکتا ہے ، لیکن یہ بھی ہوسکتا ہے کہ اصل رجحان میں تبدیلی کے وقت بہترین باہر نکلنے کے نقطہ نظر سے محروم ہوجائیں ، جس سے پیچھے ہٹنا بڑھ جائے۔ تاخیر کی مدت کو اتار چڑھاؤ کے اشارے کی متحرک ایڈجسٹمنٹ کے ساتھ مل کر غور کیا جاسکتا ہے۔
ای ایم اے پر انحصارحکمت عملی بنیادی طور پر EMA کے کراس ٹرینڈ فیصلوں پر انحصار کرتی ہے ، اور EMA تیزی سے بدلتے ہوئے بازاروں میں تاخیر سے ردعمل دے سکتا ہے۔ اعلی اتار چڑھاؤ والے بازاروں میں قیمت کی حرکیات کے زیادہ حساس اشارے کو جوڑنے پر غور کرنے کی سفارش کی گئی ہے۔
حجم کی تصدیق کا فقدان: موجودہ حکمت عملی میں ٹرانزیکشن حجم کے اعداد و شمار کا استعمال نہیں کیا گیا ہے تاکہ گرنے کے نمونے کی تصدیق کی جاسکے ، جس سے سگنل کی وشوسنییتا کم ہوسکتی ہے۔ ٹرانزیکشن حجم کی تصدیق کی شرائط کو شامل کرنے پر غور کیا جاسکتا ہے تاکہ سگنل کا موثر تناسب بڑھایا جاسکے۔
کوڈ تجزیہ کی بنیاد پر ، اس حکمت عملی کو مندرجہ ذیل سمتوں میں بہتر بنایا جاسکتا ہے۔
انکولی پیرامیٹر سسٹم: فکسڈ ای ایم اے سائیکل ((20 اور 50) کو مارکیٹ میں اتار چڑھاؤ کی شرح پر مبنی خود کار طریقے سے ایڈجسٹمنٹ سائیکل کے ساتھ تبدیل کریں ، کم اتار چڑھاؤ والے بازاروں میں کم سائیکل کا استعمال کرتے ہوئے حساسیت میں اضافہ کریں ، اور اعلی اتار چڑھاؤ والے بازاروں میں طویل سائیکل کا استعمال کرتے ہوئے شور کو کم کریں۔ اس طرح حکمت عملی کو مختلف مارکیٹ کے ماحول میں بہتر طور پر ڈھالنے کے قابل بنایا جاسکتا ہے۔
ATR متحرک سٹاپ نقصان کو ضم کرنا: اوسط حقیقی لہر ((ATR) پر مبنی متحرک اسٹاپ نقصان کی جگہ فکسڈ فیصد اسٹاپ نقصان ، جس سے اسٹاپ نقصان کا نقطہ مارکیٹ کی اصل اتار چڑھاؤ کی صورت حال کو زیادہ معقول طور پر ظاہر کرتا ہے ، اور اعلی اتار چڑھاؤ کے دوران زیادہ قریب سے روکنے اور کم اتار چڑھاؤ کے دوران زیادہ دور سے روکنے سے بچتا ہے۔
ٹرانزیکشن کی تصدیق میں اضافہ: گرنے والے ماڈل کی توثیق کے لئے ٹرانزیکشن حجم کی شرائط کا اضافہ کریں ، جیسے کہ نمونہ کی وشوسنییتا کو بڑھانے کے ل the اوسط سے زیادہ ٹرانزیکشن حجم کی ضرورت ہوتی ہے
ملٹی ٹائم فریم تجزیہ: ایک سے زیادہ ٹائم فریم کی توثیق کا طریقہ کار متعارف کرایا گیا ، جس میں اعلی ٹائم فریموں کے رجحان کی سمت کو ٹریڈنگ ٹائم فریموں کے ساتھ ہم آہنگ کرنے کی ضرورت ہوتی ہے ، جس سے رجحان کے خلاف تجارت کا خطرہ کم ہوتا ہے۔
وقت فلٹر: کم لیکویڈیٹی یا اعلی اتار چڑھاؤ کے اوقات سے بچنے کے لئے ٹرانزیکشن ٹائم فلٹرز شامل کریں (جیسے مالیاتی اعداد و شمار کی اشاعت) ، اور پھیلنے اور غیر معمولی اتار چڑھاؤ کے خطرات کو کم کریں۔
مشین لرننگ کی اصلاح: مشین لرننگ الگورتھم کو متعارف کرانے پر غور کیا جاسکتا ہے تاکہ پیرامیٹرز کے انتخاب اور سگنل فلٹرنگ کو بہتر بنایا جاسکے ، تاکہ تاریخی اعداد و شمار کے ٹریننگ ماڈل کے ذریعہ سب سے زیادہ فائدہ مند تجارتی ماحول اور پیرامیٹرز کی ترتیبات کی نشاندہی کی جاسکے۔
یہ ایک اچھی طرح سے ڈیزائن کیا گیا اعلی درجے کی رجحان ٹریکنگ سسٹم ہے جو ایک مضبوط ٹریڈنگ حکمت عملی بناتا ہے جس میں ایک سے زیادہ تصدیق کے طریقہ کار کے ساتھ EMA رجحان فلٹرنگ کے ساتھ ٹوٹ پھوٹ کے پیٹرن کی شناخت کو جوڑتا ہے۔ حکمت عملی کا بنیادی فائدہ اس کے ذہین داخلے کے حالات اور جدید تاخیر سے باہر نکلنے کے طریقہ کار میں ہے ، جس سے سگنل کے معیار کو مؤثر طریقے سے بہتر بنایا جاتا ہے اور جھوٹے اختراعات سے ہونے والے نقصانات کو کم کیا جاتا ہے۔
یہ حکمت عملی خاص طور پر درمیانی اور طویل مدتی رجحانات کے ساتھ منڈیوں کے لئے موزوں ہے۔ ایک گھنٹہ سے 4 گھنٹے کی ٹائم فریم بہترین اطلاق کا منظر نامہ ہوسکتی ہے۔ حکمت عملی کی کارکردگی کو مزید بہتر بنانے کے لئے ، اصلاحاتی اقدامات جیسے خود سے موافقت پذیر پیرامیٹر سسٹم ، اے ٹی آر پر مبنی متحرک اسٹاپ نقصان ، اور کثیر وقتی فریم تجزیہ متعارف کرانے کی سفارش کی گئی ہے۔
اس حکمت عملی کو نہ صرف مقدار کی تجارت کے لئے ایک قابل اعتماد عملدرآمد کا فریم ورک فراہم کیا گیا ہے بلکہ دستی تاجروں کے لئے مارکیٹ تجزیہ کے لئے ایک قیمتی ٹول بھی فراہم کیا گیا ہے۔ اس حکمت عملی کو احتیاط سے خطرہ مینجمنٹ کی ترتیبات اور بصری معاونت کے ذریعہ تیار کیا گیا ہے۔ مستقبل میں اصلاح کی سمت بنیادی طور پر خود کو اپنانے اور کثیر جہتی تصدیق پر مرکوز ہے تاکہ مختلف مارکیٹ کے ماحول میں حکمت عملی کی کارکردگی کو مزید بہتر بنایا جاسکے۔
/*backtest
start: 2024-06-10 00:00:00
end: 2025-06-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("GStrategy 1000Pepe 15m", overlay=true, margin_long=100, margin_short=100, pyramiding=0)
// ======= НАСТРОЙКИ =======
rsiLength = input.int(14, "RSI Length", minval=1)
emaFastLength = input.int(20, "Быстрая EMA", minval=1)
emaSlowLength = input.int(50, "Медленная EMA", minval=1)
stopLossPerc = input.float(5, "Стоп-лосс %", minval=0.1, step=0.1) / 100
trailOffset = input.float(1, "Трейлинг-стоп %", minval=0.1, step=0.1) / 100
exitDelayBars = input.int(1, "Задержка выхода (свечи)", minval=1)
// ======= РАСЧЕТ ИНДИКАТОРОВ =======
rsi = ta.rsi(close, rsiLength)
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
// ======= СВЕЧНЫЕ ПАТТЕРНЫ =======
isHammer = (low - open) >= 2 * (open - close) and (open - close) > 0 and
(close - low) <= 0.2 * (high - low) and (high - close) >= 2 * (open - close)
bullishEngulfing = (close[1] < open[1]) and (close > open) and
(close >= open[1]) and (open <= close[1]) and
(close - open) > (open[1] - close[1])
bearishEngulfing = (close[1] > open[1]) and (close < open) and
(close <= open[1]) and (open >= close[1]) and
(open - close) > (close[1] - open[1])
// ======= УСЛОВИЯ ТРЕНДА =======
uptrend = emaFast > emaSlow
downtrend = emaFast < emaSlow
// ======= УСЛОВИЯ ВХОДА =======
longCondition = (isHammer or bullishEngulfing) and uptrend and strategy.position_size == 0
shortCondition = bearishEngulfing and downtrend and strategy.position_size == 0
// ======= УСЛОВИЯ ВЫХОДА =======
crossUnder = ta.crossunder(emaFast, emaSlow)
crossOver = ta.crossover(emaFast, emaSlow)
// Счетчики задержки выхода
var int longExitCounter = 0
var int shortExitCounter = 0
// Обновление счетчиков при появлении сигнала выхода
if crossUnder or (open <= emaSlow or close <= emaSlow)
longExitCounter := exitDelayBars
else if longExitCounter > 0
longExitCounter := longExitCounter - 1
if crossOver or (open >= emaSlow or close >= emaSlow)
shortExitCounter := exitDelayBars
else if shortExitCounter > 0
shortExitCounter := shortExitCounter - 1
// Фактические условия выхода с задержкой
exitLongAfterCross = longExitCounter == 1 // Выход на последней свече задержки
exitShortAfterCross = shortExitCounter == 1
// ======= ИСПОЛНЕНИЕ СДЕЛОК =======
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Stop Loss Long", "Long", stop = strategy.position_avg_price * (1 - stopLossPerc), trail_points = close * trailOffset / syminfo.mintick, trail_offset = close * trailOffset / syminfo.mintick)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Stop Loss Short", "Short",stop = strategy.position_avg_price * (1 + stopLossPerc), trail_points = close * trailOffset / syminfo.mintick, trail_offset = close * trailOffset / syminfo.mintick)
if (exitLongAfterCross)
strategy.close("Long")
longExitCounter := 0
if (exitShortAfterCross)
strategy.close("Short")
shortExitCounter := 0
// ======= ВИЗУАЛИЗАЦИЯ =======
plot(emaFast, "Быстрая EMA", color=color.blue)
plot(emaSlow, "Медленная EMA", color=color.red)
// Отображение точек выхода (с учетом задержки)
plotshape(exitLongAfterCross, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Выход лонг")
plotshape(exitShortAfterCross, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Выход шорт")
// Отображение паттернов и сигналов
plotshape(isHammer, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Молот")
plotshape(bullishEngulfing, style=shape.labelup, location=location.belowbar, color=color.green, text="Погл", size=size.small)
plotshape(bearishEngulfing, style=shape.labeldown, location=location.abovebar, color=color.red, text="Погл", size=size.small)
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.lime, size=size.small, title="Лонг")
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Шорт")
// Подсветка фона
bgcolor(longCondition ? color.new(color.green, 90) : na)
bgcolor(shortCondition ? color.new(color.red, 90) : na)