ایم اے سی ڈی رجحان کی پیروی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-11 14:57:00
ٹیگز:

img

جائزہ

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

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

ایم اے سی ڈی ٹرینڈ فالونگ اسٹریٹیجی کا بنیادی منطق یہ ہے:

  1. MACD لائن اور سگنل لائن کا حساب لگائیں۔
  2. جب ایم اے سی ڈی لائن نیچے سے اوپر کی طرف سے صفر سے اوپر کی طرف بڑھتی ہے، تو سب سے زیادہ نقطہ ریکارڈ کریں، اور موت کے کراس سگنل کا انتظار کریں.
  3. جب ایم اے سی ڈی لائن اوپر سے نیچے 0 سے نیچے گزرتی ہے، تو پھر سب سے کم نقطہ ریکارڈ کریں، اور سنہری کراس سگنل کا انتظار کریں.
  4. جب گولڈن کراس ہو تو، موجودہ اختتامی قیمت کو لانگ انٹری پوائنٹ کے طور پر ریکارڈ کریں، سٹاپ نقصان کا نقطہ مقرر کریں، لانگ پوزیشن کھولیں۔
  5. جب موت کراس ہو جائے تو، موجودہ بندش کی قیمت کو مختصر اندراج نقطہ کے طور پر ریکارڈ کریں، سٹاپ نقصان کا نقطہ مقرر کریں، مختصر پوزیشن کھولیں.
  6. جب طویل پوزیشن رکھتے ہو، اگر منافع کا تناسب پہلے سے طے شدہ ہدف تک پہنچ جاتا ہے یا ڈراؤونگ سٹاپ نقصان نقطہ تک پہنچ جاتا ہے، تو منافع حاصل کرنے کے لئے پوزیشن بند کر دیں۔
  7. شارٹ پوزیشن رکھنے کے دوران، اگر منافع کا تناسب پہلے سے طے شدہ ہدف تک پہنچ جاتا ہے یا ڈراؤونگ سٹاپ نقصان پوائنٹ تک پہنچ جاتا ہے تو، منافع حاصل کرنے کے لئے پوزیشن بند کریں۔

اس رجحان کی پیروی کے طریقہ کار کے ذریعے، حکمت عملی بروقت مارکیٹ کے رجحانات کی تبدیلیوں کو پکڑ سکتی ہے اور منافع حاصل کر سکتی ہے.

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

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

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

خطرے کا تجزیہ

ایم اے سی ڈی ٹرینڈ فالونگ اسٹریٹیجی میں بھی درج ذیل خطرات ہیں:

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

مذکورہ بالا خطرات سے نمٹنے کے لئے ، مندرجہ ذیل اصلاح کے اقدامات اپنائے جاسکتے ہیں:

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

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

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

  1. غلط سگنل کی شرح کو کم کرنے کے لئے MACD اشارے کے پیرامیٹرز کو بہتر بنائیں۔ MACD کے مختلف سائیکل پیرامیٹرز کی جانچ کی جاسکتی ہے۔

  2. سگنل کو فلٹر کرنے کے لئے تجارتی حجم جیسے دوسرے اشارے شامل کریں۔ کم سے کم تجارتی حجم کی شرائط طے کی جاسکتی ہیں۔

  3. متحرک ٹریلنگ سٹاپ نقصان میکانزم قائم کریں۔ سٹاپ نقصان کے پوائنٹس کو اتار چڑھاؤ کی بنیاد پر متحرک طور پر ایڈجسٹ کیا جاسکتا ہے۔

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

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

نتیجہ

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


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

//@version=5
strategy("MACD Cross Strategy", overlay=true)

// Get MACD values
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
var float entryLongPrice = na
var float entryShortPrice = na

var float highestLongProfit = 0
var float highestShortProfit = 0

var float highestMACD = 0
var float lowestMACD = 0
var bool haveOpenedLong = false
var bool haveOpenedShort = false

var float stoploss = 0.04 // To be adjust for different investment
var float minProfit = 0.05 // To be adjust for different investment

if macdLine > 0
    lowestMACD := 0
    highestMACD := math.max(highestMACD, macdLine)
    haveOpenedShort := false
else
    highestMACD := 0
    lowestMACD := math.min(lowestMACD, macdLine)
    haveOpenedLong := false

// Enter long position when MACD line crosses above the signal line
if ta.crossover(macdLine, signalLine) and macdLine < highestMACD and macdLine > 0 and haveOpenedLong == false
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", from_entry = "Long", stop=close*(1 - stoploss))
    entryLongPrice := close
    haveOpenedLong := true

if ta.crossunder(macdLine, signalLine) and macdLine > lowestMACD and macdLine < 0 and haveOpenedShort == false
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", from_entry = "Short", stop=close*(1 + stoploss))
    entryShortPrice := close
    haveOpenedShort := true

// log.info("entryLongPrice:{0}", entryLongPrice)
if strategy.position_size > 0
    profit = close - entryLongPrice
    log.info("profit:{0}", profit)
    if profit > 0
        highestLongProfit := math.max(highestLongProfit, profit)
        if profit / entryLongPrice > minProfit and highestLongProfit * 0.8 > profit
            strategy.close("Long")
            highestLongProfit := 0

if strategy.position_size < 0
    profit = entryShortPrice - close
    if profit > 0
        highestShortProfit := math.max(highestShortProfit, profit)
        log.info("highestShortProfit={0}, profit={1}", highestShortProfit, profit)
        if profit / entryShortPrice > minProfit and highestShortProfit * 0.8 > profit
            strategy.close("Short")
            highestShortProfit := 0

مزید