
یہ حکمت عملی ایک رجحان کی پیروی اور وقفے وقفے سے تجارت کے ساتھ مل کر ایک خود کار طریقے سے نظام ہے جس میں مارکیٹ کی حالت کا اندازہ لگانے کے لئے اتار چڑھاؤ کے اشارے ((سی آئی) کے ذریعہ اور مختلف مارکیٹ کے حالات کے مطابق اسی طرح کے تجارتی منطق کو اپنانا ہے۔ رجحان کی مارکیٹ میں ، حکمت عملی ای ایم اے کراس اور آر ایس آئی اوور خرید اوور فروخت سگنل کا استعمال کرتے ہوئے تجارت کرتی ہے۔ وقفے سے منسلک مارکیٹوں میں ، یہ بنیادی طور پر آر ایس آئی اشارے کی انتہائی قیمت پر تجارت کرتی ہے۔ حکمت عملی میں خطرے کو کنٹرول کرنے اور منافع کو مقفل کرنے کے لئے اسٹاپ نقصان کا طریقہ کار بھی شامل ہے۔
اس حکمت عملی کا بنیادی حصہ یہ ہے کہ مارکیٹ کو رجحان مارکیٹ (سی آئی <38.2) اور بینڈ مارکیٹ (سی آئی >61.8) میں تقسیم کیا جائے۔ رجحان مارکیٹ میں ، جب تیز رفتار ای ایم اے (سی آئی <38.2) اور آر ایس آئی <70 سے نیچے ہے تو ، ایک کثیر کھل جاتا ہے۔ جب تیز رفتار ای ایم اے (سی آئی <21) اور آر ایس آئی <70 سے نیچے ہے تو ، ایک کثیر کھل جاتا ہے۔
اس حکمت عملی نے متعدد تکنیکی اشارے کو ملا کر ایک انکولی ٹریڈنگ سسٹم تشکیل دیا ہے جو مختلف مارکیٹ کے حالات میں مستحکم کارکردگی کا مظاہرہ کرنے کے قابل ہے۔ اس حکمت عملی کے بنیادی فوائد اس کی مارکیٹ میں موافقت اور بہتر خطرے کے انتظام کے طریقہ کار میں ہیں ، لیکن اس کے ساتھ ساتھ پیرامیٹرز کی اصلاح اور مارکیٹ کی شرائط پر انحصار جیسے مسائل پر بھی توجہ دینے کی ضرورت ہے۔ اس حکمت عملی کو مسلسل اصلاح اور بہتری کے ذریعے مختلف مارکیٹ کے حالات میں بہتر ٹریڈنگ کے نتائج حاصل کرنے کی امید ہے۔
/*backtest
start: 2024-12-19 00:00:00
end: 2024-12-26 00:00:00
period: 45m
basePeriod: 45m
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/
// © nopology
//@version=6
strategy("CI, EMA, RSI", overlay=false)
// Input parameters
lengthCI = input(14, title="CI Length")
lengthRSI = input(14, title="RSI Length")
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
// Calculate CI
atr = ta.atr(lengthCI)
highLowRange = math.log10(math.max(high[lengthCI], high) - math.min(low[lengthCI], low))
sumATR = math.sum(atr, lengthCI)
ci = 100 * (math.log10(sumATR / highLowRange) / math.log10(lengthCI))
// Calculate RSI
rsi = ta.rsi(close, lengthRSI)
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Define conditions
trendingMarket = ci < 38.2
rangingMarket = ci > 61.8
bullishSignal = ta.crossover(fastEMA, slowEMA) and rsi < 70
bearishSignal = ta.crossover(slowEMA, fastEMA) and rsi > 30
// Plot indicators for visualization
plot(ci, title="Choppiness Index", color=color.purple, linewidth=2)
plot(fastEMA, title="Fast EMA", color=color.blue)
plot(slowEMA, title="Slow EMA", color=color.red)
// Strategy Execution
if (trendingMarket)
if (bullishSignal)
strategy.entry("Long", strategy.long)
if (bearishSignal)
strategy.entry("Short", strategy.short)
else if (rangingMarket)
if (rsi < 30)
strategy.entry("Long", strategy.long)
if (rsi > 70)
strategy.entry("Short", strategy.short)
// Close positions when conditions no longer met or reverse
if (trendingMarket and not bullishSignal)
strategy.close("Long")
if (trendingMarket and not bearishSignal)
strategy.close("Short")
if (rangingMarket and rsi > 40)
strategy.close("Long")
if (rangingMarket and rsi < 60)
strategy.close("Short")
// Optional: Add stop loss and take profit
stopLossPerc = input.float(2, title="Stop Loss (%)", minval=0.1, step=0.1) / 100
takeProfitPerc = input.float(4, title="Take Profit (%)", minval=0.1, step=0.1) / 100
strategy.exit("Exit Long", "Long", stop=close*(1-stopLossPerc), limit=close*(1+takeProfitPerc))
strategy.exit("Exit Short", "Short", stop=close*(1+stopLossPerc), limit=close*(1-takeProfitPerc))