
یہ حکمت عملی آر ایس آئی ، ایم اے سی ڈی اور منتقل اوسط کا استعمال کرتے ہوئے ایک مجموعہ حکمت عملی ہے۔ اس نے مارکیٹ میں داخلے کا وقت طے کرنے کے لئے آر ایس آئی کے اوورلوڈ اوورلوڈ سگنل ، ایم اے سی ڈی کی حساسیت اور منتقل اوسط کے اشارے کے اثرات کو ملا دیا ہے۔
اس حکمت عملی کے تحت، مندرجہ ذیل چار شرائط کو مدنظر رکھا جاتا ہے:
جب مندرجہ ذیل دو شرطیں پوری ہوجائیں تو حکمت عملی کو بند کردیا جاتا ہے:
اس طرح ، حکمت عملی کو منافع کی واپسی کے وقت بروقت روک دیا جاتا ہے ، جس سے بڑے نقصانات سے بچا جاسکتا ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ اس میں اشارے کے مجموعے کا استعمال کیا گیا ہے ، جس میں انفرادی اشارے کے فوائد کو استعمال کیا گیا ہے ، خاص طور پر:
اس حکمت عملی کے دو اہم خطرات ہیں:
واپسی کا خطرہ زیادہ ہے۔ متحرک اوسط جیسی رجحان ساز حکمت عملیوں کا سب سے بڑا خطرہ مارکیٹ میں ردوبدل کے نتیجے میں ہونے والی بڑی واپسی ہے۔ واپسی کو پوزیشن کے سائز کو کم کرکے اور نقصان کو روکنے کی ترتیب کو فعال طور پر کنٹرول کیا جاسکتا ہے۔
پیرامیٹرز کو بہتر بنانا مشکل ہے۔ کثیر اشارے کے مجموعے کی حکمت عملی پیرامیٹرز کی ترتیب اور اصلاح کرنا مشکل ہے۔ پیرامیٹرز کو بہتر بنانے کے طریقوں جیسے قدم بہ قدم ، جینیاتی الگورتھم کا استعمال کرکے بہترین پیرامیٹرز کا تعین کیا جاسکتا ہے۔
اس حکمت عملی کو مزید بہتر بنانے کے لیے درج ذیل نکات پر غور کیا جا سکتا ہے:
اضافی شرائط شامل کریں ، جعلی سگنل کو مزید فلٹر کریں۔ مثال کے طور پر ، تجارتی حجم کے اشارے ، اتار چڑھاؤ کے اشارے وغیرہ کو جوڑیں۔
مختلف اقسام کے پیرامیٹرز کی ترتیب میں فرق کی جانچ کریں۔ زیادہ اقسام کے لئے پیرامیٹرز کو ایڈجسٹ کریں۔
متحرک اوسط پیرامیٹرز کی ترتیبات کو بہتر بنائیں۔ مختلف لمبائی پیرامیٹرز میں فرق کی جانچ کریں۔
اس تحقیق میں موزوں حرکت پذیر اوسط کا استعمال کیا گیا ہے۔ مارکیٹ کے حالات کے مطابق مختلف پیرامیٹرز کا ایک مجموعہ۔
یہ حکمت عملی مجموعی طور پر ایک مثالی اصلاحی ورژن ہے جو چلتی اوسط اور رجحان سے باخبر رہنے کی حکمت عملی ہے۔ اس میں MACD ، RSI اور دیگر متعدد اہم اشارے کی خوبیوں کو جذب کیا گیا ہے ، اور یہ مارکیٹ میں داخلے کے وقت اور نقصان کو روکنے کے لئے منفرد ہے۔ اگلے مرحلے میں ، اسٹریٹجی پیرامیٹرز کو زیادہ سے زیادہ استحکام حاصل کرنے کے لئے پیرامیٹرز کی اصلاح ، رسک کنٹرول اور دیگر بہت سے پہلوؤں میں بہتری لائی جاسکتی ہے۔
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved RSI MACD Strategy with Moving Averages", overlay=true)
// Inputs
src = input(close, title="RSI Source")
// RSI Settings
lengthRSI = input.int(14, minval=1)
// Stop Loss Settings
stopLossPct = input.float(0.09, title="Stop Loss Percentage")
takeProfitPct = input.float(0.15, title="Take Profit Percentage")
// MACD Settings
fastlen = input(12)
slowlen = input(26)
siglen = input(9)
// Strategy Settings
longEntry = input(0, title="Long Entry Level")
exitLevel = input(0, title="Exit Level")
// EMA Settings
emaShortLength = input(8, title="Short EMA Length")
emaLongLength = input(21, title="Long EMA Length")
atrMultiplier = input.float(2, title="atrMultiplier")
atrLength = input.int(20, title="atrLength")
// Indicators
rsi1 = ta.rsi(src, lengthRSI)
[macd, signal, hist] = ta.macd(src, fastlen, slowlen, siglen)
// Calculate EMAs
emaShort = ta.ema(src, emaShortLength)
emaLong = ta.ema(src, emaLongLength)
// Calculate ATR
atr = ta.atr(atrLength)
// Variables
var bool canEnterLong = na
// Strategy conditions
longCondition = hist > longEntry and rsi1 > 50 and emaShort > emaLong and close > emaLong + atrMultiplier * atr
// Entries and Exits
if hist < exitLevel and emaShort < emaLong
canEnterLong := true
strategy.close("Long")
// Store last entry price
var lastEntryPrice = float(na)
var lastEntryPrice2 = float(na)
if longCondition
strategy.entry("Long", strategy.long)
canEnterLong := false
lastEntryPrice := close
if lastEntryPrice < close
lastEntryPrice := close
// Calculate Stop Loss and Take Profit Levels based on last entry price
stopLossLevel = lastEntryPrice * (1 - stopLossPct)
// Check for stop loss and take profit levels and close position if triggered
if (strategy.position_size > 0)
last_buy = strategy.opentrades[0]
if (close < stopLossLevel)
strategy.close("Long", comment="Stop Loss Triggered")
if (close * (1 - takeProfitPct) > strategy.opentrades.entry_price(strategy.opentrades - 1) )
strategy.close("Long", comment="Take Profit Triggered")