एक बहु-कारक मात्रात्मक ट्रेडिंग रणनीति, जो जोखिम को नियंत्रित करने और स्थिरता बढ़ाने के लिए समरूपता कारक और अस्थिरता सूचक कारकों को ध्यान में रखती है। इस लेख में, ट्रेडिंग रणनीति के सिद्धांतों, लाभों और संभावित जोखिमों के बारे में विस्तार से बताया जाएगा।
इस रणनीति में तीन प्रमुख मॉड्यूल शामिल हैंः
5 अलग-अलग चक्रों के ईएमए औसत रेखाओं का उपयोग करके (8 वें, 13 वें, 21 वें, 34 वें और 55 वें दिन) एक प्रवृत्ति फ़िल्टर का निर्माण करें। औसत रेखाएं छोटी से लंबी तक की होती हैं, और केवल ट्रेंडिंग विशेषताएं होती हैं और ट्रेडिंग सिग्नल उत्पन्न होती हैं जब छोटी अवधि की औसत रेखा लंबी अवधि की औसत रेखा से गुजरती है।
RSI और Stochastic के साथ संयोजन के साथ दो प्रमुख उतार-चढ़ाव के संकेतकों को तोड़ने के लिए सत्यापित किया जाता है, जिससे अस्थिर बाजारों में बड़ी संख्या में झूठे टूटने से बचा जा सकता है।
आरएसआई के लिए पैरामीटर 14 है, जब आरएसआई 40-70 के बीच में है, तो यह बहुसंख्यक है, और 30-60 के बीच में यह शून्य है।
Stochastic पैरामीटर है ((14,3,3), जब K लाइन 20-80 के बीच बहु शर्त के अनुरूप है, और 5-95 के बीच शून्य शर्त के अनुरूप है।
एक इनपुट सिग्नल केवल तभी ट्रिगर किया जाता है जब औसत रेखा कारक और दोलन सूचक कारक एक साथ योग्य होते हैं; एक आउटपुट सिग्नल तब उत्पन्न होता है जब कोई भी कारक योग्य नहीं होता है।
इस पूरी रणनीति में एक सख्त मल्टी फैक्टर फ़िल्टरिंग तंत्र का उपयोग किया जाता है, जो उच्च जीत की दर को बनाए रखते हुए ट्रेडिंग सिग्नल की स्थिरता और विश्वसनीयता सुनिश्चित करता है।
इस रणनीति में ट्रेंड फॉलोइंग और रिवर्स ट्रेडिंग के फायदे को सफलतापूर्वक मिलाया गया है, मल्टी फैक्टर मॉडल प्रभावी रूप से जोखिम को नियंत्रित करता है, जिससे स्थिर अतिरिक्त रिटर्न प्राप्त किया जा सकता है। यह एक बहुत ही व्यावहारिक मात्रात्मक ट्रेडिंग रणनीति मॉडल है, जो एआई समुदाय के लिए गहन शोध और आवेदन के लायक है।
/*backtest
start: 2022-09-12 00:00:00
end: 2022-11-15 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Combined Strategy", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value = .0020, pyramiding = 0, slippage = 3, overlay = true)
//----------//
// MOMENTUM //
//----------//
ema8 = ema(close, 8)
ema13 = ema(close, 13)
ema21 = ema(close, 21)
ema34 = ema(close, 34)
ema55 = ema(close, 55)
plot(ema8, color=red, style=line, title="8", linewidth=1)
plot(ema13, color=orange, style=line, title="13", linewidth=1)
plot(ema21, color=yellow, style=line, title="21", linewidth=1)
plot(ema34, color=aqua, style=line, title="34", linewidth=1)
plot(ema55, color=lime, style=line, title="55", linewidth=1)
longEmaCondition = ema8 > ema13 and ema13 > ema21 and ema21 > ema34 and ema34 > ema55
exitLongEmaCondition = ema13 < ema55
shortEmaCondition = ema8 < ema13 and ema13 < ema21 and ema21 < ema34 and ema34 < ema55
exitShortEmaCondition = ema13 > ema55
// ---------- //
// OSCILLATORS //
// ----------- //
rsi = rsi(close, 14)
longRsiCondition = rsi < 70 and rsi > 40
exitLongRsiCondition = rsi > 70
shortRsiCondition = rsi > 30 and rsi < 60
exitShortRsiCondition = rsi < 30
// Stochastic
length = 14, smoothK = 3, smoothD = 3
kFast = stoch(close, high, low, 14)
dSlow = sma(kFast, smoothD)
longStochasticCondition = kFast < 80
exitLongStochasticCondition = kFast > 95
shortStochasticCondition = kFast > 20
exitShortStochasticCondition = kFast < 5
//----------//
// STRATEGY //
//----------//
longCondition = longEmaCondition and longRsiCondition and longStochasticCondition and strategy.position_size == 0
exitLongCondition = (exitLongEmaCondition or exitLongRsiCondition or exitLongStochasticCondition) and strategy.position_size > 0
if (longCondition)
strategy.entry("LONG", strategy.long)
if (exitLongCondition)
strategy.close("LONG")
shortCondition = shortEmaCondition and shortRsiCondition and shortStochasticCondition and strategy.position_size == 0
exitShortCondition = (exitShortEmaCondition or exitShortRsiCondition or exitShortStochasticCondition) and strategy.position_size < 0
if (shortCondition)
strategy.entry("SHORT", strategy.short)
if (exitShortCondition)
strategy.close("SHORT")