ডাবল মুভিং মিডিয়ার ক্রস মার্কেট ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১০-২৪ ১৬ঃ৫৫ঃ৩৮
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি একটি ক্রস-মার্কেট ট্রেডিং কৌশল ডিজাইন করার জন্য হাল্ল মুভিং এভারেজ এবং টি 3 মুভিং এভারেজের সুবিধাগুলি একত্রিত করে। এটি স্বল্পমেয়াদী ট্রেডিং এবং দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিং উভয়ের জন্য ব্যবহার করা যেতে পারে। মূল ট্রেডিং সিগন্যাল লাইন হিসাবে হাল্ল মুভিং এভারেজ এবং টি 3 মুভিং এভারেজের গড় মান গণনা করে, এটি দিকনির্দেশের পরিবর্তনের উপর ভিত্তি করে প্রবেশ এবং প্রস্থান পয়েন্টগুলি নির্ধারণ করে।

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

কৌশলটি মূলত হুল চলমান গড় এবং টি 3 চলমান গড়ের গণনার উপর ভিত্তি করে।

হুল চলমান গড় (এইচএমএ) একটি ওজনযুক্ত চলমান গড় পুনরাবৃত্তি গণনা পদ্ধতি ব্যবহার করে কার্যকরভাবে বাজারের গোলমাল ফিল্টার করে এবং একটি মসৃণ মূল্য প্রবণতা বক্ররেখা প্রদর্শন করে। এটি সহজ চলমান গড় এবং এক্সপোনশিয়াল চলমান গড়ের চেয়ে মূল্য পরিবর্তনের জন্য আরও সংবেদনশীল, একই সাথে মিথ্যা ব্রেকআউটগুলি কার্যকরভাবে দমন করে।

T3 চলমান গড়টি প্যারামিটারগুলি সামঞ্জস্য করে বিলম্ব হ্রাস করার সময় দামের পরিবর্তনে দ্রুত প্রতিক্রিয়া জানায়। একাধিক এক্সপোনেনশিয়াল মসৃণকরণ গণনার মাধ্যমে, এটি দামের পরিবর্তনে দ্রুত প্রতিক্রিয়া জানাতে পারে।

এই কৌশলটি মূল ট্রেডিং সূচক হিসাবে দুইটির গড় গ্রহণ করে। এটি এই গড় রেখার দিক অনুযায়ী প্রবেশের সময় নির্ধারণ করেঃ যদি বর্তমান সময়ের গড় পূর্ববর্তী সময়ের তুলনায় বেশি হয় তবে এটি একটি দীর্ঘ প্রবেশ সংকেত; যদি কম হয় তবে এটি একটি সংক্ষিপ্ত প্রবেশ সংকেত।

প্রস্থান নিয়মের জন্য, যদি মূল্য স্টপ লস বা লাভের পয়েন্টটি অতিক্রম করে, প্রস্থান করুন; চলমান গড়ের দিক পরিবর্তন হলেও প্রস্থান করুন।

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

এই কৌশলটি একটি বিস্তৃত সূচক তৈরি করতে হাল্ল চলমান গড় এবং টি 3 চলমান গড়ের সুবিধাগুলি একত্রিত করে। এরপরে, এই কৌশলটি চক্রের পরামিতি সামঞ্জস্য করে স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী উভয় ব্যবসায়ের জন্য উপযুক্ত। এছাড়াও, এটি লাভ এবং নিয়ন্ত্রণ ঝুঁকিতে লক করতে গতিশীল স্টপ লস এবং লাভ গ্রহণ করে।

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

কৌশলটি মূলত চলমান গড় সূচকের উপর নির্ভর করে, যা বিভিন্ন প্রবণতায় একাধিক মিথ্যা সংকেত তৈরি করতে পারে। উপরন্তু, চলমান গড়ের পিছনে থাকা সেরা প্রবেশের সময়টি মিস করতে পারে। স্টপ লস এবং লাভের পয়েন্টগুলি খুব আলগা বা খুব সংকীর্ণ হওয়া এড়াতে সাবধানে সেট করা দরকার। অবশেষে, পরামিতিগুলি বিভিন্ন মুদ্রা এবং সময়সীমার জন্য অপ্টিমাইজেশনের প্রয়োজন।

অপ্টিমাইজেশন

এমএ সংকেত যাচাই করতে এবং মিথ্যা সংকেতগুলি ফিল্টার করার জন্য অন্যান্য সূচক যুক্ত করার বিষয়টি বিবেচনা করুন। এমএ সংকেতটি অনুকূল করার জন্য বিভিন্ন এমএ সংমিশ্রণ এবং ওজন অ্যালগরিদম পরীক্ষা করুন। ঝুঁকিগুলি গতিশীলভাবে পরিচালনা করতে অভিযোজিত স্টপ লস এবং ট্রেলিং লাভ গ্রহণ যুক্ত করুন। সর্বোত্তম পরামিতি সেটগুলি খুঁজে পেতে বিভিন্ন মুদ্রা এবং সময়সীমার উপর ব্যাকটেস্টিং অপ্টিমাইজেশন পরিচালনা করুন।

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

এই কৌশলটি হুল চলমান গড় এবং টি 3 চলমান গড়ের শক্তিগুলিকে একত্রিত করে প্রবণতার দিক নির্ধারণের জন্য একটি বিস্তৃত সূচক গঠন করে। প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে কৌশলটি বিভিন্ন ট্রেডিং চক্রগুলিতে নমনীয়ভাবে প্রয়োগ করা যেতে পারে। কৌশলটির কিছু সুবিধা রয়েছে তবে বিলম্ব এবং মিথ্যা সংকেতের মতো সমস্যাও রয়েছে। অন্যান্য সূচক যুক্ত করে, প্যারামিটারগুলি অনুকূল করে এবং গতিশীল স্টপগুলি, এটি আরও ভাল ফলাফলের জন্য ক্রমাগত উন্নত করা যেতে পারে।


/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
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/
// © exlux99

//@version=4


strategy(title="Swing HULL + T3 avg", shorttitle="Swing HULL T3 AVG", overlay=true)

fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true



////////////////////////////GENERAL INPUTS//////////////////////////////////////

length_Ma= input(defval=50, title="Length MAs", minval=1)

//==========HMA
getHULLMA(src, len) =>
    hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)))
    hullma

//==========T3
getT3(src, len, vFactor) =>
    ema1 = ema(src, len)
    ema2 = ema(ema1,len)
    ema3 = ema(ema2,len)
    ema4 = ema(ema3,len)
    ema5 = ema(ema4,len)
    ema6 = ema(ema5,len)
    c1 = -1 * pow(vFactor,3)
    c2 = 3*pow(vFactor,2) + 3*pow(vFactor,3)
    c3 = -6*pow(vFactor,2) - 3*vFactor - 3*pow(vFactor,3)
    c4 = 1 + 3*vFactor + pow(vFactor,3) + 3*pow(vFactor,2)
    T3 = c1*ema6 + c2*ema5 + c3*ema4 + c4*ema3
    T3





hullma = getHULLMA(close,length_Ma)

t3 = getT3(close,length_Ma,0.7)


avg = (hullma+t3) /2


////////////////////////////PLOTTING////////////////////////////////////////////


colorado = avg > avg[1]? color.green : color.red

plot(avg , title="avg", color=colorado, linewidth = 4)

long=avg>avg[1]
short=avg<avg[1]

tplong=input(0.08, title="TP Long", step=0.01)
sllong=input(1.0, title="SL Long", step=0.01)

tpshort=input(0.03, title="TP Short", step=0.01)
slshort=input(0.06, title="SL Short", step=0.01)


if(time_cond)
    strategy.entry("long",1,when=long)
    strategy.exit("closelong", "long" , profit = close * tplong / syminfo.mintick, loss = close * sllong / syminfo.mintick, alert_message = "closelong")
    
    strategy.entry("short",0,when=short)
    strategy.exit("closeshort", "short" , profit = close * tpshort / syminfo.mintick, loss = close * slshort / syminfo.mintick, alert_message = "closeshort")


আরো