ایم اے سی ڈی گولڈن کراس ڈیتھ کراس ٹرینڈ

مصنف:چاؤ ژانگ، تاریخ: 2023-12-22 11:45:54
ٹیگز:

img

جائزہ

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

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

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

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

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

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

اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:

  1. رجحان کی سمت کا تعین کرنے کے لئے MACD اشارے کا استعمال درست اور قابل اعتماد ہے۔ MACD اشارے نے سالوں میں رجحان کے تعین میں نمایاں کارکردگی کا مظاہرہ کیا ہے۔

  2. اے ٹی آر اشارے پر مبنی اسٹاپ نقصان اور منافع حاصل کرنے کی ترتیبات ایک ہی تجارت کے خطرے کے منافع کے تناسب کو مؤثر طریقے سے کنٹرول کرسکتی ہیں اور نقصانات کے امکان کو کم کرسکتی ہیں۔

  3. پانچ اختیاری سگنل کی اقسام فراہم کرنے سے مختلف مارکیٹوں کے لئے سب سے زیادہ مناسب سگنل کا استعمال کرنے کی اجازت ملتی ہے، حکمت عملی کی موافقت کو بہتر بناتا ہے.

  4. بہت سے قابل ایڈجسٹ ان پٹ پیرامیٹرز ہیں جو بہتر تجارتی کارکردگی کے لئے بہتر بنائے جا سکتے ہیں.

خطرات اور حل

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

  1. ایم اے سی ڈی اشارے آسانی سے غلط سگنل پیدا کرسکتے ہیں اور غیر ضروری نقصانات کا سبب بن سکتے ہیں۔ سگنل کو فلٹر کرنے کے لئے دوسرے اشارے استعمال کیے جاسکتے ہیں۔

  2. اے ٹی آر اشارے صرف حالیہ مدت کے اتار چڑھاؤ کا ماڈل بناتا ہے اور انتہائی مارکیٹ کے حالات میں نقصان کو درست طریقے سے روک نہیں سکتا ہے۔ اس مسئلے کو حل کرنے کے لئے متحرک رکاوٹیں متعارف کروائی جاسکتی ہیں۔

  3. منتخب کردہ سگنلز کی کارکردگی مستحکم نہیں ہوسکتی ہے۔ زیادہ سے زیادہ پیرامیٹرز کا تعین کرنے کے لئے وسیع پیمانے پر بیک ٹیسٹنگ کی ضرورت ہے۔

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

اصلاح کے لیے تجاویز

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

  1. MACD سگنلز کو فلٹر کرنے کے لئے TMA، Hull MA وغیرہ جیسے دیگر حرکت پذیر اوسط کی کوشش کریں.

  2. متحرک سٹاپ میکانزم آزمائیں جو انتہائی مارکیٹ کے حالات میں اتار چڑھاؤ سے بہتر نمٹ سکتے ہیں۔

  3. بہتر مجموعے تلاش کرنے کے لئے روایتی MACD پیرامیٹرز کو مکمل طور پر بہتر بنائیں۔

  4. بہتر رسک مینجمنٹ کے لیے مشین لرننگ کے طریقوں کا استعمال کریں۔

  5. بہترین سگنل کا تعین کرنے کے لئے پانچ سگنل کی اقسام میں سے ہر ایک کو الگ الگ بیک ٹیسٹ کریں۔

  6. نیورل نیٹ ورکس کو تربیت دیں تاکہ سگنل کے معیار کا اندازہ لگایا جا سکے اور ایم اے سی ڈی کی بنیاد پر نئے سگنل دریافت کیے جا سکیں۔

نتیجہ

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


/*backtest
start: 2023-11-21 00:00:00
end: 2023-12-21 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/
// © vuagnouxb

//@version=4
strategy("BV's MACD SIGNAL TESTER", overlay=true)

//------------------------------------------------------------------------
//----------            Confirmation Calculation              ------------ INPUT
//------------------------------------------------------------------------

// Getting inputs
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)

// -- Trade entry signals

signalChoice = input(title = "Choose your signal", defval = "Continuation", options = ["Continuation", "Reversal", "Histogram", "MACD Line ZC", "Signal Line ZC"])

continuationSignalLong = signalChoice == "Continuation" ? crossover(macd, signal) and macd > 0 :
   signalChoice == "Reversal" ? crossover(macd, signal) and macd < 0 : 
   signalChoice == "Histogram" ? crossover(hist, 0) : 
   signalChoice == "MACD Line ZC" ? crossover(macd, 0) :
   signalChoice == "Signal Line ZC" ? crossover(signal, 0) :
   false
   
continuationSignalShort = signalChoice == "Continuation" ? crossunder(macd, signal) and macd < 0 :
   signalChoice == "Reversal" ? crossover(signal, macd) and macd > 0 : 
   signalChoice == "Histogram" ? crossunder(hist, 0) : 
   signalChoice == "MACD Line ZC" ? crossunder(macd, 0) :
   signalChoice == "Signal Line ZC" ? crossunder(signal, 0) :
   false

longCondition = continuationSignalLong

shortCondition = continuationSignalShort

//------------------------------------------------------------------------
//----------             ATR MONEY MANAGEMENT                 ------------
//------------------------------------------------------------------------

SLmultiplier = 1.5
TPmultiplier = 1

JPYPair = input(type = input.bool, title = "JPY Pair ?", defval = false)
pipAdjuster = JPYPair ? 1000 : 100000


ATR = atr(14) * pipAdjuster // 1000 for jpy pairs : 100000
SL = ATR * SLmultiplier
TP = ATR * TPmultiplier

//------------------------------------------------------------------------
//----------                  TIME FILTER                     ------------
//------------------------------------------------------------------------

YearOfTesting = input(title = "How many years of testing ?" , type = input.integer, defval = 3)

_time = 2020 - YearOfTesting

timeFilter = (year > _time) 

//------------------------------------------------------------------------
//---------                 ENTRY FUNCTIONS                    ----------- INPUT
//------------------------------------------------------------------------

if (longCondition and timeFilter)  
    strategy.entry("Long", strategy.long)

if (shortCondition and timeFilter) 
    strategy.entry("Short", strategy.short)
    
//------------------------------------------------------------------------
//---------                 EXIT  FUNCTIONS                    -----------
//------------------------------------------------------------------------


strategy.exit("ATR", from_entry = "Long", profit = TP, loss = SL)  

strategy.exit("ATR", from_entry = "Short", profit = TP, loss = SL)  

مزید