স্বল্প ও দীর্ঘমেয়াদী চলমান গড় ক্রসওভারের উপর ভিত্তি করে এমএ ক্রসওভার ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০২-২২ 15:36:49
ট্যাগঃ

img

সারসংক্ষেপ

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

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

এই কৌশলটির মূল যুক্তি স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী চলমান গড়ের মধ্যে ক্রসওভারের উপর ভিত্তি করে ট্রেডিং সিগন্যাল হিসাবে। বিশেষত, কৌশলটি 34-পরিসরের এবং 89-পরিসরের স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী সহজ চলমান গড় (এসএমএ) সংজ্ঞায়িত করে। এটি কেবল সকালের অধিবেশনের সময় (08: 00 - 10: 00) এই দুটি এসএমএর মধ্যে ক্রসওভারগুলি পর্যবেক্ষণ করে। যখন স্বল্পমেয়াদী এসএমএ নীচে থেকে দীর্ঘমেয়াদী এসএমএ এর উপরে অতিক্রম করে, তখন বাজারটি একটি ঊর্ধ্বমুখী প্রবণতা হিসাবে বিবেচিত হয়, যার ফলে একটি ক্রয় সংকেত উত্পন্ন হয়। যখন স্বল্পমেয়াদী এসএমএ উপরে থেকে দীর্ঘমেয়াদী এসএমএ এর নীচে অতিক্রম করে, তখন বাজারটি হ্রাসের প্রবণতা হিসাবে বিবেচিত হয়, যার ফলে একটি বিক্রয় সংকেত উত্পন্ন হয়।

ক্রয় বা বিক্রয় সংকেত পাওয়ার পরে, কৌশলটি একটি অবস্থানে প্রবেশ করবে এবং অবস্থান থেকে বেরিয়ে আসার শর্ত নির্ধারণ করবে, যা প্রবেশের পর থেকে নির্দিষ্ট সংখ্যক মোমবাতি (ডিফল্ট 3 মোমবাতি) ধরে রাখার পরে লাভ নেবে। এটি আংশিক লাভের লকিংয়ের অনুমতি দেয় এবং আরও ক্ষতি এড়ায়।

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

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

এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:

  1. সহজ এবং সার্বজনীন চলমান গড় ক্রসওভার নিয়ম ব্যবহার করে, সহজেই বোঝা যায়, নতুনদের জন্য উপযুক্ত

  2. শুধুমাত্র সকালের সেশনের সময় চিহ্নিতকারী সংকেত যেখানে মানের সংকেত প্রচুর পরিমাণে থাকে যা অন্যান্য সময়সীমার সময় মিথ্যা সংকেতগুলি ফিল্টার করে

  3. স্টপ লস শর্তাবলী যা সময়মত স্টপ লস, আংশিক মুনাফা লক এবং ক্ষতি ঝুঁকি হ্রাস করতে পারবেন

  4. অনেক কাস্টমাইজযোগ্য পরামিতি যা বাজারের অবস্থার উপর ভিত্তি করে এবং ব্যক্তিগত ট্রেডিং শৈলী অনুযায়ী সামঞ্জস্য করা যেতে পারে

  5. আরও জটিল কৌশল ডিজাইন করার জন্য অন্যান্য সূচকগুলির সাথে একত্রিত করার জন্য সহজেই প্রসারিত

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

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

  1. মুভিং গড়গুলি নিজেই বৃহত্তর বিলম্বের বৈশিষ্ট্য রয়েছে, স্বল্পমেয়াদী মূল্য বিপরীত পয়েন্টগুলি মিস করতে পারে

  2. কেবলমাত্র সাধারণ সূচকগুলির উপর নির্ভর করে, নির্দিষ্ট বাজারের পরিবেশে ব্যর্থতার ঝুঁকিতে (প্রবণতা শক, পরিসীমা সীমাবদ্ধ ইত্যাদি)

  3. ভুল স্টপ লস পজিশনিং অপ্রয়োজনীয় ক্ষতি হতে পারে

  4. অনুপযুক্ত পরামিতি সেটিং (চলমান গড় সময়কাল, হোল্ডিং সময়কাল ইত্যাদি) কৌশল কর্মক্ষমতা প্রভাবিত করতে পারে

সংশ্লিষ্ট সমাধানঃ

  1. স্বল্পমেয়াদী পরিবর্তনের জন্য সংবেদনশীলতা বাড়ানোর জন্য অন্যান্য নেতৃস্থানীয় সূচক অন্তর্ভুক্ত করুন

  2. শক এবং পরিসীমা-সীমাবদ্ধ বাজারের সময় মিথ্যা সংকেত দ্বারা প্রভাবিত হওয়া এড়াতে ফিল্টারিং শর্ত যুক্ত করুন

  3. স্টপ লস লজিক অপ্টিমাইজ করুন এবং বাজারের অস্থিরতার উপর ভিত্তি করে স্টপ লস পরিসীমা গতিশীলভাবে সামঞ্জস্য করুন

  4. সর্বোত্তম পরামিতি সেটিংস খুঁজে পেতে মাল্টি-প্যারামিটার অপ্টিমাইজেশন

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

এই কৌশলটি মূলত নিম্নলিখিত দিকগুলির জন্য অপ্টিমাইজেশনের জন্য একটি বড় সম্ভাবনা রয়েছেঃ

  1. শক এবং পরিসীমা-সীমাবদ্ধ বাজারের সময় মিথ্যা সংকেত এড়াতে অন্যান্য ফিল্টারিং শর্ত যুক্ত করুন

  2. শক্তিশালী ব্রেকআউট সংকেত সনাক্ত করতে গতির সূচক অন্তর্ভুক্ত করুন

  3. সেরা প্যারামিটার সমন্বয় খুঁজে পেতে চলন্ত গড় সময়ের পরামিতি অপ্টিমাইজ করুন

  4. বাজারের অস্থিরতার উপর ভিত্তি করে স্টপ লস পরিসীমা স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করুন

  5. মেশিন লার্নিং কৌশলগুলির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে পুরো কৌশলটি অপ্টিমাইজ করার চেষ্টা করুন

  6. আরও জটিল মাল্টি-স্ট্র্যাটেজি সিস্টেম ডিজাইন করার জন্য অন্যান্য কৌশলগুলির সাথে একত্রিত করার চেষ্টা করা

সিদ্ধান্ত

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("34 89 SMA Crossover Strategy", overlay=true)

// Define the length for the SMAs
short_length = input(34, title="Short SMA Length")
long_length = input(89, title="Long SMA Length")
exit_candles = input(3, title="Exit after how many candles?")
exit_at_open = input(true, title="Exit at Open?")

// Define morning session
morning_session = input("0800-1000", "Morning Session")

// Calculate SMAs
short_sma = ta.sma(close, short_length)
long_sma = ta.sma(close, long_length)

// Function to check if current time is within specified session
in_session(session) =>
    session_start = na(time(timeframe.period, "0800-1000")) ? na : true
    session_start

// Condition for buy signal (short SMA crosses over long SMA) within specified trading hours
buy_signal = ta.crossover(short_sma, long_sma)

// Condition for sell signal (short SMA crosses under long SMA) within specified trading hours
sell_signal = ta.crossunder(short_sma, long_sma)

// Function to exit the trade after specified number of candles
var int trade_entry_bar = na
var int trade_exit_bar = na
if (buy_signal or sell_signal)
    trade_entry_bar := bar_index
if (not na(trade_entry_bar))
    trade_exit_bar := trade_entry_bar + exit_candles

// Exit condition
exit_condition = (not na(trade_exit_bar) and (exit_at_open ? bar_index + 1 >= trade_exit_bar : bar_index >= trade_exit_bar))

// Execute trades
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)
if (exit_condition)
    strategy.close("Buy")
    strategy.close("Sell")

// Plot SMAs on the chart
plot(short_sma, color=color.blue, linewidth=1)
plot(long_sma, color=color.red, linewidth=1)


আরো