ডবল মুভিং এভারেজ ক্রসওভার কৌশলের উপর ভিত্তি করে


সৃষ্টির তারিখ: 2024-03-11 12:06:22 অবশেষে সংশোধন করুন: 2024-03-11 12:06:22
অনুলিপি: 0 ক্লিকের সংখ্যা: 646
1
ফোকাস
1617
অনুসারী

ডবল মুভিং এভারেজ ক্রসওভার কৌশলের উপর ভিত্তি করে

কৌশল ওভারভিউ

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

কৌশল নীতি

এই কৌশল কোডে দুটি চলমান গড় ব্যবহার করা হয়, একটি হল দ্রুত গড় ((ডিফল্ট 14 ইমেজ) এবং একটি হল ধীর গতির গড় ((ডিফল্ট 28 ইমেজ) । চলমান গড়ের ধরনগুলি সহজ চলমান গড় (এসএমএ), সূচকীয় চলমান গড় (ইএমএ), ওজনের চলমান গড় (ডাব্লুএমএ) এবং আপেক্ষিক চলমান গড় (আরএমএ) ।

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

  1. দ্রুত গড় এবং ধীর গড়ের মান গণনা করুন
  2. যদি আপনি একটি দ্রুত গড় লাইন উপর একটি ধীর গড় লাইন অতিক্রম করে, আপনি একটি আরো সংকেত উত্পন্ন, আরো পজিশন খোলার
  3. যদি দ্রুত গড়ের নীচে ধীর গড় লাইন অতিক্রম করে এবং খালি করার অনুমতি দেওয়া হয় (allowShorting=true), একটি খালি সংকেত উত্পন্ন হয় এবং খালি করা হয়
  4. যদি দ্রুত গড়ের নীচে ধীর গড় লাইন অতিক্রম করে এবং খালি করার অনুমতি না দেওয়া হয় (allowShorting=false), তাহলে মাল্টিহেড পজিশন সমতল করা হবে

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

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

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

কৌশলগত ঝুঁকি

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

এই ঝুঁকি মোকাবেলায় নিম্নলিখিত পদক্ষেপ নেওয়া যেতে পারেঃ

  1. বাজারের বৈশিষ্ট্য অনুযায়ী, সমান্তরাল চক্র প্যারামিটার অপ্টিমাইজ করুন, উপযুক্ত ধীরে ধীরে সমান্তরাল দৈর্ঘ্য নির্বাচন করুন
  2. অস্থির বাজারে, এটিআর ফিল্টারিং বা সমান্তরাল ক্রস-কোণ ফিল্টারিংয়ের মতো অতিরিক্ত ফিল্টারিংয়ের বিষয়টি বিবেচনা করা যেতে পারে
  3. স্টপ লস স্টপ সেট করুন এবং একক লেনদেনের ঝুঁকি নিয়ন্ত্রণ করুন
  4. পর্যায়ক্রমে পর্যালোচনা করে এবং বাজারের পরিবর্তনের সাথে সামঞ্জস্য রেখে কৌশলগত প্যারামিটারগুলি সংশোধন করে

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

  1. আরও প্রযুক্তিগত সূচক যেমন MACD, RSI ইত্যাদি প্রবর্তন করুন, মাল্টি ফ্যাক্টর কৌশল তৈরি করুন এবং সংকেতের নির্ভুলতা বাড়ান
  2. পজিশন ম্যানেজমেন্ট অপ্টিমাইজ করুন, যেমন ATR বা অস্থিরতার মতো বিষয়গুলি বিবেচনা করুন, পজিশন আকারের গতিশীল সমন্বয় করুন
  3. ঝড়ের সময় ট্রেডিং এড়াতে ট্রেন্ডিং সূচক যেমন ADX ব্যবহার করা যেতে পারে।
  4. মেশিন লার্নিং বা অপ্টিমাইজেশান অ্যালগরিদম ব্যবহার করে স্বয়ংক্রিয়ভাবে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজুন

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-02-09 00:00:00
end: 2024-03-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © z4011

//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"]) 

float fastMA = switch fastMAType
    "Simple" => ta.sma(close, fastMALength)
    "Exponential" => ta.ema(close, fastMALength)
    "Weighted" => ta.wma(close, fastMALength)
    "Relative" => ta.rma(close, fastMALength)

plot(fastMA, color = color.aqua, linewidth = 2)

float slowMA = switch slowMAType
    "Simple" => ta.sma(close, slowMALength)
    "Exponential" => ta.ema(close, slowMALength)
    "Weighted" => ta.wma(close, slowMALength)
    "Relative" => ta.rma(close, slowMALength)

plot(slowMA, color = color.blue, linewidth = 2)


longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
    strategy.entry("Short", strategy.short)

closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
    strategy.close("Long", "Close")