یہ حکمت عملی تین اشارے کو یکجا کرتی ہے - گھومنے والی اوسط ، بولنگر بینڈ اور ملٹی پیریڈ اسٹاک ٹریڈنگ کے لئے رشتہ دار طاقت انڈیکس (آر ایس آئی) ۔ اس میں تیز اور سست گھومنے والی اوسط ، آر ایس آئی 50 سے نیچے اور خریدتے وقت بی بی مڈل بینڈ سے نیچے کی قیمت پر غور کیا جاتا ہے۔ اس میں بی بی کے اوپری بینڈ سے اوپر آر ایس آئی 70 اور فروخت کرتے وقت قریب کی قیمت پر غور کیا جاتا ہے۔
حکمت عملی بنیادی طور پر فیصلہ سازی کے لئے تین اشارے استعمال کرتی ہے۔ سب سے پہلے ، ایم اے سی ڈی اشارے میں تیز اور سست حرکت پذیر اوسط شامل ہیں۔ سست لائن سے اوپر تیز لائن کے کراس اوورز خرید سگنل پیدا کرتے ہیں۔ دوسرا ، وسط ، اوپری اور نچلے بینڈ کے ساتھ بولنگر بینڈ۔ نچلے بینڈ کے قریب قیمتیں سوئنگ لو میں خریدنے کے مواقع پیش کرتی ہیں ، جبکہ اوپری بینڈ کے قریب قیمتیں سوئنگ ہائی میں فروخت کے مواقع پیش کرتی ہیں۔ آخر میں ، آر ایس آئی قیمت کی کارروائی کی رفتار اور تبدیلی کی شرح کی عکاسی کرتا ہے اور ممکنہ سوئنگ ہائی اور سوئنگ لو کی نشاندہی کرتا ہے۔
خاص طور پر ، اس حکمت عملی میں پہلے سست حرکت پذیر اوسط کے اوپر تیزی سے چلنے والی اوسط کی ضرورت ہوتی ہے ، جس سے یہ ظاہر ہوتا ہے کہ اپ ٹرینڈ کو مضبوط کرنا جو خریدنے کی تجویز کرتا ہے۔ اس میں 50 سے کم آر ایس آئی کی بھی ضرورت ہوتی ہے ، جس سے یہ ظاہر ہوتا ہے کہ قیمت زیادہ فروخت کی سطح میں ہوسکتی ہے اور خریدنے کے مواقع پیش کرتے ہیں۔ اس کے علاوہ ، اس میں بی بی مڈل بینڈ کے نیچے قریب قیمت کی ضرورت ہوتی ہے ، جس سے یہ ظاہر ہوتا ہے کہ قیمت سوئنگ کم اور ایک اچھا انٹری پوائنٹ ہے۔
منافع لینے اور نقصان روکنے کے ل when ، جب آر ایس آئی 70 سے اوپر بڑھتا ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قیمت زیادہ خریدنے کی سطح پر ہوسکتی ہے اور اپ ٹرینڈ کی رفتار کم ہورہی ہے ، جو منافع لینے کے لئے موزوں ہے۔ نیز جب بند قیمت بی بی کے اوپری بینڈ سے اوپر بڑھتی ہے تو ، یہ منافع لینے کے لئے موزوں ، واپس لینے کے اعلی خطرے کی نشاندہی کرتی ہے۔
اس حکمت عملی میں داخلہ اور باہر نکلنے کے نکات کا زیادہ درست طریقے سے فیصلہ کرنے کے لئے حرکت پذیر اوسط ، بولنگر بینڈ اور آر ایس آئی کی طاقتوں کا امتزاج کیا گیا ہے۔ اہم فوائد یہ ہیں:
حرکت پذیر اوسط قیمتوں میں اضافے کی رفتار کا تعین کرتے ہیں۔ بی بی مڈل بینڈ اندراج کے لئے سوئنگ لو کو نشان زد کرتا ہے۔ آر ایس آئی قیمتوں کی چوٹیوں پر خریدنے سے گریز کرتا ہے۔ تینوں مل کر قیمتوں میں اضافے کے دوران نسبتا ideal مثالی خریدنے کے مواقع فراہم کرتے ہیں۔
آر ایس آئی اور بی بی کے اوپری بینڈ کا امتزاج قیمتوں میں اتار چڑھاؤ کو اچھی طرح سے پکڑتا ہے تاکہ زیادہ خریدنے سے بچنے کے ل profit منافع حاصل کیا جاسکے۔
متعدد ادوار کی تشخیص سے منافع کو زیادہ سے زیادہ کرنے کے لئے ٹائم فریموں میں تجارتی مواقع حاصل کرنے کی اجازت ملتی ہے۔
منطقی تجارتی قواعد اس حکمت عملی کو درمیانی سے طویل مدتی سرمایہ کاری کے لئے آسانی سے سمجھنے کے قابل بناتے ہیں۔
فیصلے کی درستگی کو بہتر بنانے کے لئے اشارے کو یکجا کرنے کے باوجود، اہم خطرات موجود ہیں:
پیرامیٹر سیٹنگ کے خطرات۔ اشارے کے پیرامیٹرز کو تجرباتی ایڈجسٹمنٹ کی ضرورت ہے۔ ناکافی ایڈجسٹمنٹ حکمت عملی کی کارکردگی کو متاثر کرتی ہے۔
بیل مارکیٹوں کے لئے زیادہ موزوں ہے۔ ریچھ مارکیٹوں میں ، قیمتوں میں کمی کی رفتار اسٹاپ نقصانات کو غیر موثر بنا سکتی ہے۔
پورٹ فولیو کے باوجود واحد اسٹاک کے خطرات برقرار ہیں۔ اثاثوں میں سرمایہ کاری کو متنوع کرنے کی ضرورت ہے۔
ممکنہ طور پر تجارت کی حد سے زیادہ تعدد۔ پیرامیٹر کی بہترین ترتیب کے نتیجے میں کثرت سے تجارت ہوسکتی ہے ، جس سے ٹرانزیکشن کے زیادہ اخراجات اور ٹیکسوں کا سامنا کرنا پڑتا ہے۔
حل:
مناسب سگنل فریکوئنسی حاصل کرنے کے لئے بیک ٹسٹ پر مبنی پیرامیٹرز کو ایڈجسٹ کریں۔
چلتی اوسط ادوار کو اعتدال پسند انٹری فریکوئنسی پر ٹیون کریں اور نقصانات کو کم سے کم کریں۔
ایک اسٹاک کے خطرات کو کم سے کم کرنے کے لئے زیادہ سے زیادہ اثاثوں میں سرمایہ کاری کو متنوع بنائیں۔
تجارتی تعدد کو کم کرنے کے لئے خریداری اور منافع لینے کے معیار کو اعتدال پسند طور پر نرم کریں۔
اصلاحات کے لیے مزید گنجائش باقی ہے:
حجم جیسے مزید فلٹرز شامل کریں تاکہ خریداریوں پر حجم میں اضافہ یقینی بنایا جاسکے ، فیصلے کی درستگی کو بہتر بنایا جاسکے۔
پوزیشن سائزنگ ماڈیولز کو مارکیٹ کے حالات کی بنیاد پر متحرک سائز پوزیشنوں میں شامل کریں.
بڑے ڈیٹا سیٹ پر تربیت کے ذریعے پیرامیٹرز کو خودکار طور پر ٹون کرنے کے لئے گہری سیکھنے کے الگورتھم کا استعمال کریں۔
فیصلوں کے لئے مزید ٹائم فریم متعارف کرانے کے لئے قابل اطلاق کو بڑھانے کے لئے.
مجموعی طور پر ، حکمت عملی میں واضح ، سمجھنے میں آسان منطق ہے ، غلط اشاروں کو کم کرنے کے لئے اشارے کو ہم آہنگ کرنا۔ پیرامیٹر کی مزید ترتیب اور اشارے شامل کرنا استحکام اور فیصلے کی درستگی کو بڑھانا جاری رکھ سکتا ہے۔ یہ درمیانی سے طویل مدتی سرمایہ کاری اور مقداری تجارت کے لئے موزوں ہے۔ تاہم ، کوئی حکمت عملی مارکیٹ کے خطرات کو مکمل طور پر ختم نہیں کرتی ہے۔ مناسب پوزیشن سائزنگ اور اسٹاپ نقصان کی سطح ہمیشہ ضروری ہوتی ہے۔
/*backtest start: 2023-11-25 00:00:00 end: 2023-12-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // //@author Alorse //@version=4 strategy("MACD + BB + RSI [Alorse]", shorttitle="BB + MACD + RSI [Alorse]", overlay=true, pyramiding=0, currency=currency.USD, default_qty_type=strategy.percent_of_equity, initial_capital=1000, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.01) txtVer = "1.0.1" version = input(title="Version", type=input.string, defval=txtVer, options=[txtVer], tooltip="This is informational only, nothing will change.") src = input(title="Source", type=input.source, defval=close) // MACD fast_length = input(title="Fast Length", type=input.integer, defval=12, group="MACD") slow_length = input(title="Slow Length", type=input.integer, defval=26, group="MACD") signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9, group="MACD") sma_source = input(title="Oscillator MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"], group="MACD") sma_signal = input(title="Signal Line MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"], group="MACD") fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length) // Bollinger Bands bbGroup = "Bollindger Bands" length = input(20, title="Length", group=bbGroup) mult = input(2.0, title="StdDev", minval=0.001, maxval=5, group=bbGroup) basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev // RSI rsiGroup = "RSI" lenRSI = input(14, title="Length", minval=1, group=rsiGroup) // lessThan = input(50, title="Less than", minval=1 , maxval=100, group=rsiGroup) RSI = rsi(src, lenRSI) // Strategy Conditions buy = crossover(macd, signal) and RSI < 50 and close < basis sell = RSI > 70 and close > upper // Stop Loss slGroup = "Stop Loss" useSL = input(false, title="╔══════ Enable ══════╗", group=slGroup, tooltip="If you are using this strategy for Scalping or Futures market, we do not recommend using Stop Loss.") SLbased = input(title="Based on", type=input.string, defval="Percent", options=["ATR", "Percent"], group=slGroup, tooltip="ATR: Average True Range\nPercent: eg. 5%.") multiATR = input(10.0, title="ATR Mult", type=input.float, group=slGroup, inline="atr") lengthATR = input(14, title="Length", type=input.integer, group=slGroup, inline="atr") SLPercent = input(10, title="Percent", type=input.float, group=slGroup) * 0.01 longStop = 0.0 shortStop = 0.0 if SLbased == "ATR" longStop := valuewhen(buy, low, 0) - (valuewhen(buy, rma(tr(true), lengthATR), 0) * multiATR) longStopPrev = nz(longStop[1], longStop) longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop := (valuewhen(sell, rma(tr(true), lengthATR), 0) * multiATR) + valuewhen(sell, high, 0) shortStopPrev = nz(shortStop[1], shortStop) shortStop := close[1] > shortStopPrev ? max(shortStop, shortStopPrev) : shortStop if SLbased == "Percent" longStop := strategy.position_avg_price * (1 - SLPercent) shortStop := strategy.position_avg_price * (1 + SLPercent) strategy.entry("Long", true, when=buy) strategy.close("Long", when=sell, comment="Exit") if useSL strategy.exit("Stop Loss", "Long", stop=longStop)