وسائل لوڈ ہو رہے ہیں... لوڈنگ...

موم بتی پیٹرن کی شناخت ٹریڈنگ سسٹم کے ساتھ کثیر سطح کی چلتی اوسط

مصنف:چاؤ ژانگ، تاریخ: 2024-11-12 16:39:22
ٹیگز:ای ایم اےایس ایم اےایم اے 50MA200

img

جائزہ

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

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

حکمت عملی ایک کثیر پرت سگنل کی توثیق کے میکانزم کا استعمال کرتا ہے:

  1. مختصر مدت کے رجحان کے اشارے کے طور پر 6 پیریڈ ایکسپونینشل چلتی اوسط (EMA) کا استعمال کرتا ہے
  2. طویل مدتی رجحان کا اندازہ لگانے کے لئے 50 اور 200 مدت کے سادہ چلنے والے اوسط (ایس ایم اے) کا استعمال کرتا ہے۔
  3. شمعدان کے متعدد نمونوں کی نشاندہی کرتا ہے۔
    • ڈوجی خاندان (باقاعدہ ڈوجی ، قبرستان ڈوجی ، ڈریگن فلائی ڈوجی)
    • ہتھوڑا پیٹرن (ہتھوڑا ، پھانسی والا آدمی ، الٹا ہتھوڑا ، شوٹنگ اسٹار)
    • جذب کے نمونے
    • اندرونی نمونہ
    • مارننگ اسٹار/ایوننگ اسٹار پیٹرن
    • تین سپاہی/تین کرو پیٹرن
  4. رجحان اور پیٹرن تجزیہ کو یکجا کرکے تجارتی سگنل تیار کرتا ہے

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

  1. پیٹرن کی شناخت میں تاخیر: تصدیق کے لئے درکار متعدد موم بتیاں زیادہ سے زیادہ انٹری پوائنٹس کو یاد کرسکتی ہیں
  2. سگنل کا اوورلیپ: بیک وقت پیٹرن متضاد سگنل کا سبب بن سکتے ہیں
  3. مارکیٹ شور: ہلکے بازاروں میں بہت زیادہ غلط سگنل پیدا کر سکتا ہے
  4. پیرامیٹرز کی حساسیت: مدت کے لئے اوسط متغیر کا انتخاب حکمت عملی کی کارکردگی کو نمایاں طور پر متاثر کرتا ہے
  5. کمپیوٹیشنل پیچیدگی: متعدد نمونوں کا ریئل ٹائم حساب لگانے سے عملدرآمد کی کارکردگی متاثر ہوسکتی ہے

حکمت عملی کی اصلاح کی ہدایات

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

خلاصہ

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


/*backtest
start: 2023-11-12 00:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("hazed candles", shorttitle="hazed candles", overlay=true)

// Inputs
ema_input = input.int(6, title="EMA value to detect trend")

show_doji = input.bool(true, title="Doji star")
show_doji_grave = input.bool(true, title="Doji grave")
show_doji_dragonfly = input.bool(true, title="Doji dragonfly")
show_hammer = input.bool(true, title="Hammer")
show_hanginman = input.bool(true, title="Hanging man")
show_rhammer = input.bool(true, title="Reversed hammer")
show_falling_star = input.bool(true, title="Falling star")
show_absorption = input.bool(true, title="Absorptions")
show_tweezers = input.bool(true, title="Tweezers")
show_triple_inside = input.bool(true, title="Triple inside")
show_three_soldiers = input.bool(true, title="Three soldiers")
show_three_crows = input.bool(true, title="Three crows")
show_morning_evening_stars = input.bool(true, title="Morning / evening stars")
show_golden_death_cross = input.bool(true, title="Golden / Death cross")

// EMA calculation
prev_p_1 = ta.ema(close, ema_input)

// Variables
lowhigh_long_prop = 10
body_prop_size = 9

bar_size_h = high - close
bar_size_l = math.max(open, close) - math.min(close, open)
body_size_h = high - low

low_body_prop = close - low
high_body_prop = high - close

low_half_eq = (low_body_prop > body_size_h / 2.5 and low_body_prop < body_size_h / 1.65)
high_half_eq = (high_body_prop > body_size_h / 2.5 and high_body_prop < body_size_h / 1.65)
open_close_eq = (bar_size_l < body_size_h / body_prop_size)

///////////////// Doji star ///////////////
doji_star_up = show_doji and close <= prev_p_1 and open_close_eq and high_body_prop and low_half_eq
doji_star_down = show_doji and close > prev_p_1 and open_close_eq and high_body_prop and low_half_eq

plotshape(doji_star_up, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Doji star")
plotshape(doji_star_down, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Doji star")

// Strategy entries for Doji star
if (doji_star_up)
    strategy.entry("Buy Doji Star", strategy.long)
if (doji_star_down)
    strategy.entry("Sell Doji Star", strategy.short)

///////////////// Doji grave ///////////////
long_high_body = (high_body_prop > bar_size_l * lowhigh_long_prop)
open_low_eq = ((close - low) < body_size_h / body_prop_size)

doji_grave = show_doji_grave and close > prev_p_1 and open_close_eq and open_low_eq and long_high_body
plotshape(doji_grave, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Doji grave")

// Strategy entries for Doji grave
if (doji_grave)
    strategy.entry("Sell Doji Grave", strategy.short)

///////////////// Doji dragonfly ///////////////
long_low_body = (low_body_prop > bar_size_l * lowhigh_long_prop)
open_high_eq = ((high - close) < body_size_h / body_prop_size)

doji_dragonfly = show_doji_dragonfly and close <= prev_p_1 and open_close_eq and open_high_eq and long_low_body
plotshape(doji_dragonfly, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Doji dragonfly")

// Strategy entries for Doji dragonfly
if (doji_dragonfly)
    strategy.entry("Buy Doji Dragonfly", strategy.long)

///////////////// Hammer ///////////////
bottom_low = close - bar_size_h * 15
bottom_high = close - bar_size_h * 1.5
top_low = open + bar_size_l * 1.5
top_high = open + bar_size_l * 15

h_down = show_hammer and prev_p_1 > close and open == high and low > bottom_low and low < bottom_high
plotshape(h_down, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Hammer")

// Strategy entries for Hammer
if (h_down)
    strategy.entry("Buy Hammer", strategy.long)

///////////////// Hanging man ///////////////
hm_down = show_hanginman and prev_p_1 < close and open == high and low > bottom_low and low < bottom_high
plotshape(hm_down, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Hanging man")

// Strategy entries for Hanging man
if (hm_down)
    strategy.entry("Sell Hanging Man", strategy.short)

///////////////// Reversed hammer ///////////////
rh_down = show_rhammer and prev_p_1 > open and low == close and high > top_low and high < top_high
plotshape(rh_down, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Reversed hammer")

// Strategy entries for Reversed hammer
if (rh_down)
    strategy.entry("Buy Reversed Hammer", strategy.long)

///////////////// Fallling star ///////////////
fs_down = show_falling_star and prev_p_1 < close and low == close and high > top_low and high < top_high
plotshape(fs_down, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Falling star")

// Strategy entries for Falling star
if (fs_down)
    strategy.entry("Sell Falling Star", strategy.short)

///////////////// Absorption ///////////////
open_1 = open[1]
close_1 = close[1]
high_1 = high[1]
low_1 = low[1]

open_2 = open[2]
close_2 = close[2]
high_2 = high[2]
low_2 = low[2]

open_3 = open[3]
close_3 = close[3]
high_3 = high[3]
low_3 = low[3]

bar_1 = math.max(open_1, close_1) - math.min(open_1, close_1)
bar_2 = math.max(open_2, close_2) - math.min(open_2, close_2)
bar_3 = math.max(open_3, close_3) - math.min(open_3, close_3)
bar_h = math.max(open, close) - math.min(open, close)

bar_size_min = bar_1 * 1.2
bar_size_f = (bar_h > bar_size_min)

absorption_up = show_absorption and bar_size_f and open_1 > close_1 and open_1 != open and open_3 > open_2 and open_2 > open_1 and open_1 > open and close > open
absorption_down = show_absorption and bar_size_f and open_1 < close_1 and open_1 != open and open_3 < open_2 and open_2 < open_1 and open_1 < open and close < open

plotshape(absorption_up, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Absorption")
plotshape(absorption_down, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Absorption")

// Strategy entries for Absorption
if (absorption_up)
    strategy.entry("Buy Absorption", strategy.long)
if (absorption_down)
    strategy.entry("Sell Absorption", strategy.short)

///////////////// Tweezer ///////////////
match_lows = (low_1 == low or (low_2 == low and open_2 == open_1))
sprici_up = show_tweezers and prev_p_1 > open and match_lows and open_3 > open_2 and open_2 > open_1 and open_1 > open and low != open and close_1 != low_1
plotshape(sprici_up, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Tweezer")

match_highs = (high_1 == high or (high_2 == high and open_2 == open_1))
sprici_down = show_tweezers and prev_p_1 <= open and match_highs and open_3 < open_2 and open_2 < open_1 and open_1 < open and high != open and close_1 != high_1
plotshape(sprici_down, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Tweezer")

// Strategy entries for Tweezer
if (sprici_up)
    strategy.entry("Buy Tweezer", strategy.long)
if (sprici_down)
    strategy.entry("Sell Tweezer", strategy.short)

///////////////// Triple inside up/down ///////////////
open_close_min = math.min(close, open)
open_close_max = math.max(close, open)
bar = open_close_max - open_close_min
open_close_min_1 = math.min(close[1], open[1])
open_close_max_1 = math.max(close[1], open[1])
open_close_min_2 = math.min(close[2], open[2])
open_close_max_2 = math.max(close[2], open[2])

body_top_1 = math.max(close[1], open[1])
body_low_1 = math.min(close[1], open[1])

triple_inside_up = show_triple_inside and open_close_min_2 == open_close_min_1 and bar_1 > bar_2 * 0.4 and bar_1 < bar_2 * 0.6 and close > open_2 and bar > bar_1 and bar + bar_1 < bar_2 * 2
plotshape(triple_inside_up, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Three inside")

triple_inside_down = show_triple_inside and open_close_max_2 == open_close_max_1 and bar_1 > bar_2 * 0.4 and bar_1 < bar_2 * 0.6 and close < open_2 and bar > bar_1 and bar + bar_1 < bar_2 * 2
plotshape(triple_inside_down, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Three inside")

// Strategy entries for Triple inside
if (triple_inside_up)
    strategy.entry("Buy Triple Inside", strategy.long)
if (triple_inside_down)
    strategy.entry("Sell Triple Inside", strategy.short)

///////////////// Triple soldiers / crows ///////////////
triple_solders = show_three_soldiers and prev_p_1 > open_2 and bar > bar_1 * 0.8 and bar < bar_1 * 1.2 and bar > bar_2 * 0.8 and bar < bar_2 * 1.2 and close > close_1 and close_1 > close_2 and open_2 < close_2 and open_1 < close_1
plotshape(triple_solders, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Three soldiers")

triple_crows = show_three_crows and prev_p_1 < open_2 and bar > bar_1 * 0.8 and bar < bar_1 * 1.2 and bar > bar_2 * 0.8 and bar < bar_2 * 1.2 and close < close_1 and close_1 < close_2 and open_2 > close_2 and open_1 > close_1
plotshape(triple_crows, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Three crows")

// Strategy entries for Three soldiers and Three crows
if (triple_solders)
    strategy.entry("Buy Three Soldiers", strategy.long)
if (triple_crows)
    strategy.entry("Sell Three Crows", strategy.short)

///////////////// Golden death cross ///////////////
ma_50 = ta.sma(close, 50)
ma_200 = ta.sma(close, 200)

ma_50_200_cross = ta.crossover(ma_50, ma_200) or ta.crossunder(ma_50, ma_200)

golden_cross_up = show_golden_death_cross and ma_50_200_cross and ma_50 > ma_200
plotshape(golden_cross_up, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Golden cross")

death_cross_down = show_golden_death_cross and ma_50_200_cross and ma_50 < ma_200
plotshape(death_cross_down, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Death cross")

// Strategy entries for Golden cross and Death cross
if (golden_cross_up)
    strategy.entry("Buy Golden Cross", strategy.long)
if (death_cross_down)
    strategy.entry("Sell Death Cross", strategy.short)

///////////////// Morning evening stars ///////////////
morning_star = show_morning_evening_stars and bar > bar_1 and bar_2 > bar_1 and bar > (bar_2 * 0.5) and open_close_min_2 > open_close_min_1 and open_close_min > open_close_min_1 and prev_p_1 > close_2 and prev_p_1 > close_1 and close > close_1 and close_3 > close_2 and close_2 > close_1 and close > body_top_1 and close_2 != close_1 and open != close and open_2 != close_2
plotshape(morning_star, style=shape.labelup, color=color.green, location=location.belowbar, size=size.large, text="Morning star")

evening_star = show_morning_evening_stars and bar > bar_1 and bar_2 > bar_1 and bar > (bar_2 * 0.5) and open_close_max_2 < open_close_max_1 and open_close_max < open_close_max_1 and prev_p_1 < close_2 and prev_p_1 < close_1 and close < close_1 and close_3 < close_2 and close_2 < close_1 and close < body_low_1 and close_2 != close_1 and open != close and open_2 != close_2
plotshape(evening_star, style=shape.labeldown, color=color.red, location=location.abovebar, size=size.large, text="Evening star")

// Strategy entries for Morning star and Evening star
if (morning_star)
    strategy.entry("Buy Morning Star", strategy.long)
if (evening_star)
    strategy.entry("Sell Evening Star", strategy.short)


متعلقہ

مزید