یہ حکمت عملی تجارتی سگنل پیدا کرنے کے لئے ایم اے سی ڈی اشارے میں ڈی آئی ایف لائن اور ڈی ای اے لائن کے کراس اوور کا استعمال کرتی ہے۔ جب ڈی آئی ایف لائن ڈی ای اے لائن سے اوپر عبور کرتی ہے تو ، یہ ایک لمبا سگنل پیدا کرتی ہے۔ جب ڈی آئی ایف لائن ڈی ای اے لائن سے نیچے عبور کرتی ہے تو ، یہ ایک مختصر سگنل پیدا کرتی ہے۔ اس حکمت عملی کے بیک ٹسٹنگ کے نتائج سے پتہ چلتا ہے کہ بی ٹی سی یو ایس ڈی ٹی ٹریڈنگ جوڑی پر ، جیت کی شرح تقریبا 40٪ ہے ، اور سالانہ واپسی 1.05 ہے۔ تاہم ، اس سے ہولڈ اثاثوں کی تعداد میں مسلسل اضافہ ہوگا ، لہذا اسے آزاد ثالثی کی حکمت عملی کے طور پر استعمال نہیں کیا جاسکتا ہے۔
ایم اے سی ڈی گولڈن کراس اور ڈیتھ کراس حکمت عملی ایک سادہ اور سمجھنے میں آسان تجارتی حکمت عملی ہے جو رجحان سازی کی منڈیوں کے لئے موزوں ہے۔ تاہم ، اس حکمت عملی کی جیت کی شرح کم ہے ، اور اس میں رسک مینجمنٹ کے اقدامات کا فقدان ہے ، لہذا اسے مزید اصلاح اور بہتری کی ضرورت ہے۔ رجحان فلٹرز کو متعارف کرانے ، پیرامیٹرز کو بہتر بنانے ، رسک مینجمنٹ کو شامل کرنے ، اور تجزیہ کے دوسرے طریقوں کے ساتھ مل کر ، اس حکمت عملی کی کارکردگی اور وشوسنییتا کو بہتر بنایا جاسکتا ہے۔ اس کے باوجود ، اس حکمت عملی کو اب بھی آزاد ثالثی کی حکمت عملی کے طور پر استعمال نہیں کیا جاسکتا ہے اور بہتر تجارتی نتائج حاصل کرنے کے لئے دوسری حکمت عملیوں کے ساتھ مل کر استعمال کرنے کی ضرورت ہے۔
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=5 // @description 该策略使用 MACD DIF 线与 EDA 线产生金叉与死叉时进行入场与出场操作, 回测后发现胜率约 40%, BTCUSDT 年化利率 1.05, 同时会导致持有的资产数量不断上升, 无法作为一个独立的套利策略进行使用. strategy("MACD 金叉策略", overlay=true) fastLength = input(12, "快线长度") slowLength = input(26, "慢线长度") MACDLength = input(9, "MACD 均线长度") deltaIncreaseOver0 = input(color.green,'MACD 柱在 0 线以上增长') deltaIncreaseUnder0 = input(color.rgb(153, 230, 156),'MACD 柱在 0 线以下增长') deltaDecreaseOver0 = input(color.orange,'MACD 柱在 0 线以上下跌') deltaDecreaseUnder0 = input(color.red,'MACD 柱在 0 线以下下跌') buySellEnabled = input(true, '是否显示入场与出场信号') // @variable 做多轮数 var longRound = 0 // @variable 做空轮数 var shortRound = 0 DIF = ta.ema(close, fastLength) - ta.ema(close, slowLength) // 快慢均线差值 EDA = ta.ema(DIF, MACDLength) // DIF 线的 EMA 均线 delta = DIF - EDA // MACD 柱高度 // plot(0, 'Zero', color.black) plot(DIF,'DIF', color.yellow) plot(EDA, "EDA", color.purple) isDeltaIncreasing = delta[1] < delta isDeltaOver0 = delta > 0 deltaColor = isDeltaIncreasing ? (isDeltaOver0? deltaIncreaseOver0: deltaIncreaseUnder0) :( isDeltaOver0? deltaDecreaseOver0: deltaDecreaseUnder0) plot(delta, "Delta", deltaColor, style = plot.style_columns) isDeltaV = delta > delta[1] and delta[2] > delta[1] isDeltaA = delta < delta[1] and delta[2] < delta[1] longBuy(round) => entry = str.format("做多买入 {0}",round) // log.info(str.format("{0} {1}",entry,close)) strategy.entry(entry, strategy.long, comment=entry) longSell(round) => entry = str.format("做多买入 {0}",round) exit = str.format("做多卖出 {0}",round) // log.info(str.format("{0} {1}",exit,close)) strategy.close(entry, comment=exit) shortSell(round) => entry = str.format("做空卖出 {0}",round) // log.info(str.format("{0} {1}",entry,close)) strategy.entry(entry, strategy.short, comment= entry) shortBuy(round) => entry = str.format("做空卖出 {0}",round) exit = str.format("做空买入 {0}",round) // log.info(str.format("{0} {1}",exit,close)) strategy.close(entry, comment=exit) if (buySellEnabled) if (ta.crossunder(DIF, EDA)) longSell(longRound) if (ta.crossover(DIF, EDA)) longRound := longRound + 1 longBuy(longRound)