
দ্বি-চক্রের সিসিআই গতিশীলতা ট্রেন্ড ট্র্যাকিং ট্রেডিং কৌশল একটি দীর্ঘ এবং স্বল্প-চক্রের পণ্য চ্যানেল সূচক (সিসিআই) এর সাথে মিলিত একটি পরিমাণগত ট্রেডিং সিস্টেম যা বাজারে শক্তিশালী প্রবণতা চিহ্নিত এবং ক্যাপচার করার জন্য ডিজাইন করা হয়েছে। এই কৌশলটি 50 টি চক্রের দীর্ঘ-চক্রের সিসিআইকে বাজারের মূল প্রবণতার দিকনির্দেশের জন্য ব্যবহার করে, যখন 5 টি চক্রের স্বল্প-চক্রের সিসিআইকে বাজারের গতিশীলতার পরিবর্তন এবং প্রবেশের সময়কালের জন্য ব্যবহার করে। এই দ্বি-চক্রের সমন্বয় পদ্ধতিটি কেবল কার্যকরভাবে জাল সংকেতগুলি ফিল্টার করতে সক্ষম নয়, তবে এটি প্রবণতার শুরুতে সঠিক প্রবেশের জায়গা সরবরাহ করে, যা ট্রেন্ডের মূল লাভকে সর্বাধিক করে তোলে। এই কৌশলটি দ্বি-মুখী ব্যবসায় সমর্থন করে, ব্যবহারকারীরা তাদের ঝুঁকিপূর্ণ পছন্দ অনুসারে নমনীয়ভাবে চালু বা বন্ধ করতে পারে এবং বিভিন্ন বাজার পরিবেশ এবং ব্যবসায়ের প্রয়োজন অনুসারে এটি খালি করে দেয়।
এই কৌশলটির কেন্দ্রীয় যুক্তিটি সিসিআই সূচকের শূন্য-রেখা অতিক্রম এবং গতিশীলতা পরিবর্তনের তত্ত্বের উপর ভিত্তি করে, এর কার্যকারিতা নিম্নরূপঃ
ভর্তির শর্তাবলী:
মাল্টিপল প্লেইন শর্ত:
খালি মাথায় প্রবেশের শর্ত(শুধুমাত্র যদি শূন্যস্থান সক্রিয় থাকে):
খালি পজিশন শর্ত:
পরিবর্তনশীল কৌশলinPositiveCciLongCycle、firstCrossoverOccurredএবংfirstCrossunderOccurredপ্রবণতা চক্রের স্থিতি অনুসরণ করুন, নিশ্চিত করুন যে প্রবণতা চক্রের মধ্যে কেবলমাত্র একটি লেনদেন সম্পাদন করা হয়, কার্যকরভাবে বাজারের ঝড়ের মধ্যে ঘন ঘন লেনদেন এবং অপ্রয়োজনীয় ফি ক্ষতি এড়ানো যায়।
কোডের গভীর বিশ্লেষণের মাধ্যমে, এই কৌশলটি বেশ কয়েকটি উল্লেখযোগ্য সুবিধা প্রদর্শন করেছেঃ
প্রবণতা ও গতিশীলতার দ্বৈত নিশ্চিতকরণ: দীর্ঘ ও স্বল্প সময়ের সিসিআই সূচকের সংমিশ্রণে ট্রেন্ডের দিকনির্দেশনা এবং প্রবেশের সময় নির্ধারণের দ্বৈত নিশ্চিতকরণ ব্যবস্থা রয়েছে, যা মিথ্যা সংকেতের ঝুঁকি হ্রাস করে।
সঠিক প্রবেশের সময়কৌশলঃ স্বল্প-চক্রের সিসিআই শূন্যরেখা অতিক্রম করে গতিশীলতার পরিবর্তনগুলি সনাক্ত করতে, প্রবণতার প্রথম দিকে আরও সুনির্দিষ্ট প্রবেশের পয়েন্ট সরবরাহ করতে এবং তহবিলের ব্যবহারের দক্ষতা বাড়াতে সক্ষম।
ঘন ঘন লেনদেন এড়িয়ে চলুন: চক্রের মধ্যে একক প্রবেশের ব্যবস্থার মাধ্যমে, ঘন ঘন লেনদেন এড়ানো এবং লেনদেনের ব্যয় হ্রাস করা কার্যকর।
নমনীয় লেনদেন: শুধুমাত্র একাধিক বা দ্বি-মুখী লেনদেন সমর্থন করে, ব্যবহারকারীরা বাজারের পরিবেশ এবং ব্যক্তিগত পছন্দ অনুসারে নমনীয়ভাবে বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে পারেন।
স্পষ্ট ভিজ্যুয়াল ফিডব্যাক: কৌশলগুলি সিসিআই সূচক লাইন এবং ট্রেডিং সিগন্যাল চিহ্ন সহ স্বজ্ঞাত ভিজ্যুয়াল নির্দেশাবলী সরবরাহ করে যা বিশ্লেষণ এবং পুনরায় যাচাইয়ের জন্য সহজতর করে।
প্যারামিটার সমন্বয়যোগ্যতা: ব্যবহারকারীরা বিভিন্ন বাজার এবং জাতের বৈশিষ্ট্য অনুসারে দীর্ঘ এবং ছোট সিসিআই চক্রের পরামিতিগুলিকে সামঞ্জস্য করতে পারেন, যা কৌশলগত অভিযোজনযোগ্যতা উন্নত করে।
যদিও এই কৌশলটি যুক্তিসঙ্গতভাবে পরিকল্পিত, তবে এর মধ্যে কিছু সম্ভাব্য ঝুঁকি রয়েছেঃ
ট্রেন্ড রিভার্সাল ঝুঁকি: প্রবল প্রবণতা হঠাৎ বিপরীত হওয়ার ক্ষেত্রে, দীর্ঘকালীন সিসিআই সময়মত শূন্যরেখা অতিক্রম করতে ব্যর্থ হতে পারে, যার ফলে সমান্তরাল সংকেত বিলম্বিত হতে পারে, যার ফলে লাভের জন্য প্রাপ্ত মুনাফা প্রত্যাহার হতে পারে। এর সমাধান হল স্টপ-অফ ব্যবস্থা চালু করা বা আরও সংবেদনশীল সমান্তরাল সূচক যুক্ত করা।
ওয়ার্ল্ড ইকোনমিক ফোরাম (আইইএফ): দীর্ঘমেয়াদী ওভারলে বা কোন স্পষ্ট প্রবণতা ছাড়াই বাজারের পরিবেশে, কৌশলটি ক্ষতির দিকে পরিচালিত করে একাধিক অকার্যকর সংকেত তৈরি করতে পারে। বাজারটি স্পষ্ট প্রবণতার মধ্যে রয়েছে তা নিশ্চিত করার জন্য এই কৌশলটি ব্যবহার করার পরামর্শ দেওয়া হয়।
পরামিতি সংবেদনশীলতাসিসিআই চক্রের প্যারামিটার নির্বাচন কৌশলগত পারফরম্যান্সের উপর উল্লেখযোগ্য প্রভাব ফেলে। বিভিন্ন বাজারে বিভিন্ন প্যারামিটার সেটিং প্রয়োজন হতে পারে। ফিডব্যাক অপ্টিমাইজেশনের মাধ্যমে নির্দিষ্ট বাজারের জন্য উপযুক্ত প্যারামিটার সংমিশ্রণ খুঁজে বের করার পরামর্শ দেওয়া হয়।
একক সূচক নির্ভরতা: কৌশলটি শুধুমাত্র সিসিআই সূচকের উপর নির্ভর করে, অন্যান্য প্রযুক্তিগত সূচক বা মূল্যের আকৃতির সহায়ক নিশ্চিতকরণের অভাব, যা মিথ্যা সংকেতের ঝুঁকি বাড়িয়ে তুলতে পারে। অতিরিক্ত ফিল্টারিং শর্ত যুক্ত করার বিষয়টি বিবেচনা করুন।
অর্থের অপব্যবহারকোডঃ ফিক্সড অনুপাত পজিশন ম্যানেজমেন্ট ব্যবহার করুন ((100% তহবিল), এটি উচ্চ অস্থির বাজারে খুব উচ্চ ঝুঁকি নিয়ে আসতে পারে। বাজারের অস্থিরতার গতিশীলতার উপর ভিত্তি করে পজিশন আকারের সমন্বয় করার পরামর্শ দেওয়া হয়েছে।
কোড বিশ্লেষণের উপর ভিত্তি করে, এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
পরিস্রাবণ যুক্ত করুনসমান্তরাল, আরএসআই বা এমএসিডি এর মতো অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে মিলিত হয়ে একাধিক নিশ্চিতকরণ ব্যবস্থা তৈরি করে এবং সংকেতের গুণমান উন্নত করে। এই অপ্টিমাইজেশানটি কারণ একক সিসিআই সূচকটি কিছু বাজারের পরিস্থিতিতে বিভ্রান্তিকর সংকেত তৈরি করতে পারে, একাধিক সূচক সমন্বয় তাদের স্বতন্ত্র দুর্বলতার জন্য পরিপূরক হতে পারে।
স্বনির্ধারিত প্যারামিটার প্রবর্তন: সিসিআই চক্রের প্যারামিটারগুলি বাজারের অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করার জন্য ডিজাইন করা হয়েছে, যাতে কৌশলগুলি বিভিন্ন বাজারের পর্যায়ে অভিযোজিত হতে পারে। এই অপ্টিমাইজেশনটি কৌশলগুলিকে বিভিন্ন অস্থির পরিবেশে স্থিতিশীল কর্মক্ষমতা বজায় রাখতে সহায়তা করে।
তহবিল ব্যবস্থাপনা উন্নত করুন: এটিআর-ভিত্তিক গতিশীল পজিশন ম্যানেজমেন্টের প্রবর্তন, যা বাজারের অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে পজিশনের আকারকে সামঞ্জস্য করে, লাভ এবং ঝুঁকিকে ভারসাম্য দেয়। এই উন্নতিটি কৌশলকে উচ্চ ওঠানামা বাজারে ঝুঁকি নিয়ন্ত্রণ করতে এবং নিম্ন ওঠানামা প্রবণতাগুলির মধ্যে সুযোগের সদ্ব্যবহার করতে দেয়।
অতিরিক্ত স্টপ লস ব্যবস্থা: বাজারের অস্থিরতার উপর ভিত্তি করে একটি গতিশীল স্টপ-অফ-লস কৌশল ডিজাইন করুন, ইতিমধ্যে লাভজনকতা রক্ষা করুন এবং একক লেনদেনের ক্ষতি সীমাবদ্ধ করুন। এটি দীর্ঘ-চক্রের সিসিআই প্রতিক্রিয়া বিলম্বিত হওয়ার কারণে প্রচুর লাভের প্রত্যাহার এড়াতে পারে।
সময়সীমা অপ্টিমাইজেশানবিভিন্ন ট্রেডিং সময়ের জন্য কৌশলগত প্যারামিটার বা ট্রেডিং লজিক সামঞ্জস্য করুন (যেমন খোলা, বন্ধ) বিভিন্ন সময়ের বাজারের বৈশিষ্ট্যের সাথে খাপ খাইয়ে নিতে। বাজারগুলি বিভিন্ন সময়ে বিভিন্ন ধরণের ওঠানামা এবং প্রবণতার বৈশিষ্ট্য প্রদর্শন করে, লক্ষ্যবস্তু অপ্টিমাইজেশন কৌশল স্থিতিশীলতা বাড়িয়ে তুলতে পারে।
প্রত্যাহার নিয়ন্ত্রণ বাড়ানো: সর্বাধিক প্রত্যাহার নিয়ন্ত্রণ ব্যবস্থা ডিজাইন করুন, কৌশলটি খারাপ পারফরম্যান্সের সময় স্বয়ংক্রিয়ভাবে পজিশন হ্রাস করে বা ট্রেডিং স্থগিত করে, যাতে ক্রমাগত ক্ষতির হাত থেকে রক্ষা করা যায়। এই ব্যবস্থাটি কৌশলটিকে প্রতিকূল বাজার পরিস্থিতিতে স্ব-সুরক্ষা করতে সহায়তা করে।
দ্বি-চক্রের সিসিআই গতিশীলতা ট্রেন্ড ট্র্যাকিং ট্রেডিং কৌশলটি একটি উচ্চ-কার্যকারিতা ট্রেন্ড ট্র্যাকিং সিস্টেম যা সিসিআই সূচকগুলির উপর ভিত্তি করে, দীর্ঘ এবং স্বল্প-চক্রের সিসিআইয়ের সমন্বয়মূলক কার্যকারিতা দ্বারা, বাজারের প্রবণতার দিক সনাক্ত করার সময়, সেরা প্রবেশের সময়টি ক্যাপচার করে। কৌশলটি সংক্ষিপ্ত এবং কার্যকরভাবে ডিজাইন করা হয়েছে, বিশেষত স্পষ্ট প্রবণতা বাজারের জন্য উপযুক্ত। যদিও নির্দিষ্ট প্যারামিটার সংবেদনশীলতা এবং একক সূচক নির্ভরতার ঝুঁকি রয়েছে, তবে প্রস্তাবিত অপ্টিমাইজেশনের দিকনির্দেশের মাধ্যমে, মাল্টি-প্যারামিটার সমন্বয়, স্ব-অনুকূলিতকরণ প্যারামিটার এবং উন্নত তহবিল পরিচালনার ব্যবস্থা অন্তর্ভুক্ত, কৌশলটির স্থায়িত্ব এবং অভিযোজনকে উল্লেখযোগ্যভাবে বাড়িয়ে তুলতে পারে। ট্রেন্ড ট্রেডিংয়ের জন্য একটি পরিমাণগত বিনিয়োগকারীদের জন্য, এই কৌশলটি একটি আদর্শ সূচনা পয়ে সরবরাহ করে, যা প্রবণতার চাহিদা এবং বাজারের বৈশিষ্ট্যগুলির উপর ভিত্তি করে আরও
/*backtest
start: 2024-07-03 00:00:00
end: 2025-07-01 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
// @version=6
// @description= Trend-following trading strategy based on the Commodity Channel Index (CCI) and price action confirmation.
// The strategy focuses on identifying momentum-driven trends with entry and exit conditions.
// @author: withoutbug
strategy("Momentum CCI Trend Following Strategy",
overlay=false,
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
commission_type=strategy.commission.percent,
commission_value=0.075,
margin_long=0,
margin_short=0)
// Input parameters
cciLongPeriod = input.int(50, "Long CCI Period", minval=1)
cciShortPeriod = input.int(5, "Short CCI Period", minval=1)
twoWayTrading = input(false, "Enable Short Order Book")
// Calculate CCI
cciLong = ta.cci(hlc3, cciLongPeriod)
cciShort = ta.cci(hlc3, cciShortPeriod)
cciLongCrossUnderZero = ta.crossunder(cciLong, 0)
cciShortCrossOverZero = ta.crossover(cciShort, 0)
cciLongCrossOverZero = ta.crossover(cciLong, 0)
cciShortCrossUnderZero = ta.crossunder(cciShort, 0)
// Track CCI Long > 0 state and first crossover
var bool inPositiveCciLongCycle = false
var bool firstCrossoverOccurred = false
var bool firstCrossunderOccurred = false
// Update CCI Long cycle state
firstCrossoverOccurred := false
firstCrossunderOccurred := false
// Buy conditions
buySignal = strategy.position_size==0 and cciLong > 0 and cciLong[1] > 0 and cciShortCrossOverZero and firstCrossoverOccurred == false
if buySignal
firstCrossoverOccurred := true
// Exit conditions
exitLong = strategy.position_size>0 and cciLongCrossUnderZero
// Sell conditions
sellSignal = strategy.position_size==0 and cciLong < 0 and cciLong[1] < 0 and cciShortCrossUnderZero and firstCrossunderOccurred == false
if sellSignal
firstCrossunderOccurred := true
// Exit conditions
exitShort = strategy.position_size<0 and cciLongCrossOverZero
// Strategy logic
if (buySignal)
strategy.entry("Long", strategy.long)
if (exitLong)
strategy.close("Long", comment="CCI Exit Long")
if (sellSignal and twoWayTrading)
strategy.entry("Short", strategy.short)
if (exitShort and twoWayTrading)
strategy.close("Short", comment="CCI Exit Short")
// Plot CCI indicators on the panel
plot(cciLong, title="Long CCI", color = cciLong>=0 ? color.green:color.red, linewidth=2, style = plot.style_area)
plot(cciShort, title="Short CCI", color=color.yellow, linewidth=1)
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_solid)
// Plot buy and sell signals on the panel
plotshape(buySignal, title="Buy Signal", location=location.bottom, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(exitLong, title="exitLong", location=location.top, color=color.red, style=shape.triangledown, size=size.tiny)
plotshape(sellSignal, display = twoWayTrading?display.pane:display.none, title="Sell Signal", location=location.top, color=color.red, style=shape.triangledown, size=size.tiny)
plotshape(exitShort, display = twoWayTrading?display.pane:display.none, title="exitShort", location=location.bottom, color=color.green, style=shape.triangleup, size=size.tiny)