यह एक मात्रात्मक ट्रेडिंग रणनीति है जो MACD सूचकांकों पर आधारित है और एक विशिष्ट समय सीमा निर्धारित करके ट्रेडों को निष्पादित करता है। रणनीति का मूल MACD मानों की गणना करने के लिए तेजी से और धीमी गति से चलती औसत का उपयोग करना है, और सिग्नल लाइन के साथ क्रॉसिंग को खरीदने और बेचने का समय निर्धारित करना है। रणनीति में जोखिम को नियंत्रित करने और मुनाफे को लॉक करने के लिए स्टॉप-लॉस और स्टॉप-स्टॉप तंत्र भी शामिल हैं।
रणनीति 8 चक्रों और 16 चक्रों की सूचकांक चलती औसत (ईएमए) का उपयोग करके एमएसीडी मानों की गणना करती है, और सिग्नल लाइन के रूप में 11 चक्रों की सरल चलती औसत (एसएमए) का उपयोग करती है। जब एमएसीडी लाइन पर सिग्नल लाइन को पार करता है तो एक खरीद संकेत उत्पन्न होता है, और जब नीचे से गुजरता है तो एक बेचने का संकेत उत्पन्न होता है। साथ ही, रणनीति में 1% स्टॉप लॉस और 2% स्टॉप स्टॉप सेटिंग्स की शुरुआत की गई है, और केवल उपयोगकर्ता द्वारा निर्दिष्ट समय सीमा के भीतर ट्रेडों को निष्पादित किया जाता है।
यह एक संरचित, तर्कसंगत और स्पष्ट मात्रा ट्रेडिंग रणनीति है। MACD क्रॉसिंग के माध्यम से ट्रेडिंग सिग्नल उत्पन्न करते हैं, समय-फ़िल्टरिंग और जोखिम प्रबंधन के साथ मिलकर एक व्यावहारिक ट्रेडिंग सिस्टम बनाते हैं। रणनीति के अनुकूलन योग्य हैं, और आगे अनुकूलन और व्यक्तिगत समायोजन के लिए उपयुक्त हैं। व्यापारियों को सलाह दी जाती है कि वे वास्तविक समय में उपयोग करने से पहले पर्याप्त प्रतिक्रिया करें और विशिष्ट ट्रेडिंग किस्मों और बाजार की स्थिति के अनुसार पैरामीटर को समायोजित करें।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © sergengurgen83
//@version=5
strategy(title="MACD Crossover Strategy with Date Range", shorttitle="MACD Crossover strategys.g", overlay=true)
// Kullanıcı girişleri
fastLength = input.int(8, minval=1, title="Hızlı MA Süresi")
slowLength = input.int(16, minval=1, title="Yavaş MA Süresi")
signalLength = input.int(11, minval=1, title="Sinyal MA Süresi")
stopLossPercent = input.float(1.0, title="Stop-Loss Yüzdesi") / 100
takeProfitPercent = input.float(2.0, title="Kar Al Yüzdesi") / 100
// Tarih aralığı girişleri
startDate = input(timestamp("2023-01-01 00:00"), title="Başlangıç Tarihi")
endDate = input(timestamp("2023-12-31 23:59"), title="Bitiş Tarihi")
// Tarih aralığı kontrolü
inDateRange = true
// Hareketli Ortalamalar ve MACD Hesaplamaları
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)
macd = fastMA - slowMA
signal = ta.sma(macd, signalLength)
// Alım ve Satım sinyalleri
buySignal = ta.crossover(macd, signal) and inDateRange
sellSignal = ta.crossunder(macd, signal) and inDateRange
// Strateji kuralları
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")
// Stop-Loss ve Kar Al seviyeleri
strategy.exit("Sell", from_entry="Buy", loss=stopLossPercent * close, profit=takeProfitPercent * close)
// Sinyallerin grafikte gösterilmesi
plot(macd, color=color.blue, title="MACD")
plot(signal, color=color.red, title="Sinyal")
hline(0, color=color.purple, linestyle=hline.style_dashed)
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Al", text="AL")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sat", text="SAT")