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