
গতিশীল গড় নির্দেশক সূচক চলমান গড় ক্রস কৌশলটি দুটি শক্তিশালী প্রযুক্তিগত সূচক, ম্যানিপুলেশন মুভিং এভারেজ (এমএ) এবং গড় দিকনির্দেশক সূচক (এডিএক্স) একত্রিত করে ব্যবসায়ীদের আরও সুনির্দিষ্ট প্রযুক্তিগত বিশ্লেষণ সরবরাহ করে। এই কৌশলটি বিশেষত গতিশীল বাজার বিশ্লেষণের জন্য ডিজাইন করা হয়েছে এবং একটি পরিষ্কার ট্রেডিং সংকেত সরবরাহ করে।
এই কৌশলটি ওজনযুক্ত চলমান গড় ((ডাব্লুএমএ) গণনা করে মূল্যের গতিশীলতা ট্র্যাক করে, মূল্যের ওঠানামাকে মসৃণ করে, একটি প্রবণতা সংকেত উত্পন্ন করে। একই সাথে, গড় দিকনির্দেশক সূচক ((এডিএক্স) এবং ধনাত্মক নেতিবাচক গতিশীলতা সূচক ((+/- ডিআই) গণনা করে, প্রবণতার উপস্থিতি এবং শক্তি বিচার করে। যখন এডিএক্স নির্দিষ্ট প্যারামিটারের চেয়ে বেশি থাকে, তখন এটি একটি প্রবণতা বলে মনে করা হয়; যখন ধনাত্মক গতিশীলতা সূচকটি নেতিবাচক গতিশীলতার সূচকের চেয়ে বেশি থাকে, তখন এটি একটি মন্দ সংকেত।
কৌশলটি MA এবং ADX সূচকগুলির ক্রসকে ট্রেডিং সিদ্ধান্তের ভিত্তি হিসাবে ব্যবহার করে। ADX যখন থ্রেশহোল্ডের উপরে থাকে এবং DIdiff ((DI+ - DI-) 0 এর চেয়ে বড় হয়, তখন লোভনীয় হয়; ADX যখন থ্রেশহোল্ডের উপরে থাকে এবং DIdiff 0 এর চেয়ে ছোট হয়, তখন প্লেইন হয়।
এই কৌশলটি চলমান গড় এবং এডিএক্স সূচকের সুবিধাগুলিকে একত্রিত করে যাতে ট্রেন্ডের উপস্থিতি এবং দিকটি কার্যকরভাবে সনাক্ত করা যায় এবং ভুল সংকেত হ্রাস করা যায়। একক সূচকের তুলনায় এই সমন্বয় সূচকটি আরও নির্ভরযোগ্য ট্রেডিং সংকেত সরবরাহ করে।
এছাড়াও, এই কৌশলটি সম্পূর্ণরূপে প্যারামিটার ভিত্তিক একটি পরিমাণগত কৌশল, ভাল রিটার্ন, স্থির ডিস্কের স্থিতিশীল পারফরম্যান্স, এবং অ্যালগরিদমিক ট্রেডিংয়ের জন্য উপযুক্ত।
এই কৌশলটি বাজারের ব্যাপক অস্থিরতার সময় ট্রেডিংয়ের ঝুঁকি তৈরি করতে পারে। যখন দামের তীব্র ওঠানামা হয় এবং সূচকটি প্রতিক্রিয়াহীন থাকে, তখন অ্যাকাউন্টের ক্ষতি হয়। তদতিরিক্ত, সূচক প্যারামিটারগুলি ভুলভাবে সেট করা কৌশলটির কার্যকারিতা প্রভাবিত করতে পারে।
স্টপ লস দ্বারা একক ক্ষতি নিয়ন্ত্রণ করা যেতে পারে। একই সাথে প্যারামিটারগুলি অপ্টিমাইজ করা যায় এবং অন্যান্য সূচক ফিল্টারিংয়ের সাথে মিলিত হয় যাতে ত্রুটিযুক্ত সংকেতগুলি হ্রাস করা যায়।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
অন্যান্য সূচক ফিল্টারিং, যেমন বুলিন ব্যান্ড, আরএসআই ইত্যাদি সংকেত মান উন্নত
চলমান গড় এবং ADX সূচকের দৈর্ঘ্য প্যারামিটারগুলিকে অপ্টিমাইজ করুন, প্যারামিটারগুলির সর্বোত্তম সংমিশ্রণটি সন্ধান করুন
একক ক্ষতি নিয়ন্ত্রণে ক্ষতিরোধ ব্যবস্থা বৃদ্ধি
বিভিন্ন পজিশনের সময় পরীক্ষা করে সেরা পজিশনের সময়কাল খুঁজুন
গতিশীল গড় নির্দেশক সূচকটি একটি নির্ভরযোগ্য ট্রেন্ড ট্র্যাকিং কৌশল যা মূল্যের গতিশীলতা এবং প্রবণতা শক্তি গণনা করে কার্যকরভাবে বাজার প্রবণতা দিক সনাক্ত করতে পারে। এই কৌশলটি উচ্চতর অ্যালগরিদমিক, স্থিতিশীল, এবং ভালভাবে কাজ করে। অব্যাহত অপ্টিমাইজেশনের মাধ্যমে আরও ভাল কৌশল কার্যকারিতা আশা করা যায়।
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © Julien_Eche
//@version=5
strategy("MA ADX Strategy", overlay=true, default_qty_type=strategy.percent_of_equity)
start_date = input(timestamp("1975-01-01T00:00:00"), title="Start Date")
end_date = input(timestamp("2099-01-01T00:00:00"), title="End Date")
// Indicator Inputs
group1 = "MA Parameters"
lengthMA = input.int(50, title="MA Length", minval=1, group=group1)
sourceMA = input(close, title="MA Source", group=group1)
group2 = "ADX Parameters"
diLength = input.int(14, title="DI Length", minval=1, group=group2)
adxSmoothing = input.int(14, title="ADX Smoothing", minval=1, maxval=50, group=group2)
adxMAActive = input.int(15, title="ADX MA Active", minval=1, group=group2)
// Directional Movement calculations
upwardMovement = ta.change(high)
downwardMovement = -ta.change(low)
trueRangeSmoothed = ta.rma(ta.atr(diLength), diLength)
positiveDM = fixnan(100 * ta.rma(upwardMovement > downwardMovement and upwardMovement > 0 ? upwardMovement : 0, diLength) / trueRangeSmoothed)
negativeDM = fixnan(100 * ta.rma(downwardMovement > upwardMovement and downwardMovement > 0 ? downwardMovement : 0, diLength) / trueRangeSmoothed)
dmSum = positiveDM + negativeDM
// Average Directional Index (ADX) calculation
averageDX = 100 * ta.rma(math.abs(positiveDM - negativeDM) / math.max(dmSum, 1), adxSmoothing)
// Line color determination
lineColor = averageDX > adxMAActive and positiveDM > negativeDM ? color.teal : averageDX > adxMAActive and positiveDM < negativeDM ? color.red : color.gray
// Moving Average (MA) calculation
maResult = ta.wma(sourceMA, lengthMA)
// Plotting the Moving Average with color
plot(maResult, color=lineColor, title="MA", linewidth=3)
// Strategy logic
if (averageDX > adxMAActive and positiveDM > negativeDM)
strategy.entry("Buy", strategy.long)
if (averageDX > adxMAActive and positiveDM < negativeDM)
strategy.close("Buy")