
یہ حکمت عملی متحرک اشارے آر ایس آئی اور رجحان اشارے ای ایم اے کے ساتھ مل کر ایک جامع تجارتی نظام ہے۔ یہ 1 منٹ اور 5 منٹ کے دو ٹائم پیریڈ پر چلتا ہے ، اور آر ایس آئی کے اوپری خرید اوپری فروخت سگنل اور ٹرپل ای ایم اے کے رجحان کے فیصلے کے ذریعہ تجارتی فیصلے کرتا ہے۔ حکمت عملی میں رجحانات کی پیروی اور اوسط واپسی دونوں شامل ہیں ، جو مختلف مارکیٹ کے حالات میں تجارتی مواقع کو پکڑنے کے قابل ہے۔
اس حکمت عملی میں 21/50/200 دن کی ٹرپل ای ایم اے کو رجحانات کے لئے ایک معیار کے طور پر استعمال کیا جاتا ہے ، اور اس کے ساتھ ساتھ بہتر آر ایس آئی (چیبیشیف طریقہ کار کا استعمال کرتے ہوئے) کے ساتھ مل کر مارکیٹ میں زیادہ خرید و فروخت کی شناخت کی جاتی ہے۔ 1 منٹ کے دورانیے پر ، جب آر ایس آئی نے 94 کو توڑ دیا تو ، 4 بجے تک پہنچ گیا ، اور آر ایس آئی نے 50 کو واپس آنے پر سیکیورٹی اسٹاپ قائم کیا۔ 5 منٹ کے دورانیے پر ، جب قیمت 200 دن کی ای ایم اے کو توڑنے کے بعد زیادہ کھولی گئی ، اور آر ایس آئی نے اس کی قیمت کو زیادہ خریدنے یا گرنے کے بعد کھول دیا تھا۔ اس حکمت عملی میں پوزیشن مینجمنٹ متغیر inLongPosition اور inPositionShort کے ذریعے دوبارہ داخل ہونے سے بچنے کے لئے۔
اس حکمت عملی میں متعدد تکنیکی اشارے اور ایک سے زیادہ ٹائم سائیکل تجزیہ کو جوڑ کر تجارت کی استحکام اور وشوسنییتا کو بہتر بنایا گیا ہے۔ اگرچہ کچھ خطرہ موجود ہے ، لیکن مناسب پوزیشن مینجمنٹ اور اسٹاپ نقصان میکانزم کے ذریعہ خطرے پر موثر کنٹرول حاصل کیا جاسکتا ہے۔ حکمت عملی میں اصلاح کی گنجائش زیادہ ہے ، اور مزید تکنیکی اشارے اور اصلاح کے پیرامیٹرز کو متعارف کرانے سے حکمت عملی کی کارکردگی کو مزید بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2023-11-12 00:00:00
end: 2024-07-10 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Combined RSI Primed and 3 EMA Strategy", overlay=true)
// Input for EMA lengths
emaLength1 = input(21, title="EMA Length 1")
emaLength2 = input(50, title="EMA Length 2")
emaLength3 = input(200, title="EMA Length 3")
// Input for RSI settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(94, title="RSI Overbought Level")
rsiNeutral = input(50, title="RSI Neutral Level")
rsiOversold = input(4, title="RSI Oversold Level")
// Calculate EMAs
ema1 = ta.ema(close, emaLength1)
ema2 = ta.ema(close, emaLength2)
ema3 = ta.ema(close, emaLength3)
// Calculate RSI using Chebyshev method from RSI Primed
rsi(source) =>
up = math.max(ta.change(source), 0)
down = -math.min(ta.change(source), 0)
rs = up / down
rsiValue = down == 0 ? 100 : 100 - (100 / (1 + rs))
rsiValue
rsiValue = rsi(close)
// Plot EMAs
plot(ema1, color=color.red, title="EMA 21")
plot(ema2, color=color.white, title="EMA 50")
plot(ema3, color=color.blue, title="EMA 200")
// Plot RSI for visual reference
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiNeutral, "Neutral", color=color.gray)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsiValue, color=color.blue, title="RSI")
// Trading logic with position management
var bool inPositionShort = false
var bool inPositionLong = false
// Trading logic for 1-minute timeframe
if (rsiValue > rsiOverbought and not inPositionShort)
strategy.entry("Sell", strategy.short)
inPositionShort := true
if (rsiValue < rsiOversold and inPositionShort)
strategy.close("Sell")
inPositionShort := false
if (ta.crossover(rsiValue, rsiNeutral) and inPositionShort)
strategy.exit("Break Even", "Sell", stop=close)
// Trading logic for 5-minute timeframe
var float lastBearishClose = na
if (close < ema3 and close[1] >= ema3) // Check if the current close is below EMA200
lastBearishClose := close
if (not na(lastBearishClose) and close > lastBearishClose and not inPositionLong)
strategy.entry("Buy", strategy.long)
inPositionLong := true
if (rsiValue > rsiOverbought and inPositionLong)
strategy.close("Buy")
inPositionLong := false
if (ta.crossunder(rsiValue, rsiNeutral) and inPositionLong)
strategy.exit("Break Even", "Buy", stop=close)
lastBearishClose := na // Reset after trade execution