
এই কৌশলটি ইচিমোকু ক্লাউড গ্রাফিকাল সূচকের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং সিস্টেম ডিজাইন করেছে, যা মূলত ভাল প্রবণতাযুক্ত সম্পদের জন্য। এই কৌশলটি স্থিতিশীল মুনাফা অর্জনের লক্ষ্যে স্টপ লস, স্টপ লস এবং স্টপ লস ট্র্যাকিংয়ের মতো বৈশিষ্ট্যগুলিকে সংযুক্ত করেছে।
Ichimoku ক্লাউড চার্টটি রূপান্তর লাইন, বেঞ্চলাইন, প্রাক্তন লাইন 1, প্রাক্তন লাইন 2 এবং ক্লাউড চার্ট দ্বারা গঠিত। এই কৌশলটির লেনদেনের সংকেতগুলি দাম এবং ক্লাউড চার্টের সম্পর্কের থেকে আসে। বিশেষত, যখন দামটি প্রাক্তন লাইন 1 অতিক্রম করে তখন একটি কেনার সংকেত উত্পন্ন হয়; যখন দামটি প্রাক্তন লাইন 1 অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এছাড়াও, প্রাক্তন লাইন 2 একটি সহায়ক বিচার সূচক হিসাবে কাজ করে।
এই কৌশলটি এটিআর সূচকগুলির উপর ভিত্তি করে স্টপ লস এবং স্টপ আউটও সেট করে। এটিআর সূচকগুলি কার্যকরভাবে বাজারের অস্থিরতা ক্যাপচার করতে পারে। এটিআর 2 গুণ এবং এটিআর 4 গুণ স্টপ আউট। এটি কার্যকরভাবে একক ক্ষতি নিয়ন্ত্রণ করতে এবং লাভের কিছু অংশ লক করতে পারে।
অবশেষে, এই কৌশলটি একটি ট্র্যাকিং স্টপ মেশিন ব্যবহার করে। বিশেষত, এটির জন্য, এটিআর এর দ্বিগুণটি প্রত্যাহারের জন্য, মুনাফা লক করার জন্য রিয়েল-টাইমে স্টপ লাইনটি সামঞ্জস্য করে। এটির জন্য, এটিআর এর দ্বিগুণটি প্রত্যাহারের জন্য, রিয়েল-টাইমে স্টপ লাইনটি মুনাফা লক করার জন্য সামঞ্জস্য করে।
ঝুঁকি মোকাবেলার উপায়ঃ
এই কৌশলটি সামগ্রিকভাবে একটি স্থিতিশীল প্রবণতা ট্র্যাকিং কৌশল। Ichimoku ক্লাউড গ্রাফিক সূচকগুলির উপর ভিত্তি করে প্রবণতার দিকনির্দেশনা; এটিআর সূচকগুলি ব্যবহার করে স্টপ লস সেট করুন; ট্র্যাকিং স্টপ লস লকিং মুনাফা। সুবিধাগুলি হল লজিক সংক্ষিপ্ত, সহজেই বোঝা যায়; একক ক্ষতি নিয়ন্ত্রণ করা যায়; কার্যকরভাবে প্রবণতা অনুসরণ করা যায়। তবে কিছু প্যারামিটার সেট এবং সংবেদনশীল স্টপ লঙ্ঘনের ঝুঁকি রয়েছে। প্যারামিটার এবং কৌশল নিজেই ক্রমাগত অপ্টিমাইজ করে আরও ভাল পারফরম্যান্স অর্জন করা যায়।
/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud Strategy with SL, TP, and Trailing Stop", overlay=true)
conversionPeriods = input(9, "Conversion Line Length")
basePeriods = input(26, "Base Line Length")
laggingSpan2Periods = input(52, "Leading Span B Length")
displacement = input(26, "Lagging Span")
atrLength = input(14, title="ATR Length")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
// Plot the Ichimoku Cloud components
plot(conversionLine, color=color.blue, title="Conversion Line")
plot(baseLine, color=color.red, title="Base Line")
plot(leadLine1, color=color.green, title="Leading Span A")
plot(leadLine2, color=color.orange, title="Leading Span B")
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, color=color.green, title="Kumo Cloud Upper Line")
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, color=color.red, title="Kumo Cloud Lower Line")
// ATR for stop loss and take profit
atrValue = ta.atr(atrLength)
stopLoss = atrValue * 2
takeProfit = atrValue * 4
// Strategy entry and exit conditions
longCondition = ta.crossover(close, leadLine1) and close > leadLine2
shortCondition = ta.crossunder(close, leadLine1) and close < leadLine2
// Plot buy and sell signals
plotshape(series=longCondition ? leadLine1 : na, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition ? leadLine1 : na, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Execute strategy orders with stop loss and take profit
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.close("Buy", when=shortCondition) // Close buy position when sell condition is met
strategy.entry("Sell", strategy.short, when=shortCondition)
strategy.close("Sell", when=longCondition) // Close sell position when buy condition is met
// Trailing stop
strategy.cancel("Trailing Stop")
var float trailingStopPrice = na
if (longCondition)
trailingStopPrice := math.max(trailingStopPrice, close - atrValue * 2)
strategy.exit("Trailing Stop", from_entry="Buy", trail_offset=atrValue * 2, trail_price=trailingStopPrice)
else if (shortCondition)
trailingStopPrice := math.min(trailingStopPrice, close + atrValue * 2)
strategy.exit("Trailing Stop", from_entry="Sell", trail_offset=atrValue * 2, trail_price=trailingStopPrice)