یہ حکمت عملی MACD رفتار اشارے کو RSI oversold / oversold اشارے کے ساتھ جوڑتی ہے۔ جب MACD اوپر یا نیچے کی طرف بڑھتا ہے تو ، یہ چیک کرتا ہے کہ آیا RSI بھی زیادہ قابل اعتماد تجارتی سگنل پیدا کرنے کے ل look بیک پیریڈ میں اسی طرح کی نیچے / اوپر کی تبدیلی کو مکمل کرتا ہے۔ عام قلیل مدتی اوسط ریورسشن حکمت عملی منطق۔
MACD DIFF، DEA اور ہسٹگرام کا حساب لگائیں۔ DIFF کے اوپر DEA کا کراس اوور bullish کراس اوور سگنل دیتا ہے ، اور نیچے کراس اوور موت کراس سگنل دیتا ہے۔
اوور سیولڈ باؤنس اور اوور بکڈ سیلز کی نشاندہی کرنے کے لئے آر ایس آئی کا حساب لگائیں۔ اگر حالیہ نیچے یا ٹاپنگ واقع ہوئی ہے تو بیک اپ ونڈو چیک کریں۔
جب ایم اے سی ڈی بولش کراس اوور ہوتا ہے تو ، اگر آر ایس آئی نے نظرثانی کی ونڈو کے اندر oversold سے چھلانگ لگا دی ہے تو ، لمبا سگنل تیار کیا جاتا ہے۔ ایم اے سی ڈی ڈیتھ کراس پر ، اگر آر ایس آئی نے نظرثانی کی ونڈو کو سر کیا ہے تو ، مختصر سگنل تیار کیا جاتا ہے۔
خطرہ کنٹرول میں داخل ہونے کے بعد سٹاپ نقصان مقرر کریں.
ایم اے سی ڈی حساس طور پر رجحان کی تبدیلیوں کی نشاندہی کرتا ہے۔ آر ایس آئی مؤثر طریقے سے زیادہ خرید / فروخت کی سطح کا اندازہ کرتا ہے۔
ایم اے سی ڈی اور آر ایس آئی دونوں سگنلز کی ضرورت ہے جو غلط سگنلز کو فلٹر کرتی ہے۔
پیچھے دیکھنے والی کھڑکی سگنل کی وشوسنییتا کو بہتر بناتی ہے۔
سٹاپ نقصان خطرے کے انتظام میں مدد کرتا ہے.
ایم اے سی ڈی اور آر ایس آئی کی تاخیر سے زیادہ سے زیادہ اندراجات ضائع ہوسکتے ہیں۔
دوہری اشارے کے سگنل کا کم امکان کم تجارت کا مطلب ہے.
بڑے رجحان کی سمت پر غور نہ کرنے سے پھنسنے کا خطرہ ہوتا ہے۔
خراب سٹاپ نقصان کی ترتیب بہت وسیع یا بہت تنگ ہو سکتا ہے.
ممکنہ حل:
تاخیر کو کم کرنے کے لئے MACD اور RSI پیرامیٹرز کو ایڈجسٹ کریں۔
زیادہ سگنل فراہم کرنے کے لئے اشارے کی حد کی حد کو وسیع کریں.
ٹرینڈ فلٹر شامل کریں تاکہ مخالف ٹرینڈ اندراجات سے بچ سکے۔
زیادہ سے زیادہ سطحوں کے لئے مختلف سٹاپ نقصان کے پیرامیٹرز کی جانچ کریں.
ایس ایم اے اور دیگر چلتی اوسطوں کا ٹیسٹ کریں۔
لچکدار سٹاپ کے لئے پیچھے سٹاپ نقصان شامل کریں.
داخلہ کی کیفیت کا اندازہ کرنے کے لئے رجحان کی طاقت کو شامل کریں.
اشارے کی نقل و حرکت کی پیشن گوئی کرنے کے لئے مشین لرننگ کا استعمال کریں.
داخلہ کے وقت کو بہتر بنانے کے لئے مزید عوامل کو یکجا کریں.
یہ حکمت عملی ہم آہنگ ایم اے سی ڈی اور آر ایس آئی کا استعمال کرتے ہوئے قابل اعتماد الٹ سگنلز کے لئے فلٹر کرتی ہے۔ منطق واضح ہے اور پیرامیٹرز کو بہتر بنانے کے لئے لچکدار ہیں جیسے اشارے کا انتخاب ، رجحان فلٹرز ، اسٹاپ نقصان کی تکنیک وغیرہ۔ استحکام کو برقرار رکھتے ہوئے زیادہ تجارت حاصل کرنے کے ل. ، لیکن زیادہ سے زیادہ اصلاح کے خطرات سے بچنے کی ضرورت ہے۔
/*backtest start: 2023-08-24 00:00:00 end: 2023-09-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //based on Range Strat - MACD/RSI // strategy("MACD/RSI - edited", // overlay=true, // default_qty_type=strategy.percent_of_equity, // default_qty_value=10, precision=2, initial_capital=100000, // pyramiding=2, // commission_value=0.05) //Backtest date range StartDate = input(timestamp("13 Jun 2022"), title="Start Date") EndDate = input(timestamp("13 Jun 2024"), title="Start Date") inDateRange = true // RSI Input Settings rsisrc = input(title="RSI Source", defval=close, group="RSI Settings") length = input(title="Length", defval=14, group="RSI Settings" ) overSold = input(title="Over Sold Threshold", defval=30, group="RSI Settings" ) overBought = input(title="Over Bought Threshold", defval=70, group="RSI Settings" ) rsi_lookback = input(title="RSI cross lookback period", defval=7, group="RSI Settings") // Calculating RSI vrsi = ta.rsi(rsisrc, length) co = ta.crossover(vrsi, overSold) cu = ta.crossunder(vrsi, overBought) // Function looking for a happened condition during lookback period f_somethingHappened(_cond, _lookback) => bool _crossed = false for i = 1 to _lookback if _cond[i] _crossed := true _crossed coCheck = f_somethingHappened(co, rsi_lookback) cuCheck = f_somethingHappened(cu, rsi_lookback) // MACD Input Settings macdsrc = input(title="MACD Source", defval=close, group="MACD Settings") fast_length = input(title="Fast Length", defval=12, group="MACD Settings") slow_length = input(title="Slow Length", defval=26, group="MACD Settings") signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9, group="MACD Settings") sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"], group="MACD Settings") sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"], group="MACD Settings") // Calculating MACD fast_ma = sma_source == "SMA" ? ta.sma(macdsrc, fast_length) : ta.ema(macdsrc, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(macdsrc, slow_length) : ta.ema(macdsrc, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) delta = macd - signal MACDcrossover = ta.crossover(delta, 0) MACDcrossunder = ta.crossunder(delta, 0) // Stop Loss Input Settings longLossPerc = input(title="Long Stop Loss (%)", defval=15, group="Stop Loss Settings") * 0.01 shortLossPerc = input(title="Short Stop Loss (%)", defval=15, group="Stop Loss Settings") * 0.01 // Calculating Stop Loss longStopPrice = strategy.position_avg_price * (1 - longLossPerc) shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc) // Strategy Entry if (not na(vrsi)) if (inDateRange and MACDcrossover and coCheck) strategy.entry("LONG", strategy.long, comment="LONG") if (inDateRange and MACDcrossunder and cuCheck) strategy.entry("SHORT", strategy.short, comment="SHORT") // Submit exit orders based on calculated stop loss price if (strategy.position_size > 0) strategy.exit(id="LONG STOP", stop=longStopPrice) if (strategy.position_size < 0) strategy.exit(id="SHORT STOP", stop=shortStopPrice)