یہ حکمت عملی ایک رجحان کے بعد کا نظام ہے جو ڈائریکشنل موومنٹ انڈیکس (ڈی ایم آئی) کو اوسط حقیقی رینج (اے ٹی آر) کے ساتھ جوڑتا ہے۔ بنیادی طریقہ کار مارکیٹ کے رجحان کی سمت اور طاقت کی نشاندہی کرنے کے لئے ڈی آئی + اور ڈی آئی - اشارے کا استعمال کرتا ہے ، جبکہ متحرک اسٹاپ نقصان اور منافع لینے کی ایڈجسٹمنٹ کے لئے اے ٹی آر کا استعمال کرتا ہے۔ رجحان فلٹرنگ حرکت پذیر اوسط کے تعارف سے سگنل کی وشوسنییتا میں مزید اضافہ ہوتا ہے۔ حکمت عملی کے ڈیزائن میں مارکیٹ کی اتار چڑھاؤ پر غور کیا جاتا ہے اور اچھی موافقت کا مظاہرہ کیا جاتا ہے۔
یہ حکمت عملی مندرجہ ذیل بنیادی طریقہ کار پر مبنی ہے:
مارکیٹ میں اتار چڑھاؤ کا خطرہ - اس کے نتیجے میں رینج سے منسلک مارکیٹوں میں لگاتار رکاوٹیں آسکتی ہیں۔ تجاویز: فلٹرنگ کے لئے نوسن کے اشارے شامل کریں یا پیرامیٹر کی حد کو ایڈجسٹ کریں۔
اسٹیک ہولڈرز کے لئے، ان کے پاس ان کے پاس ان کے پاس ان کے پاس ان کے پاس ان کے پاس ان کے پاس ان کے پاس ان کے پاس ان کے پاس تجاویز: سلائیپ کو ایڈجسٹ کرنے کے لئے سٹاپ نقصان کی پوزیشنوں کو مناسب طریقے سے وسیع کریں.
غلط بریک آؤٹ کا خطرہ - رجحان کے موڑ کے مقامات پر ممکنہ غلط تشخیص۔ تجویز: سگنل کی تصدیق کے لیے حجم کے اشارے شامل کریں۔
پیرامیٹر حساسیت - کارکردگی مختلف پیرامیٹر مجموعوں کے ساتھ نمایاں طور پر مختلف ہوتی ہے۔ تجویز: بیک ٹسٹنگ کے ذریعے مستحکم پیرامیٹر رینج تلاش کریں۔
سگنل کی اصلاح - رجحان کی طاقت کی تشخیص کے لئے ADX اشارے کو متعارف کرانے یا حجم کی تصدیق کے طریقہ کار کو شامل کرنے پر غور کریں۔
پوزیشن مینجمنٹ - زیادہ بہتر خطرے کے کنٹرول کے لئے رجحان کی طاقت پر مبنی متحرک پوزیشن سائزنگ کو لاگو کریں.
ٹائم ڈھانچہ - سگنل کی وشوسنییتا کو بڑھانے کے لئے کثیر ٹائم فریم تجزیہ پر غور کریں۔
مارکیٹ کو اپنانے کی صلاحیت - مختلف آلات کی خصوصیات پر مبنی موافقت پذیر پیرامیٹر ایڈجسٹمنٹ میکانزم تیار کریں۔
یہ حکمت عملی سمت اور اتار چڑھاؤ کے اشارے کو جوڑ کر متحرک رجحان کی پیروی اور خطرے پر قابو پانے کو حاصل کرتی ہے۔ حکمت عملی کے ڈیزائن میں عملی اور آپریبلٹی پر زور دیا گیا ہے ، جس سے مارکیٹ کی مضبوط موافقت کا مظاہرہ ہوتا ہے۔ پیرامیٹر کی اصلاح اور سگنل میں بہتری کے ذریعے ، مزید بہتری کی گنجائش ہے۔ سرمایہ کاروں کو مشورہ دیا جاتا ہے کہ وہ عمل درآمد سے پہلے مارکیٹ کی خصوصیات کی بنیاد پر مکمل جانچ کریں اور مخصوص ایڈجسٹمنٹ کریں۔
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("使用 DI+ 和 DI- 的策略 (最終完整修正且含圖表止損止盈線)", overlay=true) // 輸入參數 diLength = input.int(title="DI 長度", defval=14) adxSmoothing = input.int(title="ADX Smoothing", defval=14) trendFilterLength = input.int(title="趨勢過濾均線長度", defval=20) strengthThreshold = input.int(title="趨勢強度門檻值", defval=20) atrLength = input.int(title="ATR 長度", defval=14) atrMultiplierStop = input.float(title="ATR 停損倍數", defval=1.5) atrMultiplierTakeProfit = input.float(title="ATR 止盈倍數", defval=2.5) // 計算 DI+ 和 DI- [diPlus, diMinus, _] = ta.dmi(diLength, adxSmoothing) // 計算趨勢過濾均線 trendFilterMA = ta.sma(close, trendFilterLength) // 判斷趨勢方向和強度 strongUpTrend = diPlus > diMinus + strengthThreshold and close > trendFilterMA strongDownTrend = diMinus > diPlus + strengthThreshold and close < trendFilterMA // 計算 ATR atr = ta.atr(atrLength) // 追蹤止損止盈價格 (使用 var 宣告,只在進場時更新) var float longStopPrice = na var float longTakeProfitPrice = na var float shortStopPrice = na var float shortTakeProfitPrice = na // 進場邏輯 longCondition = strongUpTrend shortCondition = strongDownTrend if (longCondition) strategy.entry("多單", strategy.long) longStopPrice := close - atr * atrMultiplierStop // 進場時計算並更新止損價 longTakeProfitPrice := close + atr * atrMultiplierTakeProfit // 進場時計算並更新止盈價 if (shortCondition) strategy.entry("空單", strategy.short) shortStopPrice := close + atr * atrMultiplierStop // 進場時計算並更新止損價 shortTakeProfitPrice := close - atr * atrMultiplierTakeProfit // 進場時計算並更新止盈價 // 出場邏輯 (使用 time 限制和 ATR) inLongPosition = strategy.position_size > 0 inShortPosition = strategy.position_size < 0 lastEntryTime = strategy.opentrades.entry_bar_index(strategy.opentrades - 1) if (inLongPosition and time > lastEntryTime) strategy.exit("多單出場", "多單", stop=longStopPrice, limit=longTakeProfitPrice) if (inShortPosition and time > lastEntryTime) strategy.exit("空單出場", "空單", stop=shortStopPrice, limit=shortTakeProfitPrice) // 繪製 DI+、DI- 和趨勢過濾均線 plot(diPlus, color=color.green, title="DI+") plot(diMinus, color=color.red, title="DI-") plot(trendFilterMA, color=color.blue, title="趨勢過濾均線") // 繪製止損止盈線 (使用 plot 函數繪製) plot(strategy.position_size > 0 ? longStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=2, title="多單停損") plot(strategy.position_size > 0 ? longTakeProfitPrice : na, color=color.green, style=plot.style_linebr, linewidth=2, title="多單止盈") plot(strategy.position_size < 0 ? shortStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=2, title="空單停損") plot(strategy.position_size < 0 ? shortTakeProfitPrice : na, color=color.green, style=plot.style_linebr, linewidth=2, title="空單止盈")