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

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

img

সারসংক্ষেপ

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

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

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

বিভিন্ন এসএমএ সময়ের পরামিতিগুলি সেট করে, কৌশল পরামিতিগুলি বিভিন্ন বাজারের পরিবেশে অভিযোজিত করার জন্য কিছু পরিমাণে সামঞ্জস্য করা যেতে পারে। একই সময়ে, কৌশলটি ঐতিহাসিক ডেটাতে কৌশল পরামিতিগুলি পরীক্ষা করার জন্য ব্যাকটেস্টিং সময়সীমা সেট করার অনুমতি দেয়।

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

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

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

  • এসএমএ নিজেই একটি বিলম্বিত প্রভাব আছে এবং স্বল্পমেয়াদী সুযোগ মিস করতে পারে
  • প্রবণতার গতি নির্ধারণ করা অসম্ভব, সংকেত উত্পাদন কার্যকারিতা অস্থির হতে পারে
  • ভুল এসএমএ সময়ের পরামিতি সেটিংস মিথ্যা সংকেত বৃদ্ধি করবে

উপরের ঝুঁকিগুলি মোকাবেলা করার জন্য, নিম্নলিখিত ব্যবস্থা গ্রহণ করা যেতে পারেঃ

  • সংবেদনশীলতা উন্নত করার জন্য যথাযথভাবে এসএমএ চক্রটি সংক্ষিপ্ত করুন
  • প্রবণতা গতি নির্ধারণের জন্য অন্যান্য সূচক অন্তর্ভুক্ত করুন
  • প্যারামিটার অপ্টিমাইজেশান সরঞ্জাম ব্যবহার করে সর্বোত্তম পরামিতি সমন্বয় খুঁজুন

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

  • একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস কৌশল যোগ করুন
  • পজিশন ম্যানেজমেন্ট মেকানিজম যোগ করুন
  • অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে একত্রিত করুন
  • গতিশীল পরামিতি অপ্টিমাইজেশান অর্জন করতে মেশিন লার্নিং অ্যালগরিদম যোগ করুন

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

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


/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-18 19:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//strategy(title="MA Cross Entry & Exit w/Date Range", overlay=true, initial_capital=10000, currency='USD')

strategy(title="SMA Cross Entry & Exit Strategy", overlay=true)

// Credit goes to this developer for the "Date Range Code"
// https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/


// === GENERAL INPUTS ===
// short ma
maFastSource   = input(defval = open, title = "Fast MA Source")
maFastLength   = input(defval = 36, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource   = input(defval = open , title = "Slow MA Source")
maSlowLength   = input(defval = 46, title = "Slow MA Period", minval = 1)

// === SERIES SETUP ===
// a couple of ma's..
maFast = sma(maFastSource, maFastLength)
maSlow = sma(maSlowSource, maSlowLength)


// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

// === LOGIC ===
//enterLong = crossover(maFast, maSlow)
//exitLong = crossover(maSlow, maFast)
enterLong = crossover(maSlow, maFast)
exitLong = crossover(maFast, maSlow)


// Entry //
strategy.entry(id="Long Entry", long=true, when=window() and enterLong)
strategy.entry(id="Short Entry", long=false, when=window() and exitLong)

// === FILL ====

fill(fast, slow, color = maFast > maSlow ? green : red)

আরো