মাল্টিপল মুভিং এভারেজ কমপ্লেক্স স্ট্র্যাটেজি

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

img

সারসংক্ষেপ

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

নীতিমালা

এই কৌশলটির মূল বিষয় হল বিভিন্ন সময়কালে একাধিক চলমান গড় গণনা এবং ট্র্যাক করা, বিশেষত 10-দিন, 20-দিন, 30-দিন পর্যন্ত 100-দিন চলমান গড়। এই চলমান গড়গুলি গত 10, 20, 30 দিনের মধ্যে গড় বন্ধের মূল্য হিসাবে সেট করা হয় ইত্যাদি। উদাহরণস্বরূপ, 20-দিনের চলমান গড়টি গত 20 দিনের গড় বন্ধের মূল্য।

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

সুবিধা

  1. বিভিন্ন সময়সীমার মধ্যে অন্তর্দৃষ্টি প্রদান করে, বিভিন্ন বাজারের পরিবেশে অভিযোজিত

  2. একাধিক নিশ্চিতকরণের মাধ্যমে গোলমাল ফিল্টার করে, সংকেতগুলিকে আরও নির্ভরযোগ্য করে তোলে

  3. স্পষ্ট ট্রেডিং নিয়ম সহজেই বোঝা এবং বাস্তবায়ন করা

  4. ব্যক্তিগতকৃত প্রয়োজনীয়তা পূরণের জন্য অত্যন্ত কাস্টমাইজযোগ্য

  5. এন্ট্রি, স্টপ লস এবং লাভ গ্রহণের জন্য নির্দেশিকা প্রদান করে, ঝুঁকি ব্যবস্থাপনা সহজতর করে

ঝুঁকি এবং সমাধান

  1. একাধিক চলমান গড়গুলি রেঞ্জিং মার্কেটের সময় ক্রস হতে পারে, যা অস্পষ্ট সংকেতগুলির দিকে পরিচালিত করে। চলমান গড়ের সংখ্যা এবং দৈর্ঘ্য সামঞ্জস্য করে এটি হ্রাস করা যেতে পারে।

  2. ভবিষ্যতে মূল্যের একাধিক চলমান গড় ভাঙ্গার সম্ভাবনা কম, সম্ভাব্যভাবে কিছু ট্রেড মিস করা। চলমান গড়ের সংখ্যা কম ভাঙ্গনের অসুবিধা পর্যন্ত হ্রাস করা যেতে পারে।

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

  4. ধারাবাহিক আয়ের জন্য ট্রেডের সংখ্যা কম হতে পারে। চলমান গড় দৈর্ঘ্য সংক্ষিপ্তকরণ বা অন্যান্য কৌশল / সূচকগুলির সাথে একত্রিত করা সাহায্য করতে পারে।

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

  1. প্যারামিটার টিউনিংঃ সর্বোত্তম প্যারামিটার মিশ্রণ খুঁজে পেতে চলমান গড়ের সংখ্যা এবং দৈর্ঘ্য সামঞ্জস্য করুন। উদাহরণস্বরূপ, 5, 10 এবং 20 দিনের সংমিশ্রণ পরীক্ষা করা যেতে পারে।

  2. অন্যান্য সূচকগুলির সংমিশ্রণঃ এমএসিডি এবং আরএসআই এর মতো সূচক যুক্ত করা কৌশল স্থিতিস্থাপকতা উন্নত করতে পারে। বিভিন্ন সূচক পরিপূরকতা সরবরাহ করে।

  3. কৌশল সমন্বয়ঃ ব্রেকআউট সিস্টেম এবং ট্রেন্ড ট্র্যাকিংয়ের মতো অন্যান্য কৌশলগুলির সাথে একত্রে শক্তিশালীতা বাড়িয়ে তুলতে পারে। বিভিন্ন কৌশল ঝুঁকিগুলিকে বৈচিত্র্যময় করে।

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

সিদ্ধান্ত

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


/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multiple Moving Average Strategy", overlay=true)

// Function to calculate moving average
get_ma(src, length) =>
    ta.sma(src, length)

// Initialize moving average lengths
ma_length_10 = 10
ma_length_20 = 20
ma_length_30 = 30
ma_length_40 = 40
ma_length_50 = 50
ma_length_60 = 60
ma_length_70 = 70
ma_length_80 = 80
ma_length_90 = 90
ma_length_100 = 100

// Calculate 10-day, 20-day, 30-day, 40-day, 50-day, 60-day, 70-day, 80-day, 90-day, and 100-day moving averages
ma_10 = get_ma(close, ma_length_10)
ma_20 = get_ma(close, ma_length_20)
ma_30 = get_ma(close, ma_length_30)
ma_40 = get_ma(close, ma_length_40)
ma_50 = get_ma(close, ma_length_50)
ma_60 = get_ma(close, ma_length_60)
ma_70 = get_ma(close, ma_length_70)
ma_80 = get_ma(close, ma_length_80)
ma_90 = get_ma(close, ma_length_90)
ma_100 = get_ma(close, ma_length_100)

// Generate Buy/Sell signals for the 10 moving averages
buy_signal = close > ma_10
sell_signal = close < ma_10

// Add conditions for each additional moving average length
buy_signal := buy_signal and (close > get_ma(close, ma_length_20))
sell_signal := sell_signal and (close < get_ma(close, ma_length_20))

buy_signal := buy_signal and (close > get_ma(close, ma_length_30))
sell_signal := sell_signal and (close < get_ma(close, ma_length_30))

buy_signal := buy_signal and (close > get_ma(close, ma_length_40))
sell_signal := sell_signal and (close < get_ma(close, ma_length_40))

buy_signal := buy_signal and (close > get_ma(close, ma_length_50))
sell_signal := sell_signal and (close < get_ma(close, ma_length_50))

buy_signal := buy_signal and (close > get_ma(close, ma_length_60))
sell_signal := sell_signal and (close < get_ma(close, ma_length_60))

buy_signal := buy_signal and (close > get_ma(close, ma_length_70))
sell_signal := sell_signal and (close < get_ma(close, ma_length_70))

buy_signal := buy_signal and (close > get_ma(close, ma_length_80))
sell_signal := sell_signal and (close < get_ma(close, ma_length_80))

buy_signal := buy_signal and (close > get_ma(close, ma_length_90))
sell_signal := sell_signal and (close < get_ma(close, ma_length_90))

buy_signal := buy_signal and (close > get_ma(close, ma_length_100))
sell_signal := sell_signal and (close < get_ma(close, ma_length_100))

// Plot Buy/Sell signals on the chart
plotshape(buy_signal, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(sell_signal, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Execute long buy order when all ten moving averages give a Buy signal
if (buy_signal)
    strategy.entry("Buy", strategy.long)

// Execute sell order when all ten moving averages give a Sell signal
if (sell_signal)
    strategy.close("Buy")

// Execute short sell order when all ten moving averages give a Sell signal
if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Execute buy order when all ten moving averages give a Buy signal
if (buy_signal)
    strategy.close("Sell")

// Plot closing price and moving averages on the chart
plot(close, title="Close", color=color.blue)
plot(ma_10, title="MA 10", color=color.orange)
plot(ma_20, title="MA 20", color=color.purple)
plot(ma_30, title="MA 30", color=color.blue)
plot(ma_40, title="MA 40", color=color.red)
plot(ma_50, title="MA 50", color=color.green)
plot(ma_60, title="MA 60", color=color.yellow)
plot(ma_70, title="MA 70", color=color.fuchsia)
plot(ma_80, title="MA 80", color=color.gray)
plot(ma_90, title="MA 90", color=color.teal)
plot(ma_100, title="MA 100", color=color.maroon)


আরো