ডিএমআই এবং এইচএমএ সংমিশ্রণ কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-01-04 17:23:06
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি ডাইরেকশনাল মুভমেন্ট ইনডেক্স (ডিএমআই) এবং হুল মুভিং এভারেজ (এইচএমএ) একত্রিত করে ডিএমআই দিয়ে বাজারের দিকনির্দেশনা নির্ধারণ করে এবং ঝুঁকি ব্যবস্থাপনা ছাড়াই এইচএমএ দিয়ে প্রবণতার শক্তি নিশ্চিত করে।

কৌশলগত যুক্তি

  1. প্রকৃত পরিসীমা, ডিআইপিএল, ডিআইএমআইএনএস এবং এডিএক্স গণনা করুন।

  2. দ্রুত এবং ধীর গতির হিসাব করুন।

  3. DIPlus যখন DIMinus অতিক্রম করে এবং দ্রুত HMA যখন ধীর HMA অতিক্রম করে তখন দীর্ঘ এন্ট্রি ট্রিগার করুন।

  4. যখন DIMinus DIPlus এর নিচে এবং দ্রুত HMA ধীর HMA এর নিচে অতিক্রম করে তখন শর্ট এন্ট্রি ট্রিগার করুন।

  5. এন্ট্রি সিগন্যালে লং/শর্ট অর্ডার দিন।

সুবিধা বিশ্লেষণ

ট্রেন্ড ইন্ডিকেটর DMI এবং Hull MA এর দ্বৈত নিশ্চিতকরণ বাজারের প্রবণতা ক্যাপচার সঠিকতা নিশ্চিত করে এবং whipsaws এড়ানো। ঝুঁকি ব্যবস্থাপনা অনুপস্থিতি ট্রেডিং ফ্রিকোয়েন্সি হ্রাস এবং দীর্ঘমেয়াদে সামগ্রিক লাভজনকতা নেতৃত্ব দেয়।

ঝুঁকি বিশ্লেষণ

মূল ঝুঁকি হ'ল স্টপ লস না থাকা, বিপুল বাজারের ওঠানামা হওয়ার সময় ক্ষতি নিয়ন্ত্রণে ব্যর্থ হওয়া। এছাড়াও সীমিত টিউনিং স্পেস এবং দুর্বল অভিযোজনযোগ্যতা হ'ল ত্রুটি।

সম্ভাব্য সমাধানগুলির মধ্যে রয়েছে চলমান স্টপ লস যোগ করা, প্যারামিটার মিশ্রণটি অনুকূল করা ইত্যাদি।

অপ্টিমাইজেশান নির্দেশাবলী

  1. সত্যিকারের পরিসরের উপর ভিত্তি করে এটিআর ট্রেলিং স্টপ লস যোগ করুন।

  2. সর্বোত্তম মিশ্রণ খুঁজে বের করার জন্য Hull সময়কাল অপ্টিমাইজ করুন.

  3. দীর্ঘ/সংক্ষিপ্ত সংকেতের জন্য গতিশীল প্রান্তিক সীমা।

  4. প্রবণতা ধারাবাহিকতা নিশ্চিত করতে গতি ফিল্টার যোগ করুন।

সংক্ষিপ্তসার

ডিএমআই এবং এইচএমএ সংমিশ্রণটি সরলতা এবং দক্ষতার সাথে প্রবণতা সনাক্তকরণে অসামান্যভাবে সম্পাদন করে। সঠিক স্টপ লস এবং পরামিতি টিউনিং সহ, এটি একটি দুর্দান্ত প্রবণতা অনুসরণকারী সিস্টেম হয়ে উঠতে পারে।


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Tuned_Official
//@version=4
strategy(title="DMI + HMA - No Risk Management", overlay = false, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.025)

//Inputs
hullLen1 = input(title="Hull 1 length", type=input.integer, defval=29)
hullLen2 = input(title="Hull 2 length", type=input.integer, defval=2)
len = input(title="Length for DI", type=input.integer, defval=76)

//Calculations
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0

SmoothedTrueRange = 0.0
SmoothedTrueRange := nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
SmoothedDirectionalMovementPlus = 0.0
SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = 0.0
SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus

//Indicators
fasthull = hma(close, hullLen1)
slowhull = hma(close, hullLen2)
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, len)

//Plots
plot(DIPlus, color=color.green, title="DI+")
plot(DIMinus, color=color.red, title="DI-")
plot(ADX, color=color.black, title="ADX")

//conditions
go_long = crossover(DIPlus, DIMinus) and fasthull > slowhull //crossover(fasthull, slowhull) and DIPlus > DIMinus
go_short = crossover(DIMinus, DIPlus) and fasthull < slowhull //crossunder(fasthull, slowhull) and DIMinus > DIPlus

//Entry
if strategy.position_size < 0 or strategy.position_size == 0
    strategy.order("long", strategy.long, when=go_long)

if strategy.position_size > 0 or strategy.position_size == 0
    strategy.order("Short", strategy.short, when=go_short)

আরো