ایم اے سی ڈی ٹرینڈ فالونگ حکمت عملی ایم اے سی ڈی اشارے پر مبنی ایک مقداری تجارتی حکمت عملی ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات کا تعین کرنے اور قیمت کے رجحانات کو ٹریک کرنے کے لئے ایم اے سی ڈی گولڈن کراس اور ڈیتھ کراس سگنلز کی نشاندہی کرتی ہے۔
ایم اے سی ڈی ٹرینڈ فالونگ اسٹریٹیجی کا بنیادی منطق یہ ہے:
اس رجحان کی پیروی کے طریقہ کار کے ذریعے، حکمت عملی بروقت مارکیٹ کے رجحانات کی تبدیلیوں کو پکڑ سکتی ہے اور منافع حاصل کر سکتی ہے.
ایم اے سی ڈی ٹرینڈ فالونگ حکمت عملی کے مندرجہ ذیل فوائد ہیں:
ایم اے سی ڈی ٹرینڈ فالونگ اسٹریٹیجی میں بھی درج ذیل خطرات ہیں:
مذکورہ بالا خطرات سے نمٹنے کے لئے ، مندرجہ ذیل اصلاح کے اقدامات اپنائے جاسکتے ہیں:
ایم اے سی ڈی ٹرینڈ فالونگ حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
غلط سگنل کی شرح کو کم کرنے کے لئے MACD اشارے کے پیرامیٹرز کو بہتر بنائیں۔ MACD کے مختلف سائیکل پیرامیٹرز کی جانچ کی جاسکتی ہے۔
سگنل کو فلٹر کرنے کے لئے تجارتی حجم جیسے دوسرے اشارے شامل کریں۔ کم سے کم تجارتی حجم کی شرائط طے کی جاسکتی ہیں۔
متحرک ٹریلنگ سٹاپ نقصان میکانزم قائم کریں۔ سٹاپ نقصان کے پوائنٹس کو اتار چڑھاؤ کی بنیاد پر متحرک طور پر ایڈجسٹ کیا جاسکتا ہے۔
پوزیشن کھولنے کے لئے سگنل کے تعین کی منطق کو بہتر بنائیں۔ زیادہ سخت ٹرگر شرائط مقرر کی جاسکتی ہیں۔
سگنلوں کو فلٹر کرنے کے لئے مشین لرننگ ماڈلز کو شامل کریں۔ ماڈلز کو سگنلوں کی وشوسنییتا کا فیصلہ کرنے کے لئے تربیت دی جاسکتی ہے۔
عام طور پر ، ایم اے سی ڈی ٹرینڈ فالونگ حکمت عملی ایک نسبتا 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