وسائل لوڈ ہو رہے ہیں... لوڈنگ...

او بی وی اور ایم اے کراس اوور سگنلز پر مبنی حکمت عملی کے بعد رجحان

مصنف:چاؤ ژانگ، تاریخ: 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. او بی وی کے چار حرکت پذیر اوسط کا حساب لگائیں: طویل مدتی طویل اندراج ایم اے، طویل مدتی طویل باہر نکلنے ایم اے، مختصر مدت مختصر اندراج ایم اے، اور مختصر مدت مختصر باہر نکلنے ایم اے.
  3. تجارتی سگنل پیدا کریں:
    • جب او بی وی طویل مدتی لانگ انٹری ایم اے کے اوپر سے گزرتا ہے اور سمت فلٹر کو مختصر کرنے کے لئے مقرر نہیں کیا جاتا ہے، تو ایک طویل پوزیشن کھولیں.
    • جب او بی وی طویل مدتی لانگ ایگزٹ ایم اے سے نیچے جاتا ہے تو ، طویل پوزیشن بند کریں۔
    • جب او بی وی مختصر مدت کے مختصر اندراج ایم اے سے نیچے گزرتا ہے اور سمت فلٹر طویل مدت تک مقرر نہیں ہوتا ہے تو ، مختصر پوزیشن کھولیں۔
    • جب او بی وی مختصر مدت کے مختصر باہر نکلنے کے ایم اے سے اوپر گزرتا ہے تو مختصر پوزیشن بند کر دیتا ہے۔
  4. تجارتی انتظام: اگر مخالف سگنل پیدا ہوتا ہے تو ، نئی پوزیشن کھولنے سے پہلے اصل پوزیشن بند کردی جائے گی۔

حکمت عملی کے فوائد

  1. ایک رجحان کے آغاز میں پوزیشن قائم کرنے کے لئے او بی وی کے اہم رجحان سگنل کا مکمل استعمال کریں.
  2. انٹری اور آؤٹ پٹ ایم اے کو الگ کرنے سے انٹری اور آؤٹ پٹ ٹائمنگ کی آزاد اصلاح ممکن ہوتی ہے۔
  3. کوڈ منطق سادہ اور واضح ہے، سمجھنے اور بہتر بنانے کے لئے آسان ہے.
  4. ڈائریکشن فلٹر متعارف کرانے سے کثرت سے تجارت سے بچا جاسکتا ہے اور اخراجات کو کم کیا جاسکتا ہے۔

حکمت عملی کے خطرات

  1. دیگر تصدیق کرنے والے اشارے کا فقدان ہے ، جو غلط سگنل پیدا کرسکتے ہیں۔ اسے دوسرے اشارے کے ساتھ مل کر استعمال کرنے کی سفارش کی جاتی ہے۔
  2. اسٹاپ نقصان اور پوزیشن مینجمنٹ کا فقدان ہے ، جس سے ایک ہی تجارت میں نقصانات میں اضافہ ہونے کا خطرہ ہے۔ معقول اسٹاپ نقصان اور منی مینجمنٹ کے اقدامات شامل کیے جاسکتے ہیں۔
  3. پیرامیٹرز کا غلط انتخاب حکمت عملی کی کارکردگی کو متاثر کرے گا۔ پیرامیٹرز کو مارکیٹ کی مختلف خصوصیات اور ٹائم فریموں کی بنیاد پر بہتر بنانے کی ضرورت ہے۔

حکمت عملی کی اصلاح کی ہدایات

  1. سگنل کے معیار کو بہتر بنانے کے لئے رجحان فلٹرز ، جیسے ایم اے سمت ، اے ٹی آر ، وغیرہ متعارف کرانے پر غور کریں۔
  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)


متعلقہ

مزید