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

OBV এবং MA ক্রসওভার সিগন্যালের উপর ভিত্তি করে কৌশল অনুসরণ করে প্রবণতা

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

img

সারসংক্ষেপ

OBVious MA Strategy: Trend Following Strategy Based on OBV and MA Crossover Signals নামক এই কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য অন ব্যালেন্স ভলিউম (OBV) সূচক এবং চলমান গড়ের মধ্যে ক্রসওভার ব্যবহার করে। OBV শীর্ষস্থানীয় প্রবণতা সংকেত সরবরাহ করতে পারে এবং এই কৌশলটি প্রবণতা ক্যাপচার করার জন্য প্রবেশ এবং প্রস্থান শর্ত হিসাবে চলমান গড়ের উপরে বা নীচে OBV ব্রেকআউট ব্যবহার করে। পৃথক প্রবেশ এবং প্রস্থান এমএ ব্যবহার করে, এটি হোল্ডিং সময়ের উপর আরও নমনীয় নিয়ন্ত্রণের অনুমতি দেয়। যদিও এই কৌশলটি একটি সহজ প্রদর্শন, এটি ভলিউম বিশ্লেষণের জন্য OBV কার্যকরভাবে কীভাবে ব্যবহার করা যায় তা প্রদর্শন করে।

কৌশলগত নীতি

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

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

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

কৌশলগত ঝুঁকি

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

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

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

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

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


/*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)


সম্পর্কিত

আরো