
এই কৌশলটি একটি প্রবণতা ট্র্যাকিং এবং ব্যবধানের ব্যবসায়ের সাথে সংযুক্ত একটি স্বনির্ধারিত সিস্টেম যা বাজারের অবস্থাকে উর্ধ্বগামী সূচক (সিআই) দ্বারা বিচার করে এবং বিভিন্ন বাজার পরিবেশের সাথে সম্পর্কিত ট্রেডিং লজিক ব্যবহার করে। ট্রেন্ডিং বাজারে, কৌশলটি ইএমএ ক্রস এবং আরএসআই ওভারবাইট ওভারসেল সংকেত ব্যবহার করে ট্রেড করে। ব্যবধানের বাজারে, এটি মূলত আরএসআই সূচকের চূড়ান্ত মানের উপর ভিত্তি করে ট্রেড করা হয়। কৌশলটি ঝুঁকি নিয়ন্ত্রণ এবং মুনাফা লক করার জন্য একটি স্টপ লস স্টপিং ব্যবস্থা অন্তর্ভুক্ত করে।
কৌশলটির মূল অংশটি হল বাজারে ট্রেন্ডিং মার্কেট (সিআই <38.2) এবং ব্যাপ্তিযুক্ত বাজার (সিআই >61.8) এর মধ্যে বিভক্ত করা। ট্রেন্ডিং মার্কেটে, যখন দ্রুত ইএমএ (৯ চক্র) ধীরে ধীরে ইএমএ (২১ চক্র) অতিক্রম করে এবং আরএসআই 70 এর নীচে থাকে, তখন পল্ট খুলুন; যখন ধীর ইএমএ (৯ চক্র) দ্রুত ইএমএ অতিক্রম করে এবং আরএসআই 30 এর উপরে থাকে, তখন শূন্যপদ খুলুন।
এই কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির সাথে মিলিত হয়ে একটি স্ব-অনুকূলিতকরণযোগ্য ট্রেডিং সিস্টেম তৈরি করে যা বিভিন্ন বাজারের পরিবেশে স্থিতিশীল পারফরম্যান্স বজায় রাখতে সক্ষম। কৌশলটির মূল সুবিধা হ’ল এর বাজার অভিযোজনযোগ্যতা এবং একটি উন্নত ঝুঁকি ব্যবস্থাপনা ব্যবস্থা, তবে এটি প্যারামিটার অপ্টিমাইজেশন এবং বাজারের অবস্থার উপর নির্ভরশীলতার মতো বিষয়গুলিতেও মনোযোগ দিতে হবে। ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে, এই কৌশলটি বিভিন্ন বাজারের পরিবেশে আরও ভাল ট্রেডিং কার্যকারিতা অর্জনের প্রত্যাশায় রয়েছে।
/*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))