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


تخلیق کی تاریخ: 2024-01-29 16:52:46 آخر میں ترمیم کریں: 2024-01-29 16:52:46
کاپی: 3 کلکس کی تعداد: 657
1
پر توجہ دیں
1664
پیروکار

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

جائزہ

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

حکمت عملی کا اصول

یہ حکمت عملی سب سے پہلے ترتیب کے مطابق چلتی اوسط کی اقسام کا انتخاب کرتی ہے ، جس میں ای ایم اے ، ایس ایم اے ، آر ایم اے ، ڈبلیو ایم اے اور وی ڈبلیو ایم اے شامل ہیں۔ پھر اوسط اوسط حساب کتاب کی مدت کا تعین کیا جاتا ہے ، جو عام طور پر 10 سے 250 K لائنوں تک ہوتا ہے۔ مختلف کرنسی کے جوڑوں کے مطابق ، مختلف قسم کے اوسط اور دورانیے کی تعداد کا انتخاب کرنا بالکل مختلف اثر حاصل کرسکتا ہے۔

اس حکمت عملی کے تحت تجارت کی منطق یہ ہے:

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

جب پوزیشن قائم کی جاتی ہے تو یہ قیمت میں اضافے کا اشارہ سمجھا جاتا ہے ، جب پوزیشن ختم کی جاتی ہے تو یہ قیمت میں کمی کا اشارہ سمجھا جاتا ہے۔

حکمت عملی کا تجزیہ

اس حکمت عملی کے کچھ اہم فوائد یہ ہیں:

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

خطرے کا تجزیہ

اس حکمت عملی کے کچھ خطرات بھی ہیں:

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

اس کا جواب اور اصلاحات:

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

خلاصہ کریں۔

یہ حکمت عملی مجموعی طور پر منطقی طور پر آسان ہے ، قیمت کے رجحانات اور ٹرن آؤٹ پوائنٹس کا اندازہ لگانے کے لئے متحرک اوسط کے اشارے کا استعمال کرتی ہے۔ یہ پیرامیٹرز کو ایڈجسٹ کرکے بہت اچھا اثر ڈال سکتا ہے ، یہ ایک موثر رجحان سے باخبر رہنے کی حکمت عملی ہے ، جو مزید بہتر اور قابل اطلاق ہے۔ تاہم ، خطرے پر قابو پانے ، مناسب کرنسی کے جوڑے اور پیرامیٹرز کو منتخب کرنے پر بھی توجہ دی جانی چاہئے ، تاکہ اس سے زیادہ سے زیادہ فائدہ اٹھایا جاسکے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

initial_balance = 100
strategy(title='Close v Open Moving Averages Strategy', shorttitle = 'Close v Open', overlay=true, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=initial_balance)

//Input for number of bars for moving average, Switch to choose moving average type, Display Options and Time Frame of trading----------------------------------------------------------------

bars = input.int(66, "Moving average length (number of bars)", minval=1, group='Strategy') //66 bars and VWMA for BTCUSD on 12 Hours.. 35 bars and VWMA for BTCUSD on 1 Day
strategy = input.string("VWMA", "Moving Average type", options = ["EMA", "SMA", "RMA", "WMA", "VWMA"], group='Strategy')

redOn = input.string("On", "Red Background Color On/Off", options = ["On", "Off"], group='Display')
greenOn = input.string("On", "Green Background Color On/Off", options = ["On", "Off"], group='Display')
maOn = input.string("On", "Moving Average Plot On/Off", options = ["On", "Off"], group='Display')

startMonth = input.int(title='Start Month 1-12 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=12, group='Beginning of Strategy')
startDate = input.int(title='Start Date 1-31 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=31, group='Beginning of Strategy')
startYear = input.int(title='Start Year 2000-2100 (set any start time to 0 for furthest date)', defval=2011, minval=2000, maxval=2100, group='Beginning of Strategy')

endMonth = input.int(title='End Month 1-12 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=12, group='End of Strategy')
endDate = input.int(title='End Date 1-31 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=31, group='End of Strategy')
endYear = input.int(title='End Year 2000-2100 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=2100, group='End of Strategy')

//Strategy Calculations-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

inDateRange = true

maMomentum = switch strategy
    "EMA" => (ta.ema(close, bars) > ta.ema(open, bars)) ? 1 : -1
    "SMA" => (ta.sma(close, bars) > ta.sma(open, bars)) ? 1 : -1
    "RMA" => (ta.rma(close, bars) > ta.rma(open, bars)) ? 1 : -1
    "WMA" => (ta.wma(close, bars) > ta.wma(open, bars)) ? 1 : -1
    "VWMA" => (ta.vwma(close, bars) > ta.vwma(open, bars)) ? 1 : -1
    =>
        runtime.error("No matching MA type found.")
        float(na)

openMA = switch strategy
    "EMA" => ta.ema(open, bars)
    "SMA" => ta.sma(open, bars)
    "RMA" => ta.rma(open, bars)
    "WMA" => ta.wma(open, bars)
    "VWMA" => ta.vwma(open, bars)
    =>
        runtime.error("No matching MA type found.")
        float(na)
        
closeMA = switch strategy
    "EMA" => ta.ema(close, bars)
    "SMA" => ta.sma(close, bars)
    "RMA" => ta.rma(close, bars)
    "WMA" => ta.wma(close, bars)
    "VWMA" => ta.vwma(close, bars)
    =>
        runtime.error("No matching MA type found.")
        float(na)

//Enter or Exit Positions--------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(maMomentum, 0)
    if inDateRange
        strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(maMomentum, 0)
    if inDateRange
        strategy.close('long')

//Plot Strategy Behavior---------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(series = maOn == "On" ? openMA : na, title = "Open moving Average", color = color.new(color.purple,0), linewidth=3, offset=1)
plot(series = maOn == "On" ? closeMA : na, title = "Close Moving Average", color = color.new(color.white,0), linewidth=2, offset=1)
bgcolor(color = inDateRange and (greenOn == "On") and maMomentum > 0 ? color.new(color.green,75) : inDateRange and (redOn == "On") and maMomentum <= 0 ? color.new(color.red,75) : na, offset=1)