یہ حکمت عملی منتخب اسٹاک یا کریپٹو کرنسیوں میں ممکنہ بریک آؤٹ مواقع کی نشاندہی کرنے کے لئے دوہری حرکت پذیر اوسط نظام کو استعمال کرتی ہے۔ بنیادی اصول یہ ہے کہ جب قلیل مدتی حرکت پذیر اوسط طویل مدتی حرکت پذیر اوسط سے نیچے سے واپس آجائے تو خریدیں اور جب قیمتیں طویل مدتی حرکت پذیر اوسط کو دوبارہ آزمائیں تو فروخت کریں۔
اس حکمت عملی میں دو سادہ حرکت پذیر اوسط (ایس ایم اے) کا استعمال ہوتا ہے جن میں مختلف ادوار ہوتے ہیں۔ پہلا ایس ایم اے مجموعی رجحان کی سمت کی نمائندگی کرنے کے لئے ایک لمبی مدت رکھتا ہے۔ دوسرا ایس ایم اے قلیل مدتی قیمتوں میں اتار چڑھاؤ کو پکڑنے کے لئے ایک مختصر مدت رکھتا ہے۔
جب قلیل مدتی ایس ایم اے نیچے سے طویل مدتی ایس ایم اے کے اوپر سے عبور کرتا ہے تو ، اس سے مجموعی طور پر قیمتوں میں اضافے کا اشارہ ہوتا ہے لہذا حکمت عملی ایک لمبی پوزیشن کھولتی ہے۔ جب قیمتیں طویل مدتی ایس ایم اے کو دوبارہ جانچنے کے لئے نیچے کی طرف بڑھتی ہیں تو ، اس سے یہ ظاہر ہوتا ہے کہ قلیل مدتی پل بیک ختم ہوچکا ہے اور حکمت عملی پوزیشن کو روکنے یا منافع کمانے پر غور کرتی ہے۔
اس کے علاوہ ، اس حکمت عملی میں انتہائی حالات میں تجارت سے بچنے کے لئے
اس حکمت عملی کو بہتر بنانے کے لئے مزید گنجائش موجود ہے:
یہ حکمت عملی مواقع کا پتہ لگانے کے لئے دوہری حرکت پذیر اوسط نظام کا استعمال کرتے ہوئے رجحان کی پیروی اور پل بیک ٹریڈنگ کی طاقتوں کو جوڑتی ہے۔ اسی وقت ، سرایت شدہ اوور بُک / اوور سیلڈ شرائط غیر ضروری پوزیشن کھولنے سے بچتی ہیں۔ یہ ایک بہت ہی عملی مقدار کی تجارت کی حکمت عملی ہے جس کی گہری تحقیق اور اصلاح کے قابل ہے۔
/*backtest start: 2023-02-20 00:00:00 end: 2024-02-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=5 strategy("Profitable Pullback Trading Strategy", overlay=true,initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Inputs ma_length1 = input.int(280,'MA length 1', step = 10,group = 'Moving Avg. Parameters', inline = 'MA') ma_length2 = input.int(13,'MA length 2', step = 1,group = 'Moving Avg. Parameters', inline = 'MA') sl = input.float(title="Stop Loss (%)", defval=0.07, step=0.1, group="Moving Avg. Parameters") too_deep = input.float(title="Too Deep (%)", defval=0.27, step=0.01, group="Too Deep and Thin conditions", inline = 'Too') too_thin = input.float(title="Too Thin (%)", defval=0.03, step=0.01, group="Too Deep and Thin conditions", inline = 'Too') // Calculations ma1 = ta.sma(close,ma_length1) ma2 = ta.sma(close,ma_length2) too_deep2 = (ma2/ma1-1) < too_deep too_thin2 = (ma2/ma1-1) > too_thin // Entry and close condtions var float buy_price = 0 buy_condition = (close > ma1) and (close < ma2) and strategy.position_size == 0 and too_deep2 and too_thin2 close_condition1 = (close > ma2) and strategy.position_size > 0 and (close < low[1]) stop_distance = strategy.position_size > 0 ? ((buy_price - close) / close) : na close_condition2 = strategy.position_size > 0 and stop_distance > sl stop_price = strategy.position_size > 0 ? buy_price - (buy_price * sl) : na // Entry and close orders if buy_condition strategy.entry('Long',strategy.long) if buy_condition[1] buy_price := open if close_condition1 or close_condition2 strategy.close('Long',comment="Exit" + (close_condition2 ? "SL=true" : "")) buy_price := na plot(ma1,color = color.blue) plot(ma2,color = color.orange)