দ্বিগুণ চলমান গড় কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি দ্বৈত চলমান গড় ব্যবহার করে, বিশেষত 8-পরিয়ড এবং 21-পরিয়ডের। এটি দীর্ঘ সংকেত তৈরি করে যখন স্বল্পতম এমএ দীর্ঘতমের উপরে অতিক্রম করে এবং সংক্ষিপ্ত সংকেত তৈরি করে যখন স্বল্পতম এমএ দীর্ঘতমের নীচে অতিক্রম করে।

এই কৌশলটি চলমান গড় রেখার ঢালকেও অন্তর্ভুক্ত করে যা কিছু প্রবণতাহীন সময়কালকে ফিল্টার করে এবং যখন প্রবণতা আরও স্পষ্ট হয় তখনই সংকেত দেয়।

নীতিমালা

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

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

বিশেষ করে, ট্রেডিং সিগন্যাল তৈরির যুক্তি হলঃ

  1. ৮ পেরিড এবং ২১ পেরিডের সহজ চলমান গড় গণনা করুন
  2. দুই মধ্যে ক্রসওভার সংকেত সনাক্ত
  3. arctangent ফাংশন atan ব্যবহার করে 21 সময়ের চলমান গড় রেখার ঢাল গণনা করুন
  4. শুধুমাত্র দীর্ঘ সংকেত উৎপন্ন যখন ঢাল একটি পূর্বনির্ধারিত ইতিবাচক থ্রেশহোল্ড অতিক্রম
  5. কেবলমাত্র শর্ট সিগন্যাল তৈরি করুন যখন ঢাল একটি পূর্বনির্ধারিত নেতিবাচক থ্রেশহোল্ডের নিচে পড়ে

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

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

  1. কৌশল ধারণাটি সহজ এবং বোঝা/প্রয়োগ করা সহজ
  2. ঢাল সূচক অন্তর্ভুক্তি অ-প্রবণতা সময়কাল ফিল্টার করতে সাহায্য করে এবং সংকেত মান উন্নত
  3. দ্বৈত চলমান গড় ব্যবহার উভয় তাদের শক্তি খেলতে পারবেন, robustness উন্নত
  4. বিভিন্ন ট্রেডিং যন্ত্রের জন্য পরামিতিগুলি সামঞ্জস্য করা যেতে পারে
  5. সহজ প্রোগ্রাম বাস্তবায়ন আরও অপ্টিমাইজেশান সহজতর

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

এই কৌশলের সাথে কিছু ঝুঁকিও রয়েছেঃ

  1. বিপুল বাজারের ওঠানামা চলাকালীন আরও মিথ্যা সংকেত দেখা দিতে পারে
  2. ক্রসওভার নিজেই কিছু মিথ্যা সংকেত উত্পাদন করে
  3. কিছু ডিগ্রী বিলম্ব আছে, তাত্ক্ষণিকভাবে ট্রেন্ড বিপরীত ক্যাপচার করতে অক্ষম

এই ঝুঁকিগুলির উপর ভিত্তি করে অপ্টিমাইজ করার কিছু উপায়ঃ

  1. বাজারের বৈশিষ্ট্য অনুসারে এমএ পরামিতিগুলি সামঞ্জস্য করুন
  2. স্থিতিশীলতা উন্নত করার জন্য ঢালের প্রান্তিককরণ অনুকূলিত করুন
  3. একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস মেকানিজম যোগ করুন
  4. সংকেত ফিল্টার করার জন্য অন্যান্য সূচক অন্তর্ভুক্ত করুন
  5. স্থিতিশীলতা উন্নত করতে অভিযোজিত পরামিতি সেটিং ব্যবহার করুন

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

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

  1. ভোল্টেবিলিটির ভিত্তিতে পরামিতিগুলি সামঞ্জস্য করার জন্য অভিযোজিত এমএ ব্যবহার করুন
  2. সংহতকরণের সময় ত্রুটি এড়াতে ভলিউম বিশ্লেষণ অন্তর্ভুক্ত করুন
  3. গুণমান এবং সময়োপযোগীতা বাড়াতে ভোলাটিলিটি ইনডেক্স যুক্ত করুন
  4. স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশনের জন্য মেশিন লার্নিং যোগ করুন
  5. আরও জটিল অ-রৈখিক নিদর্শন আবিষ্কারের জন্য গভীর শেখার সুবিধা নিন

সিদ্ধান্ত

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


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//written by sixpathssenin
//@version=4
strategy(title="Dual Moving Average",initial_capital=10000,overlay=true)

ma1= sma(close,8)
ma2= sma(close,21)

angleCriteria = input(title="Angle", type=input.integer, defval=7, minval=1, maxval=13)

i_lookback   = input(2,     "Angle Period", input.integer, minval = 1)
i_atrPeriod  = input(10,    "ATR Period",   input.integer, minval = 1)
i_angleLevel = input(6,     "Angle Level",  input.integer, minval = 1)
i_maSource   = input(close, "MA Source",    input.source)

f_angle(_src, _lookback, _atrPeriod) =>
    rad2degree = 180 / 3.141592653589793238462643  //pi 
    ang = rad2degree * atan((_src[0] - _src[_lookback]) / atr(_atrPeriod)/_lookback)
    ang
_angle = f_angle(ma2, i_lookback, i_atrPeriod)

plot(ma1,color=#FF0000)
plot(ma2,color=#00FF00)

crosso=crossover(ma1,ma2) 
crossu=crossunder(ma1,ma2)

_lookback = 15

f_somethingHappened(_cond, _lookback) =>
    bool _crossed = false
    for i = 1 to _lookback
        if _cond[i]
            _crossed := true
    _crossed
    
longcrossed = f_somethingHappened(crosso,_lookback)
shortcrossed = f_somethingHappened(crossu,_lookback)

long = longcrossed and _angle > angleCriteria
short= shortcrossed and _angle < -(angleCriteria)


if(long)
    strategy.entry("Long",strategy.long)
if(short)
    strategy.entry("short",strategy.short)
    


আরো