
এই কৌশলটি ট্রেন্ড ফলোয়ার কৌশল, যা ট্রেন্ড ফলোয়ার শ্রেণীর অন্তর্ভুক্ত, যা ডং-ইন-চ্যানেল সূচকের উপর ভিত্তি করে এবং এটিআর সূচকের গতিশীল স্টপ লস দ্বারা মুনাফা লক করে।
এই কৌশলটি 20 টি চক্রের দৈর্ঘ্যের একটি ডং-ইয়ান চ্যানেল সূচক ব্যবহার করে, চ্যানেলের মধ্যবর্তী লাইনটি সর্বোচ্চ মূল্য এবং সর্বনিম্ন মূল্যের গড়। যখন দাম চ্যানেলের মধ্যবর্তী লাইনটি অতিক্রম করে তখন এটি বেশি হয় এবং যখন দাম চ্যানেলের মধ্যবর্তী লাইনটি অতিক্রম করে তখন এটি খালি হয়। প্লেইন শর্তটি হল দামটি গতিশীল স্টপ লিনের সাথে যোগাযোগ করে। স্টপ লিনের গণনাটি হল সর্বশেষ 3 কে লাইনের সর্বনিম্ন মূল্যের ATR সূচকের মান থেকে এক তৃতীয়াংশ কমিয়ে একটি অতিরিক্ত স্টপ হিসাবে, সর্বশেষ 3 কে লাইনের সর্বোচ্চ মূল্যের ATR সূচকের মানের এক তৃতীয়াংশের সাথে একটি খালি স্টপ হিসাবে।
এই কৌশলটির প্রধান সুবিধাগুলো হলঃ
এই কৌশলটি নিম্নলিখিত ঝুঁকির সাথে জড়িতঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
এই কৌশলটি সামগ্রিকভাবে একটি সহজ ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল, যা ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করে এবং গতিশীল স্টপ লস ব্যবহার করে মুনাফা লক করতে পারে। কৌশলটি কার্যকরভাবে প্রবণতা ক্যাপচারিং অনুসরণ করতে পারে। কৌশলটি শক্তিশালী, তবে আরও অনেক উপায়ে আরও অপ্টিমাইজ করা যেতে পারে, যাতে কৌশলটি আরও জটিল বাজার পরিবেশে স্থিতিশীল উপার্জন বজায় রাখতে পারে।
/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "dc", overlay = true)
atrLength = input(title="ATR Length:", defval=20, minval=1)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testEndYear,testEndMonth,testEndDay,0,0)
testPeriod() =>
true
//time >= testPeriodStart ? true : false
dcPeriod = input(20, "Period")
dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2
atrValue=atr(atrLength)
useTakeProfit = na
useStopLoss = na
useTrailStop = na
useTrailOffset = na
//@version=1
Buy_stop = lowest(low[1],3) - atr(20)[1] / 3
plot(Buy_stop, color=red, title="buy_stoploss")
Sell_stop = highest(high[1],3) + atr(20)[1] / 3
plot(Sell_stop, color=green, title="sell_stoploss")
plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)
plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")
strategy.entry("simpleBuy", strategy.long, when=(close > dcAverage) and cross(close,dcAverage))
strategy.close("simpleBuy",when= ( close< Buy_stop))
strategy.entry("simpleSell", strategy.short,when=(close < dcAverage) and cross(close,dcAverage) )
strategy.close("simpleSell",when=( close > Sell_stop))
//strategy.exit("Exit simpleBuy", from_entry = "simpleBuy", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//strategy.exit("Exit simpleSell", from_entry = "simpleSell", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)