اس حکمت عملی میں MACD حرکیات کے اشارے اور RSI اوورلوڈ اوورلوڈ اشارے کا امتزاج کیا گیا ہے تاکہ یہ تصدیق کی جاسکے کہ آیا RSI نے MACD کے سنڈ فورک / ڈیڈ فورک کے وقت بھی اسی طرح کی ٹچ نیچے / ٹچ ٹاپ واپسی کو مکمل کیا ہے ، جس سے زیادہ قابل اعتماد تجارتی سگنل پیدا ہوتا ہے۔ یہ ایک عام قلیل مدتی الٹ حکمت عملی ہے۔
MACD اشارے کے DIFF ، DEA اور MACD کالموں کا حساب لگائیں۔ جب DIFF اوپر DEA سے گزرتا ہے تو گولڈ فورک سگنل پیدا ہوتا ہے ، جب نیچے سے گزرتا ہے تو ڈیڈ فورک سگنل پیدا ہوتا ہے۔
آر ایس آئی کے اشارے کا حساب لگائیں ، فیصلہ کریں کہ آیا نیچے کی واپسی ہوئی ہے یا چھت واپس آ گئی ہے۔ اور پچھلی ونڈو کو اس بات کا فیصلہ کرنے کے لئے ترتیب دیں کہ آیا حالیہ مرحلے میں کوئی نیچے یا چھت آئی ہے۔
جب MACD گولڈ فورک ہوتا ہے تو ، اگر RSI نے پیچھے مڑنے والی ونڈو کے اندر ٹچ بیک اپ مکمل کیا ہے تو ، اس سے زیادہ دیکھنے کا اشارہ پیدا ہوتا ہے۔ جب MACD ڈیڈ فورک ہوتا ہے تو ، اگر RSI نے ٹچ ٹاپ ریٹرن مکمل کیا ہے تو ، اس سے زیادہ دیکھنے کا اشارہ ہوتا ہے۔
خطرے کو کنٹرول کرنے کے لئے داخلے کے بعد اسٹاپ نقصان کا تعین کریں۔
ایم اے سی ڈی ٹرینڈ ٹرانسمیشن ٹائمنگ حساس ہے۔ آر ایس آئی نے اوورلوڈ اوورلوڈ صورتحال کا اندازہ لگایا ہے۔
ایک ہی وقت میں MACD اور RSI ٹوکن کی توثیق ، جعلی سگنل کو فلٹر کریں۔
یہ ونڈو کے بارے میں فیصلہ کرتی ہے کہ سگنل کی وشوسنییتا میں اضافہ کرے گا۔
سٹاپ نقصان کی ترتیب خطرے کے انتظام میں مدد کرتی ہے۔
ایم اے سی ڈی اور آر ایس آئی دونوں کچھ حد تک پیچھے رہ گئے ہیں اور ممکنہ طور پر انٹری کے بہترین نقطہ نظر سے محروم ہیں۔
ایک ہی وقت میں دو اشارے سگنل کا انتظار کرنے کے امکانات کم ہیں ، سگنل کم ہیں۔
اس کے علاوہ، یہ بھی کہا گیا ہے کہ اس نے بڑے پیمانے پر رجحانات کی طرف توجہ نہیں دی ہے، اور اس کے نتیجے میں، وہ آسانی سے دھوکہ دیا جا سکتا ہے.
نقصانات کی روک تھام کی غلط ترتیب بہت زیادہ نرمی یا سخت ہوسکتی ہے۔
اس کا حل کیا ہے؟
MACD اور RSI پیرامیٹرز کو ایڈجسٹ کریں تاکہ تاخیر کا امکان کم ہوجائے۔
مزید سگنل فراہم کرنے کے لئے اشارے کے موثر دائرہ کار کو مناسب طریقے سے بڑھایا جائے۔
رجحانات کو فلٹر کرنے کے لئے رجحانات کو فلٹر کرنے کے لئے رجحانات کو فلٹر کریں.
مختلف سٹاپ نقصان پیرامیٹرز کی ترتیبات کو آزمائیں اور بہترین تلاش کریں۔
ایس ایم اے اور دیگر مساوی لائنوں کے اثرات کی جانچ پڑتال کریں.
موبائل سٹاپ کو بڑھانا، سٹاپ کو زیادہ لچکدار بنانا۔
ٹرینڈ فورس کے اشارے شامل کریں تاکہ داخلے کی خوبیوں اور خرابیوں کا اندازہ لگایا جاسکے۔
مشین لرننگ متعارف کروائی گئی جس سے اشارے کی پیش گوئی کی گئی۔
مزید عوامل کے ساتھ ، داخلے کے وقت کو بہتر بنائیں۔
یہ حکمت عملی 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)