এই কৌশলটি ইচিমোকু ক্লাউড সূচকের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং সিস্টেম ডিজাইন করে, প্রধানত ভাল প্রবণতা সহ সম্পদগুলির জন্য। কৌশলটি স্থিতিশীল মুনাফা অর্জনের জন্য স্টপ লস, লাভ গ্রহণ এবং ট্রেলিং স্টপ লস এর মতো ফাংশনগুলিকে সংহত করে।
ইচিমোকু ক্লাউড রূপান্তর লাইন, বেস লাইন, লিডিং স্প্যান 1, লিডিং স্প্যান 2 এবং ক্লাউড চার্ট নিয়ে গঠিত। এই কৌশলটির ট্রেডিং সিগন্যালগুলি মূল্য এবং ক্লাউড চার্টের মধ্যে সম্পর্কের থেকে আসে। বিশেষত, যখন দাম লিডিং স্প্যান 1 এর উপরে অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন দাম লিডিং স্প্যান 1 এর নীচে অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এছাড়াও, লিডিং স্প্যান 2 একটি সহায়ক বিচার সূচক হিসাবেও কাজ করে।
এই কৌশলটি এটিআর সূচকের উপর ভিত্তি করে স্টপ লস এবং লাভ গ্রহণও সেট করে। এটিআর সূচক কার্যকরভাবে বাজারের ওঠানামা ডিগ্রি ক্যাপচার করতে পারে। স্টপ লসটি এটিআর এর 2 গুণ এবং লাভ গ্রহণটি এটিআর এর 4 গুণ সেট করা হয়। এটি কার্যকরভাবে একক ক্ষতি নিয়ন্ত্রণ করতে পারে এবং কিছু লাভ লক করতে পারে।
অবশেষে, কৌশলটি একটি ট্রেলিং স্টপ লস প্রক্রিয়া গ্রহণ করে। বিশেষত, লং পজিশনের জন্য, এটি মুনাফা লক করার জন্য রিয়েল টাইমে স্টপ লস লাইন সামঞ্জস্য করতে কলব্যাক প্রশস্ততা হিসাবে 2 গুণ ATR ব্যবহার করবে; শর্ট পজিশনের জন্য, এটি মুনাফা লক করার জন্য রিয়েল টাইমে স্টপ লস লাইন সামঞ্জস্য করতে কলব্যাক প্রশস্ততা হিসাবে 2 গুণ ATR ব্যবহার করবে।
সংশ্লিষ্ট ঝুঁকিগুলির সমাধানঃ
সাধারণভাবে, এই কৌশলটি একটি স্থিতিশীল প্রবণতা ট্র্যাকিং কৌশল। ইচিমোকু ক্লাউড সূচকের উপর ভিত্তি করে প্রবণতা দিক বিচার করুন; এটিআর সূচক ব্যবহার করে স্টপ লস সেট করুন এবং লাভ নিন; লাভ লক করতে ট্রেলিং স্টপ লস ব্যবহার করুন। সুবিধাগুলি সহজ যুক্তি, সহজেই বোঝা যায়; একক ক্ষতি নিয়ন্ত্রণ করা যায়; প্রবণতা কার্যকরভাবে ট্র্যাক করা যায়। তবে প্যারামিটার সংবেদনশীলতা এবং স্টপ লসের কিছু ঝুঁকিও রয়েছে। প্যারামিটার এবং কৌশলটি নিজেই ক্রমাগত অপ্টিমাইজ করার মাধ্যমে আরও ভাল পারফরম্যান্স অর্জন করা যায়।
/*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)