ملٹی پیریڈ مشترکہ K-لائن پیٹرن کی شناخت تجارتی حکمت عملی

JSC CP TS
تخلیق کی تاریخ: 2024-12-11 11:04:35 آخر میں ترمیم کریں: 2024-12-11 11:04:35
کاپی: 0 کلکس کی تعداد: 480
1
پر توجہ دیں
1617
پیروکار

ملٹی پیریڈ مشترکہ K-لائن پیٹرن کی شناخت تجارتی حکمت عملی

جائزہ

یہ حکمت عملی ایک خودکار تجارتی نظام ہے جو K لائن کی شکل کی شناخت پر مبنی ہے۔ اس میں دس کلاسیکی K لائن کی شکلیں شامل ہیں جن میں پانچ بیجنگ شکلیں ((پیاز کی لائن ، کثیر سر نگلنا ، سوراخ کرنے والی لائن ، صبح کا ستارہ اور تین سفید سپاہی) اور پانچ بیجنگ شکلیں ((آن لائن لہر ، ہوائی جہاز کا نگلنا ، ابر آلود ، شام کا ستارہ اور تین سیاہ سپاہی) ۔ حکمت عملی ان شکلوں کی اصل وقت کی شناخت اور تجزیہ کے ذریعے تاجروں کو ممکنہ مارکیٹ میں ردوبدل کے اشارے اور تجارتی مواقع فراہم کرتی ہے۔

حکمت عملی کا اصول

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

  1. واحد K لائن کی شکل (جیسے کہ نٹ لائن ، ہینگ لائن) کے لئے ، بنیادی طور پر شبیہ لائن کے ساتھ جسمانی تناسب پر مبنی فیصلہ کیا جاتا ہے
  2. دو K لائنوں کی شکل (جیسے ڈوبنے والی لائن ، چھیدنے والی لائن) کے لئے ، قریبی دو K لائنوں کے کھلنے اور بند ہونے کی قیمت کی پوزیشن کے تعلقات کا موازنہ کرکے فیصلہ کیا گیا ہے
  3. تین K لائن شکلوں کے لئے (جیسے تین سفید سپاہی ، تین سیاہ فام) ، ایک ہی وقت میں تین مسلسل K لائنوں کی سمت اور پوزیشن کا رشتہ پورا کرنے کی ضرورت ہے پالیسی صارف کو پیرامیٹرز کی ترتیب کے ذریعے لچکدار انتخاب کو فعال یا غیر فعال کرنے کی اجازت دیتا ہے جس میں مخصوص شکل کی شناخت ہوتی ہے۔

اسٹریٹجک فوائد

  1. جامعیت: دس سب سے زیادہ نمائندگی والے K لائن فارمیٹس کا احاطہ کرتا ہے، جو مختلف قسم کے مارکیٹ کے ردعمل کے سگنل کو پکڑنے کے قابل ہے
  2. لچک: صارفین کو مارکیٹ کے ماحول اور انفرادی ٹریڈنگ سٹائل کے مطابق شناخت کی ضرورت کے مطابق شکلوں کا ایک آزاد انتخاب ہے
  3. بصری: واضح مارکنگ سسٹم کے ذریعے ، مختلف شکلوں کے ظہور کے مقام اور اقسام کو بصری طور پر ظاہر کرنا
  4. آٹومیشن: مکمل طور پر پروگرام شدہ فیصلہ کرنے کا عمل ، جس سے انسانی فیصلہ سازی اور جذباتیت سے گریز کیا جاتا ہے۔
  5. افادیت: حکمت عملی کی منطق واضح ہے اور اسے دوسرے تکنیکی اشارے یا تجارتی نظام کے ساتھ استعمال کرنا آسان ہے

اسٹریٹجک رسک

  1. تاخیر کا خطرہ: K لائن کی شکل کی تصدیق کے لئے K لائن بند ہونے کا انتظار کرنا پڑتا ہے ، جس سے داخلے کے وقت میں معمولی تاخیر ہوسکتی ہے۔
  2. جھوٹے سگنل کا خطرہ: ہلچل والی منڈیوں میں ، صرف K لائن کی شکل پر انحصار کرنے سے زیادہ جھوٹے سگنل پیدا ہوسکتے ہیں
  3. مارکیٹ کے ماحول پر انحصار: حکمت عملی واضح رجحانات کے ساتھ بہتر کام کرتی ہے ، لیکن افقی مارکیٹوں میں اس کا اثر کم ہوسکتا ہے
  4. پیرامیٹرز کی ترتیب کا خطرہ: شکل کی شناخت کو زیادہ سے زیادہ چالو کرنے سے سگنل بہت گھنے ہوسکتے ہیں ، جس سے فیصلہ متاثر ہوتا ہے
  5. نقصان کو کنٹرول کرنے کا خطرہ: حکمت عملی میں خود بخود نقصان کو روکنے کا ایک مکمل طریقہ کار شامل نہیں ہے ، اضافی خطرے سے متعلق اقدامات کی ضرورت ہے۔

حکمت عملی کی اصلاح کی سمت

  1. رجحان فلٹر متعارف کروائیں: حرکت پذیر اوسط یا رجحان اشارے کے ساتھ مل کر ، الٹ سگنل کو فلٹر کریں
  2. ٹرانزیکشن کی توثیق میں اضافہ: ٹرانزیکشن کی تبدیلیوں کے ذریعے شکل کی توثیق کی تاثیر
  3. بہتر رسک کنٹرول: متحرک سٹاپ نقصان اور منافع کے اہداف کی ترتیب کی خصوصیات شامل کریں
  4. شکل کے پیرامیٹرز کو بہتر بنائیں: مختلف مارکیٹوں اور ٹائم فریموں کے لئے شکل کی شناخت کے پیرامیٹرز کے معیار کو ایڈجسٹ کریں
  5. شکل وزن شامل کریں: مختلف شکلوں کی وشوسنییتا کے مطابق مختلف سگنل وزن کے نظام کو ترتیب دیں

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Author: Raymond Ngobeni
strategy('Candlestick Pattern Strategy [Ubaton]', 'Ubaton - Candlestick Pattern Strategy', overlay = true, max_labels_count = 500, max_lines_count = 500, max_boxes_count = 500)

// User Inputs: Enable/Disable Patterns
// Bullish Patterns
enableHammer = input.bool(true, "Show Hammer")
enableBullEngulfing = input.bool(true, "Show Bullish Engulfing")
enablePiercingLine = input.bool(true, "Show Piercing Line")
enableMorningStar = input.bool(true, "Show Morning Star")
enableThreeWhiteSoldiers = input.bool(true, "Show Three White Soldiers")

// Bearish Patterns
enableHangingMan = input.bool(true, "Show Hanging Man")
enableBearEngulfing = input.bool(true, "Show Bearish Engulfing")
enableDarkCloudCover = input.bool(true, "Show Dark Cloud Cover")
enableEveningStar = input.bool(true, "Show Evening Star")
enableThreeBlackCrows = input.bool(true, "Show Three Black Crows")

// Helper Functions
isHammer() =>
    bodySize = math.abs(open - close)
    shadowSize = low < math.min(open, close) ? math.min(open, close) - low : na
    shadowSize >= 2 * bodySize and high - math.max(open, close) <= bodySize

isBullishEngulfing() =>
    close[1] < open[1] and close > open and open <= close[1] and close >= open[1]

isPiercingLine() =>
    close[1] < open[1] and close > close[1] + (open[1] - close[1]) * 0.5 and close < open[1]

isMorningStar() =>
    close[2] < open[2] and math.abs(close[1] - open[1]) < (high[1] - low[1]) * 0.3 and close > open

isThreeWhiteSoldiers() =>
    close > open and close[1] > open[1] and close[2] > open[2] and open > close[1] and open[1] > close[2]

isHangingMan() =>
    bodySize = math.abs(open - close)
    shadowSize = low < math.min(open, close) ? math.min(open, close) - low : na
    shadowSize >= 2 * bodySize and high - math.max(open, close) <= bodySize and close < open

isBearishEngulfing() =>
    close[1] > open[1] and close < open and open >= close[1] and close <= open[1]

isDarkCloudCover() =>
    close[1] > open[1] and open > close[1] and close < open[1] and close < close[1] + (open[1] - close[1]) * 0.5

isEveningStar() =>
    close[2] > open[2] and math.abs(close[1] - open[1]) < (high[1] - low[1]) * 0.3 and close < open

isThreeBlackCrows() =>
    close < open and close[1] < open[1] and close[2] < open[2] and open < close[1] and open[1] < close[2]

// Detect Patterns
// Bullish
hammerDetected = enableHammer and isHammer()
bullEngulfDetected = enableBullEngulfing and isBullishEngulfing()
piercingDetected = enablePiercingLine and isPiercingLine()
morningStarDetected = enableMorningStar and isMorningStar()
threeWhiteDetected = enableThreeWhiteSoldiers and isThreeWhiteSoldiers()

// Bearish
hangingManDetected = enableHangingMan and isHangingMan()
bearEngulfDetected = enableBearEngulfing and isBearishEngulfing()
darkCloudDetected = enableDarkCloudCover and isDarkCloudCover()
eveningStarDetected = enableEveningStar and isEveningStar()
threeBlackDetected = enableThreeBlackCrows and isThreeBlackCrows()

// Plot Bullish Patterns
plotshape(enableHammer and hammerDetected, title="Hammer", location=location.belowbar, color=color.green, style=shape.labelup, text="Hammer")
plotshape(enableBullEngulfing and bullEngulfDetected, title="Bullish Engulfing", location=location.belowbar, color=color.green, style=shape.labelup, text="Engulf")
plotshape(enablePiercingLine and piercingDetected, title="Piercing Line", location=location.belowbar, color=color.green, style=shape.labelup, text="Piercing")
plotshape(enableMorningStar and morningStarDetected, title="Morning Star", location=location.belowbar, color=color.green, style=shape.labelup, text="Morning")
plotshape(enableThreeWhiteSoldiers and threeWhiteDetected, title="Three White Soldiers", location=location.belowbar, color=color.green, style=shape.labelup, text="3 Soldiers")

// Plot Bearish Patterns
plotshape(enableHangingMan and hangingManDetected, title="Hanging Man", location=location.abovebar, color=color.red, style=shape.labeldown, text="Hanging")
plotshape(enableBearEngulfing and bearEngulfDetected, title="Bearish Engulfing", location=location.abovebar, color=color.red, style=shape.labeldown, text="Engulf")
plotshape(enableDarkCloudCover and darkCloudDetected, title="Dark Cloud Cover", location=location.abovebar, color=color.red, style=shape.labeldown, text="Dark Cloud")
plotshape(enableEveningStar and eveningStarDetected, title="Evening Star", location=location.abovebar, color=color.red, style=shape.labeldown, text="Evening")
plotshape(enableThreeBlackCrows and threeBlackDetected, title="Three Black Crows", location=location.abovebar, color=color.red, style=shape.labeldown, text="3 Crows")

// Strategy Execution
if hammerDetected or bullEngulfDetected or piercingDetected or morningStarDetected or threeWhiteDetected
    strategy.entry("Bullish Entry", strategy.long)

if hangingManDetected or bearEngulfDetected or darkCloudDetected or eveningStarDetected or threeBlackDetected
    strategy.entry("Bearish Entry", strategy.short)