মাসিক সমাপনী মূল্য এবং চলমান গড় ক্রসওভার কৌশল


সৃষ্টির তারিখ: 2023-11-23 17:09:01 অবশেষে সংশোধন করুন: 2023-11-23 17:09:01
অনুলিপি: 0 ক্লিকের সংখ্যা: 572
1
ফোকাস
1621
অনুসারী

মাসিক সমাপনী মূল্য এবং চলমান গড় ক্রসওভার কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির মূল যুক্তি হলঃ

  1. চলমান গড়ের সময়কালের প্যারামিটার লিখুন, এসএমএ বা ইএমএ নির্বাচন করুন
  2. চলমান গড় প্রদর্শন করতে পারেন
  3. অন্য একটি শেয়ারের সমাপ্তি মূল্যকে সিগন্যাল হিসেবে বেছে নিতে পারেন
  4. ট্রেডিং সিগন্যালের মূল্যায়ন চাঁদের শেষের মূল্য এবং চলমান গড়ের মধ্যে সম্পর্ক
    • মুভিং এভারেজ, ক্লোজিং প্রাইসে বেশি কাজ করুন
    • মুভিং মিড লাইন অতিক্রম করে সমাপ্তি, সমান্তরাল

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

কৌশলগত সুবিধা

এই কৌশলটির প্রধান সুবিধাগুলি হলঃ

  1. চাঁদনি তথ্য ব্যবহার করে, মধ্য ও দীর্ঘমেয়াদী শেয়ার মূল্যের প্রবণতাকে কার্যকরভাবে ফিল্টার করা যায়
  2. কাস্টমাইজড মুভিং ইভ্যালি চক্র, বিভিন্ন স্টক মানিয়ে নিতে প্যারামিটার অপ্টিমাইজ করা
  3. স্থিতিশীলতা বাড়ানোর জন্য সিগন্যাল উত্স হিসাবে অন্য একটি স্টক নির্বাচন করা যেতে পারে
  4. উন্নত অ্যান্টি-রিপেইন্টিং প্রযুক্তি ব্যবহার করে কার্যকরভাবে ব্যাকগ্রাউন্ড প্রতিরোধ করা হয়েছে
  5. পরীক্ষার অপ্টিমাইজেশনের জন্য অবাধে পুনরাবৃত্তি সময়কাল ইনপুট করা যায়

সামগ্রিকভাবে, এই কৌশলগত কাঠামোটি সহজ এবং ব্যবহারিক, প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে বেশিরভাগ স্টকগুলিতে প্রযোজ্য, বিশেষত মাঝারি এবং দীর্ঘমেয়াদী বিনিয়োগকারীদের জন্য উপযুক্ত।

কৌশলগত ঝুঁকি

এই কৌশলটির কিছু ঝুঁকিও রয়েছে, যা নিম্নলিখিত দিকগুলিতে কেন্দ্রীভূতঃ

  1. মুনলাইন ডেটা আপডেট করা হচ্ছে ধীর গতিতে, যার ফলে রিয়েল টাইমে দামের পরিবর্তন দেখা যাচ্ছে না।
  2. কিছু ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়িক ব্যবসায়
  3. চলমান গড় রেখাটি বিলম্বিত হয় এবং সংকেত উৎপন্ন করার সময় নিয়ন্ত্রণ করা যায় না
  4. ভুলভাবে প্যারামিটার নির্বাচন করা হলে এটি অতিরিক্ত সংরক্ষণশীলতা বা সুযোগ হারাতে পারে

ঝুঁকি কমানোর জন্য, নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. প্রযুক্তিগত সূচকগুলিকে সংযুক্ত করে একটি নিম্ন সময়ের ফ্রেমের সাহায্যে বিচার করা
  2. চলমান গড়-রেখার চক্র সমন্বয় করে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করা
  3. একটি সংকেত উৎস হিসেবে আরো স্থিতিশীল চিহ্ন ব্যবহার করা
  4. একক ক্ষতি নিয়ন্ত্রণে পজিশনের আকার যথাযথভাবে সামঞ্জস্য করুন

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

এই কৌশলটি আরও অনেক উন্নতি করতে পারে, বিশেষ করে নিম্নলিখিত দিকগুলি থেকেঃ

  1. মুনাফা লকিং এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস কৌশল বাড়ানো
  2. ট্রেডিং সিগন্যালের সঠিকতা বাড়ানোর জন্য অন্যান্য সূচক যেমন কেডি, এমএসিডি ইত্যাদির সাথে মিলিত
  3. মেশিন লার্নিং প্রযুক্তি ব্যবহার করে গতিশীল অপ্টিমাইজেশান চলমান গড় লাইন প্যারামিটার
  4. পজিশন ম্যানেজমেন্ট মডিউল যোগ করা হয়েছে যাতে পজিশনগুলি ট্রেন্ডস-অ্যালোকেটরসাইজ পরিবর্তন করতে পারে
  5. বাজারের অবস্থার উপর নির্ভর করে নমনীয়ভাবে সামঞ্জস্য করার জন্য মাল্টি-বাতাস রূপান্তর বৈশিষ্ট্য যুক্ত করা হয়েছে
  6. joining এবং K লাইনগুলিকে কম সময়সীমার মধ্যে সংযুক্ত করা, যাতে আরও সংবেদনশীল লেনদেন করা যায়

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 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/
// © universique

//@version=4
strategy("Monthly MA Close ", shorttitle="MMAC", overlay=true, default_qty_type =  strategy.percent_of_equity, default_qty_value = 100)
//MAY 6 2020 18:00

// No repaint function 
// Function to securely and simply call `security()` so that it never repaints and never looks ahead.
f_secureSecurity(_symbol, _res, _src) => security(_symbol, _res, _src[1], lookahead = barmerge.lookahead_on)
//sec10 = f_secureSecurity(syminfo.tickerid, higherTf, data)

// ————— Converts current chart resolution into a float minutes value.
f_resInMinutes() => 
    _resInMinutes = timeframe.multiplier * (
      timeframe.isseconds ? 1. / 60             :
      timeframe.isminutes ? 1.                  :
      timeframe.isdaily   ? 60. * 24            :
      timeframe.isweekly  ? 60. * 24 * 7        :
      timeframe.ismonthly ? 60. * 24 * 30.4375  : na)
// ————— Returns the float minutes value of the string _res.
f_tfResInMinutes(_res) =>
    // _res: resolution of any TF (in "timeframe.period" string format).
    // Dependency: f_resInMinutes().
    security(syminfo.tickerid, _res, f_resInMinutes())

// —————————— Determine if current timeframe is smaller that higher timeframe selected in Inputs.
// Get higher timeframe in minutes.
//higherTfInMinutes = f_tfResInMinutes(higherTf)
// Get current timeframe in minutes.
currentTfInMinutes = f_resInMinutes()
// Compare current TF to higher TF to make sure it is smaller, otherwise our plots don't make sense.
//chartOnLowerTf = currentTfInMinutes < higherTfInMinutes

// Input
switch1=input(true, title="Show MA")
exponential = input(true, title="Exponential MA")
ticker = input(false, title="Other ticker MA")

tic_ma = input(title="Ticker MA", type=input.symbol, defval="BTC_USDT:swap")
res_ma = input(title="Time MA (W, D, [min])", type=input.string, defval="M")
len_ma = input(8, minval=1, title="Period MA")

ma_cus = exponential?f_secureSecurity(tic_ma, res_ma, ema(close,len_ma)) : f_secureSecurity(tic_ma, res_ma, sma(close,len_ma))
ma_long = exponential?f_secureSecurity(syminfo.tickerid, res_ma, ema(close,len_ma)) : f_secureSecurity(syminfo.tickerid, res_ma, sma(close,len_ma))

cl1 = f_secureSecurity(syminfo.tickerid, 'M', close)
cl2 = f_secureSecurity(tic_ma, 'M', close)

// Input Backtest Range
showDate  = input(defval = false, title = "Show Date Range", type = input.bool)
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 1995, title = "From Year",       type = input.integer, minval = 1850)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1850)

// Funcion Example
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

// Calculation
bullish_cross = ticker?cl2>ma_cus : cl1>ma_long
bearish_cross = ticker?cl2<ma_cus : cl1<ma_long

MAColor = bullish_cross ? color.green : bearish_cross ? color.red : color.orange

// Strategy
strategy.entry("long", strategy.long, when = window() and bullish_cross)
strategy.close("long", when = window() and bearish_cross)

// Output
plot(switch1?ma_long:na,color = MAColor,linewidth=4)

// Alerts
alertcondition(bullish_cross, title='Bullish', message='Bullish')
alertcondition(bearish_cross, title='Bearish', message='Bearish')