রিসোর্স লোড হচ্ছে... লোডিং...

OBV এবং MA ক্রস সিগন্যালের উপর ভিত্তি করে ট্রেন্ড ট্র্যাকিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-04-29 13:48:58
ট্যাগঃওবিভিএমএএসএমএ

基于OBV与MA交叉信号的趋势跟踪策略

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

এই কৌশলটি OBVVious MA Strategy নামে পরিচিত। এটি OBV এবং MA ক্রস সিগন্যালের উপর ভিত্তি করে একটি প্রবণতা ট্র্যাকিং কৌশল যা OBV (On Balance Volume) সূচক এবং চলমান গড়ের ক্রস ব্যবহার করে ট্রেডিং সিগন্যাল তৈরি করে। OBV একটি নেতৃস্থানীয় প্রবণতা সংকেত সরবরাহ করতে পারে। এই কৌশলটি OBV কে চলমান গড়ের বিচ্ছিন্নতাকে প্রবেশ এবং প্রস্থান শর্ত হিসাবে ব্যবহার করে ট্রেন্ডগুলি ক্যাপচার করতে পারে। একই সাথে স্বাধীন প্রবেশ এবং প্রস্থান MA ব্যবহার করে আরও নমনীয়ভাবে হোল্ডিং সময় নিয়ন্ত্রণ করা যায়। এই কৌশলটি যদিও একটি সহজ ডেমো, তবে কীভাবে OBV পরিমাণ বিশ্লেষণ কার্যকরভাবে ব্যবহার করা যায় তা প্রদর্শন করে।

কৌশলগত নীতি

  1. OBV সূচক মান গণনা করুনঃ যদি বর্তমান বন্ধের মূল্য পূর্ববর্তী K-লাইন থেকে বেশি হয়, তবে OBV বর্তমান লেনদেনের সাথে যোগ করা হয়, অন্যথায় লেনদেনের বিয়োগ করা হয়।
  2. OBV-এর গণনার জন্য চারটি চলমান গড় লাইন রয়েছেঃ দীর্ঘ-চক্রের মাল্টি-ইনপুট এমএ, দীর্ঘ-চক্রের মাল্টি-ইনপুট এমএ, স্বল্প-চক্রের খালি-ইনপুট এমএ এবং স্বল্প-চক্রের খালি-আউটপুট এমএ।
  3. ট্রেডিং সিগন্যাল তৈরি করেঃ
    • যখন OBV-তে দীর্ঘ চক্রের মাধ্যমে একাধিক ইনপুট এমএ করা হয় এবং দিকনির্দেশক ফিল্টারটি খালি না হয়, তখন অতিরিক্ত শোষণ করা হয়
    • যখন OBV দীর্ঘ চক্রের অধীনে MA-তে বেশি অংশগ্রহণ করে, তখন প্লেন-অল-হোল্ডিং
    • যখন OBV একটি স্বল্প-চক্রযুক্ত খালি ইনপুট MA ব্যবহার করে এবং দিকনির্দেশক ফিল্টারটি খুব বেশি কাজ করে না, তখন খালি ভাণ্ডারটি খুলুন
    • যখন OBVs স্বল্প-চক্রের জন্য খালি হয়, তখন খালি মেশিনগুলি খালি থাকে
  4. ট্রেড ম্যানেজমেন্টঃ যদি বিপরীত সংকেত পাওয়া যায়, তাহলে নতুন পজিশন খোলার আগে পূর্ববর্তী পজিশনের সমতুল্য করা হবে।

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

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

কৌশলগত ঝুঁকি

  1. অন্যান্য নিশ্চিতকরণ সূচকগুলির অভাব একটি মিথ্যা সংকেত হতে পারে।
  2. স্টপ লস এবং পজিশন ম্যানেজমেন্টের অভাব, একক ক্ষতির ঝুঁকি বাড়ানোর ঝুঁকি; যুক্তিসঙ্গত স্টপ লস এবং তহবিল পরিচালনার ব্যবস্থা যোগ করা যেতে পারে।
  3. অনুপযুক্ত প্যারামিটার নির্বাচন কৌশলগত পারফরম্যান্সকে প্রভাবিত করে। বিভিন্ন বাজারের বৈশিষ্ট্য এবং চক্রের উপর ভিত্তি করে প্যারামিটার অপ্টিমাইজেশান প্রয়োজন।

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

  1. প্রবণতা ফিল্টার, যেমন এমএ দিকনির্দেশ, এটিআর ইত্যাদি প্রবর্তন করার চেষ্টা করা যেতে পারে যাতে সংকেতের গুণমান উন্নত হয়।
  2. বিভিন্ন গতির প্রবণতা ক্যাপচার করতে OBV-তে বিভিন্ন ধরনের MA, যেমন EMA, WMA ইত্যাদি ব্যবহার করা যেতে পারে।
  3. পজিশন ম্যানেজমেন্টকে অপ্টিমাইজ করা যায়, যেমন পজিশনিং এবং হ্রাস পজিশনিং কৌশল গ্রহণ করা, যখন প্রবণতা তীব্রতা বৃদ্ধি পায় তখন পজিশনিং বাড়ানো এবং যখন হ্রাস পায় তখন পজিশনিং হ্রাস করা।
  4. অন্যান্য পরিমাণগত মূল্যের সূচক যেমন এমভিএ, পিভিটি ইত্যাদির সাথে মিলিত হয়ে একটি যৌথ সংকেত তৈরি করা যেতে পারে যাতে জয়ের সম্ভাবনা বৃদ্ধি পায়।

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

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


/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
basePeriod: 1h
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/
// © ThousandX_Trader

//@version=5
strategy(title="OBVious MA Strategy [1000X]", overlay=false, 
         initial_capital=10000, margin_long=0.1, margin_short=0.1,
         default_qty_type=strategy.percent_of_equity, default_qty_value=100,
         slippage=1, commission_type=strategy.commission.percent, commission_value=0.1)

// Direction Input ///
tradeDirection = input.string("long", title="Direction", options=["long", "short"], group = "Direction Filter")

    ///////////////////////////////////////
   //  1000X OBV MA INDICATOR           //
  ///////////////////////////////////////

// OBV Trend Length Inputs //
long_entry_length = input(190, title="Long Entry MA Length", group = "Moving Average Settings")
long_exit_length = input(202, title="Long Exit MA Length", group = "Moving Average Settings")
short_entry_length = input(395, title="Short MA Entry Length", group = "Moving Average Settings")
short_exit_length = input(300, title="Short Exit MA Length", group = "Moving Average Settings")

// OBV Calculation
obv = ta.cum(ta.change(close) >= 0 ? volume : -volume)

// Calculate OBV Moving Averages
obv_ma_long_entry = ta.sma(obv, long_entry_length)
obv_ma_long_exit = ta.sma(obv, long_exit_length)
obv_ma_short_entry = ta.sma(obv, short_entry_length)
obv_ma_short_exit = ta.sma(obv, short_exit_length)

   ///////////////////////////////////////
  //         STRATEGY RULES            //
 ///////////////////////////////////////

longCondition = ta.crossover(obv, obv_ma_long_entry) and tradeDirection != "short" and strategy.position_size <= 0
longExitCondition = ta.crossunder(obv, obv_ma_long_exit)
shortCondition = ta.crossunder(obv, obv_ma_short_entry) and tradeDirection != "long" and strategy.position_size >= 0
shortExitCondition = ta.crossover(obv, obv_ma_short_exit)

  ///////////////////////////////////////
 //         ORDER EXECUTION           //
///////////////////////////////////////

// Close opposite trades before entering new ones
if (longCondition and strategy.position_size < 0)
    strategy.close("Short Entry")

if (shortCondition and strategy.position_size > 0)
    strategy.close("Long Entry")

// Enter new trades
if (longCondition)
    strategy.entry("Long Entry", strategy.long)

if (shortCondition)
    strategy.entry("Short Entry", strategy.short)

// Exit conditions
if (longExitCondition)
    strategy.close("Long Entry")

if (shortExitCondition)
    strategy.close("Short Entry")

  ///////////////////////////////////////
 //            PLOTTING               //
///////////////////////////////////////

// Plot OBV line with specified color
plot(obv, title="OBV", color=color.new(#2962FF, 0), linewidth=1)

// Conditionally plot Long MAs with specified colors based on Direction Filter
plot(tradeDirection == "long" ? obv_ma_long_entry : na, title="Long Entry MA", color=color.new(color.rgb(2, 130, 228), 0), linewidth=1)
plot(tradeDirection == "long" ? obv_ma_long_exit : na, title="Long Exit MA", color=color.new(color.rgb(106, 168, 209), 0), linewidth=1)

// Conditionally plot Short MAs with specified colors based on Direction Filter
plot(tradeDirection == "short" ? obv_ma_short_entry : na, title="Short Entry MA", color=color.new(color.rgb(163, 2, 227), 0), linewidth=1)
plot(tradeDirection == "short" ? obv_ma_short_exit : na, title="Short Exit MA", color=color.new(color.rgb(192, 119, 205), 0), linewidth=1)


সম্পর্কিত বিষয়বস্তু

আরও দেখুন