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


সৃষ্টির তারিখ: 2023-10-24 16:55:38 অবশেষে সংশোধন করুন: 2023-10-24 16:55:38
অনুলিপি: 0 ক্লিকের সংখ্যা: 679
1
ফোকাস
1621
অনুসারী

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

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত হুল মুভিং এভারেজ এবং টি 3 মুভিং এভারেজের উপর ভিত্তি করে তৈরি করা হয়েছে।

Hull Moving Average (HMA) একটি ওজনের চলমান গড়ের পুনরাবৃত্তিমূলক গণনা পদ্ধতির মাধ্যমে কার্যকরভাবে বাজারের শব্দকে পরিমাপ করে এবং মূল্যের প্রবণতার মসৃণ কার্ভ প্রদর্শন করে। এটি সরল চলমান গড় এবং সূচকীয় চলমান গড়ের চেয়ে দামের পরিবর্তনের জন্য আরও সংবেদনশীল, এবং এটি কার্যকরভাবে মিথ্যা ব্রেকিংকে বাধা দেয়।

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")