
এই কৌশলটি একটি সংক্ষিপ্ত লাইন কম্পন ট্রেডিং কৌশল যা সংক্ষিপ্ত লাইন মূল্যের ওভারলিংয়ের সুযোগ ধরার জন্য মার্কেটের সংক্ষিপ্ত প্রবণতা এবং ওভারপাই ওভারসেলিং অবস্থা সনাক্ত করতে ইএমএ গড় এবং সিসিআই সূচকগুলির সাথে মিলিত হয়।
এই কৌশলটি মূলত 10 তম ইএমএ, 21 তম ইএমএ এবং 50 তম ইএমএ তিনটি গড় লাইন এবং সিসিআই সূচক ব্যবহার করে প্রবেশ এবং প্রস্থান সময় নির্ধারণ করে।
এই যুক্তিটি হলঃ যখন স্বল্পমেয়াদী গড় লাইন (১০ দিনের ইএমএ) মধ্যমেয়াদী গড় লাইন (২১ দিনের ইএমএ) অতিক্রম করে এবং স্বল্পমেয়াদী গড় লাইন দীর্ঘমেয়াদী গড় লাইন (৫০ দিনের ইএমএ) এর চেয়ে বেশি হয়, এবং সিসিআই সূচকটি ০ এর চেয়ে বড় হলে এটি একটি মাল্টি-হেড সংকেত হিসাবে বিবেচনা করা হয়, অতিরিক্ত কাজ করুন; যখন স্বল্পমেয়াদী গড় লাইন (১০ দিনের ইএমএ) মধ্যমেয়াদী গড় লাইন অতিক্রম করে এবং স্বল্পমেয়াদী গড় লাইন দীর্ঘমেয়াদী গড় লাইনের চেয়ে কম হয়, এবং সিসিআই সূচকটি ০ এর চেয়ে কম হলে এটি একটি ফাঁকা-হেড সংকেত হিসাবে বিবেচনা করা হয়।
সমতল অবস্থানের লজিক হল স্বল্পমেয়াদী গড় রেখা মধ্যমেয়াদী গড় রেখা অতিক্রম করলে সমতল অবস্থানে থাকা।
সমান্তরাল সিস্টেম এবং সিসিআই সূচকগুলির সাথে মিলিত, এটি স্বল্প-রেখার দামের ওঠানামা এবং ওভার-বিক্রয় ওভার-বিক্রয় অবস্থার প্রবণতা দিকটি কার্যকরভাবে সনাক্ত করতে পারে।
এন্ট্রি এবং বিদ্যমানের বিচার করার জন্য সমান্তরাল জাল এবং ডেডফোর্ক ব্যবহার করুন, সহজ এবং ব্যবহারিক।
CCI সূচকের প্যারামিটার এবং পিরিয়ড সেটিং যুক্তিসঙ্গত, যা কিছু ভুয়া সংকেত মুছে ফেলতে পারে।
মাল্টি টাইম সাইকেল গড়রেখা ব্যবহার করে, আপনি ঝড়ের মধ্যে ভাল অপারেটিং সুযোগ পেতে পারেন।
সংক্ষিপ্ত লাইন অপারেশন উচ্চ ওঠানামা, ক্রমাগত স্টপ ক্ষতি হতে পারে।
CCI সূচক প্যারামিটার ভুলভাবে সেট করা হলে ভুয়া সংকেত বাড়তে পারে।
এই কৌশলটি বেশ কয়েকবার ক্ষুদ্র ক্ষয়ক্ষতির সম্মুখীন হতে পারে যখন একটি ঝড়ের সময় এটি পুনরুদ্ধার করা হয়।
শুধুমাত্র যারা প্রায়শই সংক্ষিপ্ত লাইনে কাজ করেন তাদের জন্য উপযুক্ত, দীর্ঘ লাইনের জন্য নয়।
সংশ্লিষ্ট ঝুঁকি মোকাবেলার ব্যবস্থাগুলির মধ্যে রয়েছেঃ সিসিআই প্যারামিটারগুলি অপ্টিমাইজ করা, স্টপ লস অবস্থানগুলি সামঞ্জস্য করা, ফিল্টার শর্তগুলি যুক্ত করা ইত্যাদি।
বিভিন্ন দৈর্ঘ্যের EMA গড়রেখার সমন্বয় পরীক্ষা করা যায়, প্যারামিটারগুলি অপ্টিমাইজ করা যায়।
কিছু মিথ্যা সংকেত ফিল্টার করতে অন্যান্য সূচক বা ফিল্টার শর্ত যুক্ত করা যেতে পারে। যেমন MACD, KDJ ইত্যাদি।
একক লোকসান নিয়ন্ত্রণ করতে গতিশীল ট্র্যাকিং স্টপ লস ব্যবহার করা যেতে পারে।
বিপরীতমুখী অপারেশন এড়াতে উচ্চতর সময়কালের প্রবণতা সূচকগুলিকে একত্রিত করা যেতে পারে।
সামগ্রিকভাবে, এই কৌশলটি একটি সাধারণ শর্ট লাইন স্ট্রাইক কৌশল, যা মূল্যের স্বল্পমেয়াদী বিপর্যয়ের সুযোগ ধরার জন্য সমান্তরাল সূচকের গোল্ডেন ফোর্কস এবং সিসিআই সূচকের ওভার-বিক্রয় ওভার-বিক্রয় ব্যবহার করে। এই কৌশলটি শর্ট লাইনের ঘন ঘন ব্যবসায়ের জন্য উপযুক্ত, তবে কিছু স্টপ লস চাপ সহ্য করার প্রয়োজন। প্যারামিটার অপ্টিমাইজেশন এবং ফিল্টার শর্তাদি যুক্ত করে কৌশলটির স্থায়িত্ব এবং লাভজনকতা আরও বাড়ানো যেতে পারে।
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//study(title="Strat CCI EMA scalping", shorttitle="EMA-CCI-strat", overlay=true)
strategy("Strat CCI EMA scalping", shorttitle="EMA-CCI-strat", overlay=true)
exponential = input(true, title="Exponential MA")
// the risk management inputs
inpTakeProfit = input(defval = 1000, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 200, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
// === RISK MANAGEMENT VALUE PREP ===
// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na
src = close
ma10 = exponential ? ema(src, 10) : sma(src, 10)
ma21 = exponential ? ema(src, 21) : sma(src, 21)
ma50 = exponential ? ema(src, 50) : sma(src, 50)
xCCI = cci(close, 200)
//buy_cond = cross(ma21, ma50) and ma10 > ma21 and (xCCI > 0)
//sell_cond = cross(ma21, ma50) and ma10 < ma21 and (xCCI < 0)
buy_cond = ma10 > ma21 and ma10 > ma50 and xCCI > 0
sell_cond = ma10 < ma21 and ma10 < ma50 and xCCI < 0
// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => buy_cond
exitLong() => ma10 < ma21
strategy.entry(id = "Long", long = true, when = enterLong()) // use function or simple condition to decide when to get in
strategy.close(id = "Long", when = exitLong()) // ...and when to get out
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() => sell_cond
exitShort() => ma10 > ma21
strategy.entry(id = "Short", long = false, when = enterShort())
strategy.close(id = "Short", when = exitShort())
// === STRATEGY RISK MANAGEMENT EXECUTION ===
// finally, make use of all the earlier values we got prepped
//strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//longCondition = buy_cond
//if(longCondition)
// strategy.entry("Long", strategy.long)
// strategy.exit("Close Long", "Long", when = exitLong())
//shortCondition = sell_cond
//if(shortCondition)
// strategy.entry("Short", strategy.short)
// strategy.exit("Close Short", "Short", when = exitShort())
//plotshape(buy_cond, style=shape.flag, color=green, size=size.normal)
//plotshape(sell_cond, style=shape.flag, color=red, size=size.normal)
c1 = buy_cond==1 ? lime : sell_cond==1 ? red : #a3a3a3 // color
plot( ma10, color=red, style=line, title="10", linewidth=1)
plot( ma21, color=orange, style=line, title="21", linewidth=1)
plot( ma50, color=c1, style=line, title="50", linewidth=3)
//alertcondition(buy_cond, title = "Buy Condition", message = "Buy Condition Alert")
//alertcondition(sell_cond, title = "Sell Condition", message = "Sell Condition Alert")