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

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

সারসংক্ষেপ

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

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

কৌশলটি নিম্নলিখিত উপাদানগুলির সমন্বয়ে গঠিতঃ

  1. শতাংশের আকারে মূল্যের দোলকের মান গণনা করুন। দোলকের মান হল মূল্যের শতাংশ বিয়োগ একটি মধ্যম মান। মধ্যম মান উদাহরণ 20 দিনের সর্বোচ্চ এবং সর্বনিম্ন মূল্যের গড় হিসাবে গণনা করা হয়।

  2. ২০ দিনের হুল চলমান গড়ের মতো দোলকের মানগুলির চলমান গড় গণনা করুন।

  3. চলমান গড়ের বিলম্বিত মান গণনা করুন, যেমন 12 দিনের বিলম্ব।

  4. নির্ধারণ করুন যে চলমান গড়টি পিছনের চলমান গড়ের উপরে বা নীচে অতিক্রম করে, গোল্ডেন ক্রস বা ডেথ ক্রস সংকেত তৈরি করে।

  5. কিনুন এবং বিক্রয় সংকেত ইস্যু করুন।

বিশেষ করে, কৌশলটি প্রথমে মূল্যের দোলকের মান গণনা করে, তারপরে দোলকের চলমান গড়, এবং তারপরে চলমান গড়ের বিলম্বিত মান।

যখন দোলকের চলমান গড় পিছিয়ে থাকা চলমান গড়ের উপরে অতিক্রম করে, তখন লং যাওয়ার জন্য একটি গোল্ডেন ক্রস সংকেত উত্পন্ন হয়। যখন দোলকের চলমান গড় পিছিয়ে থাকা চলমান গড়ের নীচে অতিক্রম করে, তখন শর্ট হওয়ার জন্য একটি ডেথ ক্রস সংকেত উত্পন্ন হয়।

ডাবল মুভিং মিডিয়ার ক্রসওভারের ভিত্তিতে ট্রেডিংয়ের দিক নির্ধারণ করা হয়।

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

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. দ্বৈত চলমান গড় ব্যবহার করে মিথ্যা সংকেত ফিল্টার করে এবং সংকেত নির্ভরযোগ্যতা উন্নত করে।

  2. দ্রুত এবং ধীর চলমান গড়ের সংমিশ্রণ মধ্যমেয়াদী প্রবণতা ক্যাপচার করে। দ্রুত এমএ মূল্য পরিবর্তনের প্রতি সংবেদনশীল যখন ধীর এমএ পিছনে গুণমান রয়েছে। উভয় সংমিশ্রণ স্বল্পমেয়াদী গোলমাল ফিল্টার করে যখন মধ্যমেয়াদী প্রবণতা বিপরীত ধরা।

  3. ওসিলেটরটি ব্রেকআউট পয়েন্টগুলিকে তুলে ধরে এবং আরও স্পষ্ট ট্রেডিং সংকেত তৈরি করে।

  4. কাস্টমাইজযোগ্য এমএ অ্যালগরিদম এবং পরামিতি বিভিন্ন বাজারের পরিবেশে উপযুক্ত।

  5. সহজ এবং পরিষ্কার কৌশল যুক্তি, সহজেই বুঝতে এবং বাস্তবায়ন, নতুনদের জন্য বন্ধুত্বপূর্ণ।

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

এই কৌশলের ঝুঁকিগুলির মধ্যে রয়েছেঃ

  1. ডুয়াল এমএ ক্রসওভারের সিগন্যালগুলি পিছিয়ে আছে, সম্ভাব্যভাবে সেরা এন্ট্রি পয়েন্টগুলি মিস করে।

  2. ব্যাপ্তি সীমাবদ্ধ বাজারে ভুল সংকেত প্রবণ।

  3. ট্রেন্ডের শক্তি নির্ধারণ করতে না পারা, ষাঁড়ের বাজারের সময় তাড়াতাড়ি বেরিয়ে আসার ঝুঁকি।

  4. অনেকগুলি সামঞ্জস্যযোগ্য পরামিতি, সর্বোত্তম পরামিতি সংমিশ্রণের জন্য অপ্টিমাইজ করা কঠিন।

  5. স্টপ লস মেশিন নেই, একক ট্রেড ক্ষতি নিয়ন্ত্রণ করতে অক্ষম।

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

কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ

  1. মঞ্জুরি প্রকার এবং পরামিতি অপ্টিমাইজ করুন, বিভিন্ন বাজারে স্থিতিশীলতা পরীক্ষা করুন।

  2. ভুল সংকেত থেকে অপ্রয়োজনীয় লেনদেন এড়াতে ADX এর মতো প্রবণতা নির্ধারণকারী সূচক যুক্ত করুন।

  3. একক ট্রেড লস নিয়ন্ত্রণের জন্য ট্রেলিং স্টপ বা শতাংশ স্টপ মত স্টপ লস মেকানিজম যোগ করুন।

  4. সিগন্যালের গুণমান উন্নত করার জন্য ভলিউম, আরএসআই এর মতো অন্যান্য সূচক অন্তর্ভুক্ত করুন।

  5. আরও শক্তিশালী সেটিংসের জন্য স্বয়ংক্রিয়ভাবে প্যারামিটার অপ্টিমাইজ করার জন্য মেশিন লার্নিং ব্যবহার করুন।

  6. মিসড ট্রেড কমানোর জন্য প্রবেশের শর্ত কিছুটা শিথিল করার কথা বিবেচনা করুন।

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

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


/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 4h
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/
// © EvoCrypto

//@version=4
strategy("Distance Oscillator Strategy- evo", shorttitle="Distance Oscillator Strategy")

// INPUTS {
na_1                =   input(false,    title="────────────{ Oscillator }──────────────")

// Osc_Src             =   input(close,    title="Oscillator Source                                ")

Example_Length      =   input(20,       title="Example Length", minval=1)
Osc_Src             =   (highest(Example_Length) + lowest(Example_Length)) / 2

// Strategy can not let you choose a Moving Average to connect with like the study version, so I use the MA above as example

Osc_Format          =   input("Percent",title="Oscillator Format",              options=["Percent", "Currency"]) 

na_2                =   input(false,    title="─────────────{ Average }──────────────")
Average_Type        =   input("Hull",   title="Average Type",                   options=["Hull", "Sma", "Ema", "Wma"])
Length              =   input(50,       title="Average Length", minval=1)
Lagg                =   input(12,       title="Average Lagg",   minval=1)
Display_MA          =   input(true,     title="Display Average")
// }

// SETTINGS {
Osc_Sum             =   
 Osc_Format == "Percent"  ? (close - Osc_Src) / close * 100 :
 Osc_Format == "Currency" ? (close - Osc_Src)               : na

Osc_MA              =   Display_MA == false ? na:
 Average_Type == "Hull"? hma(Osc_Sum, Length)   :
 Average_Type == "Sma" ? sma(Osc_Sum, Length)   :
 Average_Type == "Ema" ? ema(Osc_Sum, Length)   :
 Average_Type == "Wma" ? wma(Osc_Sum, Length)   : na
Osc_MA_1            =   Osc_MA[Lagg]

Cross_Up            =   crossover( Osc_MA, Osc_MA_1)
Cross_Down          =   crossunder(Osc_MA, Osc_MA_1)

Osc_Color           =   Osc_Sum > 0         ? color.new(#bbdefb, 70)  : Osc_Sum < 0          ? color.new(#000000, 70)  : na
Average_Color       =   Osc_MA  > Osc_MA_1  ? color.new(#311b92, 100) : Osc_MA  < Osc_MA_1   ? color.new(#b71c1c, 100) : na
// }

// PLOT {
plot(Osc_Sum,                           title="Oscillator", color=Osc_Color, style=plot.style_histogram, linewidth=2)

Plot_0              =   plot(Osc_MA,    title="Osc Average",color=#b71c1c, linewidth=2)
Plot_1              =   plot(Osc_MA_1,  title="Osc Average",color=#311b92, linewidth=2)
fill(Plot_0, Plot_1,                    title="Average",    color=Average_Color)

plotshape(Cross_Up   ? Osc_MA_1 : na,   title="Cross Up",   color=#bbdefb, location=location.absolute, size=size.tiny, style=shape.circle)
plotshape(Cross_Down ? Osc_MA_1 : na,   title="Cross Down", color=#000000, location=location.absolute, size=size.tiny, style=shape.circle)
// }

// STRATEGY {
if (Cross_Up)
    strategy.entry("Long", strategy.long)
if (Cross_Down)
    strategy.entry("Short", strategy.short)
// }

আরো