
اس حکمت عملی میں ڈی ایم آئی اشارے کی طرف سے رجحان کی سمت کا تعین کرنے اور آر ایس آئی اشارے کا تعین کرنے کے لئے ایک مکمل رجحان کی پیروی کرنے کی حکمت عملی حاصل کی گئی ہے۔ جب ڈی ایم آئی اشارے کا تعین رجحان میں ہوتا ہے اور آر ایس آئی اشارے میں اوور یا اوور فروخت ہوتا ہے تو ، اس کے مطابق زیادہ یا کم ہوجاتا ہے۔ منافع کو مقفل کرنے کے لئے متحرک اسٹاپ نقصان بھی ترتیب دیا گیا ہے۔
یہ ایک زیادہ پختہ اور مستحکم ٹرینڈ فالو کرنے کی حکمت عملی ہے جس کے درج ذیل فوائد ہیں:
اس حکمت عملی کے کچھ خطرات بھی ہیں جن کے بارے میں آگاہ ہونا ضروری ہے:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
یہ حکمت عملی مجموعی طور پر ایک زیادہ مستحکم عملی رجحان کی پیروی کرنے والی حکمت عملی ہے ، جس میں ڈی ایم آئی کے ذریعہ رجحان کی سمت کا فیصلہ کیا جاتا ہے ، اور آر ایس آئی کے ذریعہ اوور بیئر اور اوور سیل کا فیصلہ کیا جاتا ہے ، جس سے درمیانی لمبی لائن کے تجارتی مواقع پر قبضہ ہوتا ہے۔ اس حکمت عملی کے پیرامیٹرز کا انتخاب آسان ہے ، تجارتی قواعد واضح ہیں ، اور ان پر عمل کرنا آسان ہے۔ لیکن اس میں وقت پر بندش اور نقصان کا خطرہ بھی موجود ہے۔ کچھ پیرامیٹرز اور ماڈل کی اصلاح کے ذریعہ ، اس حکمت عملی کی کارکردگی کو بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © YingYangJPN
//@version=5
strategy("DMI and RSI Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// DMI indikatörünü tanımlayalım
lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50)
len = input.int(14, minval=1, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / trur)
minus = fixnan(100 * ta.rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
trailing_stop_loss_factor = input.float(0.50, "Trailing Stop Loss Factor", step = 0.01)
// RSI indikatörünü tanımlayalım
rsiLength = input.int(14, minval=1, title="RSI Length")
rsiSource = input(close, title="RSI Source")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiValue = ta.rsi(rsiSource, rsiLength)
// Uzun pozisyon açma koşullarını tanımlayalım
longCondition1 = rsiValue < rsiOversold // RSI oversold seviyesinin altındaysa
longCondition2 = adx > 20 // ADX 20'den büyükse
longCondition3 = minus > plus
// Kısa pozisyon açma koşullarını tanımlayalım
shortCondition1 = rsiValue > rsiOverbought // RSI overbought seviyesinin üstündeyse
shortCondition2 = adx > 20 // ADX 20'den büyükse
shortCondition3 = plus > minus
// Uzun pozisyon açalım
if longCondition1 and longCondition2 and longCondition3
strategy.entry("Long", strategy.long)
// Kısa pozisyon açalım
if shortCondition1 and shortCondition2 and shortCondition3
strategy.entry("Short", strategy.short)
// Trailing Stop Loss
longTrailingStopLoss = strategy.position_avg_price * (1 - trailing_stop_loss_factor / 100)
shortTrailingStopLoss = strategy.position_avg_price * (1 + trailing_stop_loss_factor / 100)
if strategy.position_size > 0
strategy.exit("Exit Long", "Long", stop = longTrailingStopLoss)
if strategy.position_size < 0
strategy.exit("Exit Short", "Short", stop = shortTrailingStopLoss)
// DMI ve RSI indikatörlerini grafiğe çizelim
plot(adx, color=#F50057, title="ADX")
plot(plus, color=#2962FF, title="+DI")
plot(minus, color=#FF6D00, title="-DI")
plot(rsiValue, color=#9C27B0, title="RSI")
hline(rsiOverbought, title="RSI Overbought Level", color=#E91E63, linestyle=hline.style_dashed)
hline(rsiOversold, title="RSI Oversold Level", color=#4CAF50, linestyle=hline.style_dashed)