یہ حکمت عملی ایک جامع تکنیکی تجزیہ ٹریڈنگ سسٹم ہے جو کلاسیکی موم بتی کے نمونوں کی شناخت کو رجحان تجزیہ کے ساتھ جوڑتا ہے۔ یہ نظام بنیادی طور پر کئی کلاسیکی موم بتی کے نمونوں کی نشاندہی پر انحصار کرتا ہے ، جس میں دس سے زیادہ مختلف تشکیلات شامل ہیں ، جبکہ مارکیٹ کے رجحانات کی تصدیق اور خرید / فروخت کے سگنل پیدا کرنے کے لئے قلیل مدتی اور طویل مدتی حرکت پذیر اوسط دونوں کو شامل کرتا ہے۔ یہ حکمت عملی مختلف ٹائم فریموں میں موافقت پذیر ہے اور قلیل مدتی تجارت اور درمیانے اور طویل مدتی پوزیشن ہولڈنگ دونوں کے لئے موزوں ہے۔
حکمت عملی ایک کثیر پرت سگنل کی توثیق کے میکانزم کا استعمال کرتا ہے:
یہ حکمت عملی ایک مکمل تجارتی نظام کی تعمیر کے لئے متعدد تکنیکی تجزیہ کے اوزار کو مربوط کرتی ہے۔ اس کی بنیادی طاقت کثیر جہتی سگنل کی تصدیق کے طریقہ کار میں ہے ، حالانکہ اسے سگنل تاخیر اور ممکنہ اوور فٹنگ کے چیلنجوں کا سامنا کرنا پڑتا ہے۔ مارکیٹ کے ماحول کی پہچان اور متحرک پیرامیٹر ایڈجسٹمنٹ کے طریقہ کار کو شامل کرکے حکمت عملی کی کارکردگی کو بڑھا سکتے ہیں۔ عملی درخواست میں ، بیک ٹیسٹنگ کے ذریعے پیرامیٹرز کو بہتر بنانے اور رسک مینجمنٹ سسٹم کے ساتھ ساتھ نافذ کرنے کی سفارش کی جاتی ہے۔
/*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)