قیمت کے رویے کی کثیر جہتی انضمام کی حکمت عملی

EMA HULL MACD SWING PINBAR
تخلیق کی تاریخ: 2025-11-25 14:02:09 آخر میں ترمیم کریں: 2025-11-25 14:02:09
کاپی: 0 کلکس کی تعداد: 60
2
پر توجہ دیں
319
پیروکار

قیمت کے رویے کی کثیر جہتی انضمام کی حکمت عملی قیمت کے رویے کی کثیر جہتی انضمام کی حکمت عملی

یہ کوئی عام قیمتوں کا تعین کرنے کی حکمت عملی نہیں ہے، یہ تکنیکی اشارے کا ایک مکمل مجموعہ ہے۔

“پرائس ایکشن” کے سادہ نام سے دھوکہ نہ کھائیں۔ اس حکمت عملی میں 6 اہم تکنیکی جہتیں شامل ہیں: 34 سائیکل ای ایم اے چینل ، 89 سائیکل ہل ایم اے ، ایم اے سی ڈی کالم گراف ، ہلنے والے اعلی اور کم ، پن بار شکل ، اور فیکی توڑنے کا طریقہ۔ایک حقیقی کثیر جہتی تصدیق کا طریقہ کار ، نہ کہ ایک ہی اشارے کی اندھی پیروی۔

حکمت عملی کا بنیادی منطق براہ راست واضح ہے: ای ایم اے چینل رجحان کی سمت کا تعین کرتا ہے ، ہل ایم اے ہموار رجحان کی تصدیق فراہم کرتا ہے ، میکڈ کالم گراف متحرک تبدیلیوں کی شناخت کرتا ہے ، سوئنگ پوائنٹ پوائنٹس اہم معاون مزاحمت فراہم کرتے ہیں ، پن بار اور فکی شکلیں انٹری ٹرگر کے طور پر کام کرتی ہیں۔ہر سگنل کو کئی بار تصدیق کی ضرورت ہوتی ہے، اور یہی وجہ ہے کہ یہ روایتی ایک اشارے کی حکمت عملی سے زیادہ قابل اعتماد ہے.

50:20 منافع سے نقصان کا ڈیزائن، زیادہ تر حکمت عملیوں کے مقابلے میں زیادہ سخت خطرے کا کنٹرول

اسٹاپ 50 ، اسٹاپ 20 ، رسک / منافع کا تناسب 1: 2،5 تک پہنچ گیا۔اس ترتیب سے آپ کو ایک تلخ حقیقت معلوم ہوتی ہے: یہاں تک کہ اگر آپ صرف 40 فیصد جیت جاتے ہیں، تو آپ طویل عرصے میں منافع بخش رہیں گے۔لیکن حقیقت یہ ہے کہ کثیر جہتی تصدیق کے میکانزم عام طور پر کامیابی کی شرح کو 55-65 فیصد تک بڑھا دیتے ہیں۔

ہل ایم اے کی 89 کی مدت کی ترتیب خاص طور پر قابل توجہ ہے۔ روایتی منتقل اوسط کے برعکس ، ہل ایم اے نے وزن والے منتقل اوسط کا ایک دوسرا حساب کتاب کرکے تقریبا almost تاخیر کو ختم کردیا ہے۔جب ہل ایم اے رنگ بدلتا ہے تو ، رجحان کی تبدیلی کا امکان 70٪ سے زیادہ ہوتا ہے ، جو حکمت عملی کے بنیادی فوائد میں سے ایک ہے۔

پن بار کی شناخت کی منطق درسی کتابوں سے زیادہ درست

حکمت عملی میں پن بار کی شناخت کی شرائط انتہائی سخت ہیں: ادارے کو پوری K لائن کے 13 سے کم ہونا ضروری ہے ، اور اس کو ہلچل کے اعلی اور کم نقطہ کو توڑنا ہوگا۔تمام لمبی سلاخوں کو پن بار نہیں کہا جاتا ہے، صرف اہم مقامات کو توڑنے کے لئے تجارت کی قیمت ہے.

اس کی منطق ملاحظہ کریں:(close - open < (high - low) / 3)اس بات کو یقینی بنائیں کہ یہ ادارہ اتنا چھوٹا ہے کہ اس کی تعداد کم ہو جائے۔high > swinghigh and high > high[1]اس بات کو یقینی بنانا کہ یہ کامیابی مؤثر ہو۔اس کے نتیجے میں ، اس نے کہا ، “میں نے اس بات کو یقینی بنایا ہے کہ اس طرح کی سکرینوں کو زیادہ سے زیادہ استعمال کیا جاسکتا ہے۔”

فیکی کی شکل سب سے زیادہ کم از کم سمجھا جانے والا موڈ ہے۔

فکی شکل کی شناخت اس حکمت عملی کا پوشیدہ قاتل ہے۔ انٹراکیو لائن کے بعد جعلی توڑ پھر الٹ ، کامیابی کی شرح عام طور پر 65 سے 75 فیصد کے درمیان ہے۔ حکمت عملی کے کوڈ میں ڈبل فکی فیصلہ:fakeyاس کے علاوہ، یہ بھی ایک بہت بڑا مسئلہ ہے.fakey1نیچے کی طرف جعلی توڑ کی شناخت کریں۔

اہم 0.75 کے تناسب کی ترتیب ہےclose - low > 0.75 * (high - low)اس بات کو یقینی بنائیں کہ ٹرن آؤٹ کافی مضبوط ہو۔ اس پیرامیٹر کو بڑے پیمانے پر ریٹرننگ کے بعد بہتر بنایا گیا ہے۔ 0.75 سے کم کی کامیابی کی شرح کم ہوگئی ہے ، 0.75 سے زیادہ سگنل بہت کم ہیں۔کم از کم دو ہندسوں کے بعد پیرامیٹرز کو درست کریں، بے ترتیب ترتیب نہیں.

MACD کالم چارٹ رنگنے کا نظام ، متحرک تبدیلیوں کو دیکھنے کے لئے

حکمت عملی مارکیٹ کی حالت کو رنگوں کے ذریعہ دکھاتی ہے: سبز بڑھتی ہوئی رفتار کی نشاندہی کرتا ہے ، سرخ گرتی ہوئی رفتار کی نشاندہی کرتا ہے ، اورینج گرتی ہوئی رفتار کی نشاندہی کرتا ہے۔یہ کوئی فینسی سجاوٹ نہیں ہے، یہ ایک حقیقی وقت کی ٹریڈنگ سگنل ٹپ ہے۔

hisupاورhisdownمتغیرات MACD کالم گراف کی مسلسل تبدیلیوں کو ٹریک کرتی ہیں۔ جب کالم گراف مسلسل بڑھتا ہے اور صفر محور کے اوپر ہوتا ہے تو ، کثیر سر حرکت کی تصدیق ہوتی ہے۔ اس کے برعکس ، خالی سر حرکت کی تصدیق ہوتی ہے۔یہ صرف MACD کے مقابلے میں ایک سے دو سائیکل آگے ہے۔

اہم حمایت مزاحمت کو خود کار طریقے سے شناخت کرنے کے لئے اعلی اور کم نقطہ نظام کو ہلا

5 سائیکلنگ پوائنٹ کی شناخت:high <= high[2] and high[1] <= high[2] and high[3] <= high[2] and high[4] <= high[2]یہ منطق اس بات کو یقینی بناتی ہے کہ پہچانے جانے والی اونچائی حقیقی مقامی اونچائی ہے، نہ کہ بے ترتیب اتار چڑھاؤ۔

اس کے علاوہ، یہ بھی کہا جاتا ہے کہ یہ ایک اہم عنصر ہے جس کی وجہ سے اس کی حمایت کی مزاحمت کی سطح کو کم کرنے میں مدد ملتی ہے.اس میں کوئی ذہنی ڈرائنگ لائن کی ضرورت نہیں ہے ، نظام خود بخود اس کی نشاندہی کرتا ہے اور اسے مستقل طور پر اپ ڈیٹ کرتا رہتا ہے۔ جب قیمت ان اہم مقامات سے ٹکرا جاتی ہے تو ، اس کا مطلب عام طور پر رجحان کا حقیقی آغاز ہوتا ہے۔

قابل اطلاقیت کا تجزیہ: یہ کوئی آل راؤنڈ علاج نہیں ہے، لیکن اس کا احاطہ کافی وسیع ہے

سب سے بہتر:ٹرینڈ ٹریکنگ ڈیلی لائن کی سطح پر ، خاص طور پر غیر ملکی کرنسی کے اہم کرنسی کے جوڑے اور اسٹاک انڈیکس فیوچر۔ کثیر جہتی تصدیق کا طریقہ ان مارکیٹوں میں بہترین کارکردگی کا مظاہرہ کرتا ہے۔

احتیاط سے استعمال کریں:اعلی تعدد ہلچل مارکیٹ اور کریپٹوکرنسی کا انتہائی اتار چڑھاؤ کا ماحول۔ پین بار اور فکی شکلیں زیادہ اتار چڑھاؤ میں غلط سگنل پیدا کرنے کے لئے آسان ہیں۔

مکمل طور پر گریز کریں:بہت کم فروخت والی چھوٹی سی مقبول قسم اور خبروں کے واقعات کی کثرت کا دور۔ ان حالات میں تکنیکی تجزیہ کی ناکامی کا امکان زیادہ ہے۔

پیرامیٹرز کو بہتر بنانے کے لئے جگہ: بہتر بنانے کی صلاحیت

34 سائیکل ای ایم اے 30-40 کی حد تک ایڈجسٹ کیا جاسکتا ہے ، 89 سائیکل ہل ایم اے 80-100 کی حد تک ٹیسٹ کیا جاسکتا ہے۔تاہم ، اس میں کوئی بڑی تبدیلی نہیں کی جاتی ہے ، کیونکہ یہ پیرامیٹرز طویل مدتی مارکیٹ کی توثیق کے بعد ہیں۔

اسٹاپ اسٹاپ نقصان کا تناسب مختلف قسم کے اتار چڑھاؤ کے مطابق ایڈجسٹ کیا جاسکتا ہے۔ اعلی اتار چڑھاؤ والی اقسام کو 60:25 تک وسیع کیا جاسکتا ہے ، اور کم اتار چڑھاؤ والی اقسام کو 40:15 تک سخت کیا جاسکتا ہے۔اس کے بعد، آپ کو اپنے آپ کو ایک دوسرے کے ساتھ اشتراک کرنے کی ضرورت ہے.

خطرے کی نوک: ماضی کی یادیں مستقبل کے فوائد کے برابر نہیں ہیں

کسی بھی حکمت عملی میں مسلسل نقصان کا خطرہ ہوتا ہے ، اور یہ کثیر جہتی نظام اس سے مستثنیٰ نہیں ہے۔انفرادی خطرے کو اکاؤنٹ کے 1-2٪ پر قابو پانے کی سفارش کی جاتی ہے ، سختی سے روک تھام پر عمل درآمد کریں ، متعدد تصدیقوں کی وجہ سے خطرے کے انتظام میں نرمی نہ کریں۔

مارکیٹ کے ماحول میں تبدیلیاں حکمت عملی کی کارکردگی کو متاثر کرسکتی ہیں ، خاص طور پر انتہائی حالات میں جب تکنیکی اشارے بیک وقت غیر فعال ہوسکتے ہیں۔حکمت عملی کی کارکردگی کا باقاعدگی سے جائزہ لیں اور اگر ضروری ہو تو ، بہتر مارکیٹ کے حالات کا انتظار کرتے ہوئے تجارت کو روک دیں۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2025-07-01 00:00:00
end: 2025-11-24 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_OKX","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Price Action", shorttitle="Price Action", overlay=true)

// --- Inputs ---
onlybuy    = input.bool(false, "Only Buy")
onlysell   = input.bool(false, "Only Sell")
SL_input   = input.float(50.00, title="Chốt lời (Pip)", step=1)
rr_input   = input.float(20.00, title="Cắt lỗ (Pip)", step=1)
useTPandSL = input.bool(true, title="Sử dụng chốt lời và cắt lỗ?")

// --- EMAs ---
HiLoLen = 34
pacL = ta.ema(low, HiLoLen)
pacC = ta.ema(close, HiLoLen)
pacH = ta.ema(high, HiLoLen)
signalMA = ta.ema(close, 89)

col1 = pacC > signalMA ? color.lime : pacC < signalMA ? color.red : color.yellow
plot(signalMA, color=col1, title="SignalMA")

// --- Hull MA ---
n = 89
n2ma = 2 * ta.wma(close, int(math.round(n / 2)))
nma = ta.wma(close, n)
diff = n2ma - nma
sqn = int(math.round(math.sqrt(n)))

n2ma1 = 2 * ta.wma(close[1], int(math.round(n / 2)))
nma1 = ta.wma(close[1], n)
diff1 = n2ma1 - nma1
sqn1 = int(math.round(math.sqrt(n)))

n1 = ta.wma(diff, sqn)
n2 = ta.wma(diff1, sqn)

condDown = n2 >= n1
condUp = condDown != true
col = condUp ? color.lime : condDown ? color.red : color.yellow
plot(n1, title="Hull MA", color=col, linewidth=1)

// --- MACD Barcolor ---
fastlength = 12
slowlength = 26
MACDLength = 9
MACD = ta.ema(close, fastlength) - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD

hisup = 0
hisup := delta > delta[1] and delta > 0 ? 1 : delta < delta[1] ? -1 : nz(hisup[1], 0)

hisdown = 0
hisdown := delta < delta[1] and delta < 0 ? 1 : delta > delta[1] ? -1 : nz(hisdown[1], 0)

// --- Swing High/Low ---
// Logic updated for v6 strict comparisons
ktswinghigh = (high <= high[2] and high[1] <= high[2] and high[3] <= high[2] and high[4] <= high[2])
sh = ktswinghigh ? high[2] : na

// Replacement for fixnan using var
var float swinghigh = na
if not na(sh)
    swinghigh := sh

colorsh = swinghigh == swinghigh[1] ? color.white : na
plot(swinghigh, color=colorsh, title="Swing High", style=plot.style_line, offset=-2)

ktswinglow = (low >= low[2] and low[1] >= low[2] and low[3] >= low[2] and low[4] >= low[2])
sl = ktswinglow ? low[2] : na

// Replacement for fixnan using var
var float swinglow = na
if not na(sl)
    swinglow := sl

colorsl = swinglow == swinglow[1] ? color.white : na
plot(swinglow, title="Swing Low", color=colorsl, style=plot.style_line, offset=-2)

// --- Pinbar & Patterns ---
ema21 = ta.ema(close, 13)
beariskpinbar = (close - open < (high - low) / 3 and open - close < (high - low) / 3) and ((high > swinghigh and high > high[1] and high > high[2] and high > high[3] and close < swinghigh))
bullishpibar  = (close - open < (high - low) / 3 and open - close < (high - low) / 3) and ((low < swinglow and low < low[1] and low < low[2] and low < low[3] and close > swinglow))

// Helper function for Inside Bar
Inside(pos) => high <= high[pos] and low >= low[pos]

outsidebar = (high >= high[1] and low <= low[1])
barcolor((high <= high[1] and low >= low[1]) ? color.white : na)

// MACD Color Logic
barcolor(hisup == 1 and MACD > 0 ? color.lime : hisdown == 1 and MACD < 0 ? color.red : hisup == -1 and MACD > 0 ? color.green : color.orange)
barcolor(bullishpibar or beariskpinbar ? color.white : na)

secLast = 1
fakey = (high[1] <= high[2] and low[1] >= low[2] and high > high[2] and close >= low[2] and close < high[2]) or (high[2] <= high[3] and low[2] >= low[3] and high[1] > high[2] and close < high[2] and close > low[3] and high - close > 0.75 * (high - low))
fakey1 = (high[1] <= high[2] and low[1] >= low[2] and low < low[2] and close > low[2] and close <= high[1]) or (high[2] <= high[3] and low[2] >= low[3] and low[1] < low[2] and close > low[2] and close < high[3] and close - low > 0.75 * (high - low))
barcolor(fakey or fakey1 ? color.white : na)

// Soldiers and Crows
onewhitesoliderbear = close < open and high[1] - close > 0.5 * (high[1] - low[1]) and (open - close) > 2.0 / 3.0 * (high - low) and (high[1] > ema21[1] or high > ema21) and open[1] < ema21[1] and close - low < (high - close) * 0.3 and (open[2] < ema21[2] or close[2] < ema21[2]) and close < ema21 and low[2] < low[1] and low[3] < low[2]
onewwhitesoliderbull = close > open and close - low[1] > 0.5 * (high[1] - low[1]) and (close - open) > 2.0 / 3.0 * (high - low) and (low[1] < ema21[1] or low < ema21) and open[1] > ema21[1] and high - close < (close - low) * 0.3 and (open[2] > ema21[2] or close[2] > ema21[2]) and close > ema21 and high[2] > high[1] and high[3] > high[2]

insidebar = ((high[1] <= high[2] and low[1] >= low[2]) and not outsidebar)
barcolor(outsidebar and high[1] <= high[2] and low[1] >= low[2] ? color.white : na)
bearishibbf = (insidebar and (high > high[1] and close < high[1]))
bullishibbf = (insidebar and (low < low[1] and close > low[1]))

barcolor((onewwhitesoliderbull or onewhitesoliderbear) and not insidebar ? color.white : na)

whitesoldierreversal = ((low[1] < low[2] and low[2] < low[3]) or (high[1] < high[2] and high[2] < high[3])) and low[3] < low[8] and low[8] < ema21[8] and high[2] < ema21[2] and high[1] < ema21[1] and high[3] < ema21[3] and close - low[1] > (high[1] - close) and (open < close[1] or open < open[1]) and close - open > 0.3 * (high - low) and high - close < 0.5 * (close - open)
blackcrowreversal = ((high[1] > high[2] and high[2] > high[3]) or (low[1] > low[2] and low[2] > low[3])) and high[3] > high[8] and high[8] > ema21[8] and low[2] > ema21[2] and low[1] > ema21[1] and low[3] > ema21[3] and close - low[1] < (high[1] - close) and (open > close[1] or open > open[1]) and open - close > 0.3 * (high - low) and close - low < 0.5 * (open - close)

barcolor(blackcrowreversal or whitesoldierreversal ? color.white : na)

pinbarreversalbull = ((low[1] < low[2] and low[2] < low[3]) or (high[1] < high[2] and high[2] < high[3])) and low[3] < low[8] and low[8] < ema21[8] and high[2] < ema21[2] and high[1] < ema21[1] and high[3] < ema21[3] and close - open < (high - low) / 3 and open - close < (high - low) / 3 and high - close < close - low and low < low[1]
pinbarreversalbear = ((high[1] > high[2] and high[2] > high[3]) or (low[1] > low[2] and low[2] > low[3])) and high[3] > high[8] and high[8] > ema21[8] and low[2] > ema21[2] and low[1] > ema21[1] and low[3] > ema21[3] and close - open < (high - low) / 3 and open - close < (high - low) / 3 and high - close > close - low and high > high[1]

barcolor(pinbarreversalbear or pinbarreversalbull ? color.white : na)

plotshape(fakey and (not outsidebar or not (high[1] <= high[2] and low[1] >= low[2])) and not blackcrowreversal, title="Fakey Bearish", location=location.abovebar, color=color.white, style=shape.arrowdown, text="Fakey", size=size.tiny)
plotshape(fakey1 and (not outsidebar or not (high[1] <= high[2] and low[1] >= low[2])) and not whitesoldierreversal, title="Fakey Bullish", location=location.belowbar, color=color.white, style=shape.arrowup, text="Fakey", size=size.tiny)

// --- Strategy Logic ---
conmua = 0
conmua := hisup == 1 and MACD > 0 ? 1 : (hisdown[1] == 1 and MACD[1] < 0 and pacC[1] > signalMA[1]) or (n1[2] < n1[3] and pacC[1] > signalMA[1]) ? -1 : nz(conmua[1], 1)

conmua1 = 0
conmua1 := conmua == 1 and (hisdown == 1 and MACD < 0 and pacC > signalMA) or (n1[1] < n1[2] and pacC > signalMA) ? 1 : (close[1] > n1[1] and pacC[1] > signalMA[1] and open[1] < n1[1] and close[1] > pacC[1]) or ta.crossunder(pacC, signalMA) ? -1 : nz(conmua1[1], 1)

conmua2 = 0
conmua2 := conmua1 == 1 and hisup == 1 and MACD > 0 and close > n1 ? 1 : high[1] < high[3] and high[2] < high[3] ? -1 : nz(conmua2[1], 1)

conmua3 = 0
conmua3 := conmua2 == 1 and high < high[2] and high[1] < high[2] ? 1 : (close[1] > swinghigh[1] and hisup[1] == 1 and MACD[1] > 0) or (MACD < 0) ? -1 : nz(conmua3[1], 1)

mua = conmua3 == 1 and hisup == 1 and MACD > 0 and conmua2 == -1 and conmua1 == -1
mua2 = conmua1 == 1 and (close > n1 and pacC > signalMA and open < n1 and close > pacC) and conmua[1] == -1

// ENTRY BUY
if (mua2 and not onlysell)
    strategy.entry("Buy", strategy.long)

conban = 0
conban := hisdown == 1 and MACD < 0 ? 1 : (hisup[1] == 1 and MACD[1] > 0 and pacC[1] < signalMA[1]) or (n1[2] > n1[3] and pacC[1] < signalMA[1]) ? -1 : nz(conban[1], 1)

conban1 = 0
conban1 := conban == 1 and (hisup == 1 and MACD > 0 and pacC < signalMA) or (n1[1] > n1[2] and pacC < signalMA) ? 1 : (close[1] < n1[1] and pacC[1] < signalMA[1] and open[1] > n1[1] and close[1] < pacC[1]) or ta.crossover(pacC, signalMA) ? -1 : nz(conban1[1], 1)

conban2 = 0
conban2 := conban1 == 1 and hisdown == 1 and MACD < 0 and close < n1 ? 1 : low[1] > low[3] and low[2] > low[3] ? -1 : nz(conban2[1], 1)

conban3 = 0
conban3 := conban2 == 1 and low[1] > low[2] and low > low[2] ? 1 : (close[1] < swinglow[1] and hisdown[1] == 1 and MACD[1] < 0) or (MACD > 0) ? -1 : nz(conban3[1], 1)

ban = conban3 == 1 and hisdown == 1 and MACD < 0 and conban2 == -1
ban2 = conban1 == 1 and (close < n1 and pacC < signalMA and open > n1 and close < pacC) and conban[1] == -1

// ENTRY SELL
if (ban2 and not onlybuy)
    strategy.entry("Sell", strategy.short)

plotshape(conmua1 == 1 and conmua[1] == -1, style=shape.triangleup, color=color.lime, location=location.bottom, size=size.tiny)
plotshape(conban1 == 1 and conban[1] == -1, style=shape.triangledown, color=color.red, location=location.bottom, size=size.tiny)
plotshape(mua2, style=shape.labelup, color=color.lime, location=location.bottom, size=size.tiny)
plotshape(ban2, style=shape.labeldown, color=color.red, location=location.bottom, size=size.tiny)

// --- TP and SL ---
Stop = rr_input * 10
Take = SL_input * 10

if (useTPandSL)
    strategy.exit("ExitBuy", "Buy", 1, profit=Take, loss=Stop)
    strategy.exit("ExitSell", "Sell", 1, profit=Take, loss=Stop)