دوہری حرکت پذیر اوسط کراس اوور ایم اے سی ڈی ٹرینڈ اسٹریٹجی کے بعد

مصنف:چاؤ ژانگ، تاریخ: 2024-01-23 11:22:02
ٹیگز:

img

جائزہ

یہ حکمت عملی میک ڈی ڈی تکنیکی اشارے کے دوہری حرکت پذیر اوسط کراس اوور پر مبنی ایک خودکار تجارتی حکمت عملی ہے۔ یہ رجحان کی پیروی کے لئے رجحان کی سمت کا تعین کرنے کے لئے میک ڈی ڈی کی سگنل لائن کراس اوور کا استعمال کرتی ہے۔

حکمت عملی منطق

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

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

  • درست طریقے سے رجحان کی سمت کا تعین کرنے اور رجحان کے الٹ کو پکڑنے کے لئے دوہری چلتی اوسط کراس اوور کا استعمال کرتا ہے
  • MACD تکنیکی اشارے غلط سگنل کو کم کرتا ہے اور سگنل کے معیار کو بہتر بناتا ہے
  • طویل یا مختصر یا صرف طویل / مختصر جانے کے لئے لچکدار
  • مختلف مارکیٹ کے ماحول کو ایڈجسٹ کرنے والے پیرامیٹرز

اسٹریٹجی کے خطرات

  • دوہری حرکت پذیر اوسط کراس اوور میں تاخیر کا اثر ہوتا ہے ، واپسی کے آغاز میں جزوی منافع سے محروم ہوسکتا ہے
  • MACD اشارے جو مارکیٹ کنسولیشن کے دوران جھوٹے سگنل کا شکار ہیں

خطرے کو کم کرنا:

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

بہتری کے شعبے

حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. سگنل کی تصدیق اور جھوٹے سگنل کو فلٹر کرنے کے لئے KDJ، بولنگر بینڈ وغیرہ جیسے دیگر اشارے شامل کریں

  2. داخلہ کے طریقہ کار کو بہتر بنائیں، مثال کے طور پر ابتدائی یا دیر سے اندراج سے بچنے کے لئے بریک آؤٹ فلٹر شامل کریں

  3. پیرامیٹر کی ترتیبات کو بہتر بنائیں ، مختلف ٹائم فریم اور مارکیٹ کے نظام کی بنیاد پر تیز اور سست لائن کے ادوار کو ایڈجسٹ کریں

  4. ایک ہی تجارت کے نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان شامل کریں

  5. دیگر مصنوعات جیسے فاریکس، کریپٹو کرنسی وغیرہ میں توسیع کریں

خلاصہ


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
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/
// © DeMindSET

//@version=4
strategy("MACD Trend Follow Strategy", overlay=false)
// Getting inputs
LSB = input(title="Long/Short", defval="Long only", options=["Long only", "Short only" , "Both"]) 
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
//
Bull= macd > signal
Bear= macd < signal
ConBull=macd>0
ConBear=macd<0
//
Green= Bull and ConBull
Red= Bear and ConBear
Yellow= Bull and ConBear
Blue= Bear and ConBull
//
bcolor = Green ? color.green : Red ? color.red : Yellow ? color.yellow : Blue ? color.blue : na
barcolor(color=bcolor)
// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2019, title = "From Year", minval = 1920)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

if LSB == "Long only" and Green
    strategy.entry("L",true)
if LSB == "Long only" and Red
    strategy.close("L",qty_percent=100,comment="TP Long")
if LSB == "Both" and Green
    strategy.entry("L",true)
if LSB == "Both" and Red
    strategy.entry("S",false)
if LSB == "Short only" and Red
    strategy.entry("S",false)
if LSB == "Short only" and Green
    strategy.close("S",qty_percent=100,comment="TP Short")


مزید