او بی وی اہرام حکمت عملی Coinrule اسکرپٹ پر مبنی ہے

مصنف:چاؤ ژانگ، تاریخ: 2023-12-08 15:58:29
ٹیگز:

img

جائزہ

اس حکمت عملی کو OBV Pyramid کہا جاتا ہے۔ یہ OBV اشارے کی بنیاد پر پوزیشن کھولنے کا ڈیزائن کرتا ہے اور ان کے ظہور کے بعد منافع کے لئے رجحانات کو ٹریک کرنے کے لئے ایک اہرام بڑھتی ہوئی پوزیشن نقطہ نظر کو اپناتا ہے۔

اصول

یہ حکمت عملی رجحان کی سمت کا تعین کرنے کے لئے او بی وی اشارے کا استعمال کرتی ہے۔ او بی وی اشارے تجارتی حجم میں ہونے والی تبدیلیوں کی بنیاد پر قیمت کے رجحانات کا جائزہ لیتا ہے ، کیونکہ حجم میں ہونے والی تبدیلیاں مارکیٹ کے شرکاء کے رویوں کی عکاسی کرتی ہیں۔ جب او بی وی لائن 0 سے اوپر کی حد کو عبور کرتی ہے تو ، اس سے خریداری کی طاقت کو مضبوط کرنے اور اپ ٹرینڈ کی تشکیل کی نشاندہی ہوتی ہے۔ جب 0 سے نیچے کی حد کو عبور کرتی ہے تو ، یہ فروخت کے دباؤ کو مضبوط کرنے اور نیچے کے رجحان کی نشاندہی کرتی ہے۔

یہ حکمت عملی او بی وی کو 0 سے اوپر عبور کرکے ایک اپ ٹرینڈ کی تصدیق کرتی ہے۔ جب اپ ٹرینڈ بنتا ہے تو ، پرامڈ میں اضافہ کرنے والے پوزیشن کے قوانین طے کیے جاتے ہیں ، جس سے 7 اضافی خریدنے کی اجازت ہوتی ہے۔ اس کا مقصد اس رجحان سے منافع حاصل کرنا ہے جبکہ منافع اور اسٹاپ نقصان قائم کرنا موجود ہے۔

فوائد کا تجزیہ

اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ رجحانات کو ٹریک کرنے اور ان سے منافع حاصل کرنے کے لئے اہرام کے نقطہ نظر کا استعمال کرتے ہوئے رجحانات کو پکڑنا ہے۔ اس کے علاوہ ، منافع لینے اور نقصان کو روکنے کی ترتیبات کے ساتھ ٹھوس رسک کنٹرول موجود ہے۔

خاص طور پر، اہم فوائد یہ ہیں:

  1. OBV کا استعمال کرتے ہوئے درست رجحان کا فیصلہ؛
  2. منافع کے لئے رجحانات کو ٹریک کرنے کے لئے پرامڈ خریدنا؛
  3. منافع/سٹاپ نقصان کنٹرول کرنے کا خطرہ
  4. سادہ اور واضح منطق.

خطرے کا تجزیہ

اہم خطرات دو پہلوؤں سے آتے ہیں:

  1. غلط OBV سگنلز جس کے نتیجے میں کھوئے ہوئے مواقع یا غلط اندراجات ہوتے ہیں۔
  2. بہت زیادہ اضافی خریدتا ہے جو خطرے کو بڑھا دیتا ہے۔

حل:

  1. OBV پیرامیٹرز کو درستگی کو یقینی بنانے کے لئے بہتر بنائیں؛
  2. قابل کنٹرول خطرے کے لیے اضافی خریداریوں کو معقول حد تک محدود کریں۔

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

اصلاح کی اہم سمتیں:

  1. اعلی درستگی کے لئے OBV پیرامیٹر کی اصلاح؛
  2. اضافی خریداریوں کی تعداد اور مقدار کو بہتر بنانا؛
  3. منافع / سٹاپ نقصان کو بہتر بنانا؛
  4. صرف او بی وی پر انحصار کرنے سے بچنے کے لئے دوسرے اشارے شامل کرنا۔

یہ حکمت عملی کو زیادہ مستحکم، کنٹرول اور توسیع پذیر بنا سکتا ہے.

نتیجہ

مجموعی طور پر یہ ایک بہت ہی عملی حکمت عملی ہے۔ یہ رجحان کی سمت کا تعین کرنے کے لئے او بی وی کا استعمال کرتا ہے ، پھر منافع کے لئے رجحان میں اہرام بناتا ہے۔ منطق آسان بیک ٹسٹنگ کے لئے آسان اور واضح ہے۔ اس کی قابل اطلاق قیمت ہے اور مزید پیرامیٹر ، رسک اور منی مینجمنٹ کی اصلاح کے ساتھ ، کارکردگی میں مزید بہتری آسکتی ہے ، جس سے اضافی تحقیق کی ضرورت ہوتی ہے۔


/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni

//@version=4

strategy(title = " OBV Pyr", overlay = true, pyramiding=5,initial_capital = 10000, default_qty_type= strategy.percent_of_equity, default_qty_value = 20, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)

//
fastLength = input(250, title="Fast filter length ", minval=1)
slowLength = input(500,title="Slow filter length",  minval=1)
source=close
v1=ema(source,fastLength)
v2=ema(source,slowLength)
 
//
 
filter=true 
src = close


LengthOBV = input(20)

nv = change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume 
c = cum(nv) 
c_tb = c - sma(c,LengthOBV) 

// Conditions

longCond = crossover(c_tb,0)
//shortCond =crossunder(cnv_tb,0)

//

longsignal  = (v1 > v2 or filter == false ) and longCond
//shortsignal = (v1 < v2 or filter == false ) and shortCond 
 
//set take profit
 
ProfitTarget_Percent = input(3)
Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick
 
//set take profit
 
LossTarget_Percent = input(10)
Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick
 
 
////Order Placing
//
strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal)
//
strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal)
//
strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal)
//
strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal)
//
strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal)
//
strategy.entry("Entry 6", strategy.long, when=strategy.opentrades == 5 and longsignal)
//
strategy.entry("Entry 7", strategy.long, when=strategy.opentrades == 6 and longsignal)
//
//
//
if strategy.position_size > 0
    strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 6", from_entry="Entry 6", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 7", from_entry="Entry 7", profit=Profit_Ticks, loss=Loss_Ticks)
    


مزید