کینڈل سٹک چارٹ پیٹرن ریکگنیشن ٹریڈنگ سسٹم کے ساتھ ملٹی لیول موونگ ایوریج

EMA SMA MA50 MA200
تخلیق کی تاریخ: 2024-11-12 16:39:22 آخر میں ترمیم کریں: 2024-11-12 16:39:22
کاپی: 4 کلکس کی تعداد: 467
1
پر توجہ دیں
1617
پیروکار

کینڈل سٹک چارٹ پیٹرن ریکگنیشن ٹریڈنگ سسٹم کے ساتھ ملٹی لیول موونگ ایوریج

جائزہ

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

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

اس حکمت عملی میں سگنل کی تصدیق کے لیے کئی سطحوں کا استعمال کیا گیا ہے:

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

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

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

اسٹریٹجک رسک

  1. شکل کی شناخت میں تاخیر: گراف کی شکل کی تصدیق کے لئے کئی K لائنوں کی ضرورت ہوتی ہے ، جس سے بہترین انٹری کا وقت ضائع ہوسکتا ہے
  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)