
यह एक मात्रात्मक ट्रेडिंग रणनीति प्रणाली है जो इक्विटी लाइन क्रॉसिंग और ट्रेडिंग वॉल्यूम विश्लेषण पर आधारित है। यह रणनीति कई प्रकार के मूविंग एवरेज (ईएमए, एसएमए और डब्ल्यूएमए सहित) के क्रॉसिंग सिग्नल के माध्यम से ट्रेडिंग निर्णय लेती है। यह सिस्टम इक्विटी लाइन प्रकारों और मापदंडों को लचीले ढंग से कॉन्फ़िगर करने का समर्थन करता है, जबकि ट्रेडिंग की विश्वसनीयता को बढ़ाने के लिए ट्रेडिंग की पुष्टि की शर्तों के रूप में क्वांटिटेटिव एनालिसिस को पेश करता है।
रणनीतियाँ द्वि-समान-रेखा क्रॉसिंग प्रणाली को मुख्य ट्रेडिंग सिग्नल के रूप में उपयोग करती हैं, जो लेन-देन विश्लेषण को सहायक निर्णय के रूप में जोड़ती हैं। विशेष रूप सेः
यह तकनीकी विश्लेषण के क्लासिक सिद्धांतों के संयोजन के साथ एक मात्रात्मक व्यापार रणनीति है, व्यापार प्रणाली के माध्यम से एक समान रेखा क्रॉसिंग और आदान-प्रदान विश्लेषण का निर्माण करती है। रणनीति डिजाइन तर्कसंगत है, मजबूत व्यावहारिकता और स्केलेबिलिटी के साथ। पैरामीटर अनुकूलन और मॉड्यूल सुधार के माध्यम से रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है। वास्तविक उपयोग से पहले पर्याप्त परीक्षण और सत्यापन की सिफारिश की जाती है, और विशिष्ट व्यापार प्रकार की विशेषताओं के अनुसार पैरामीटर को समायोजित किया जाता है।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Cruzamento de Médias com Volume ☾︎ 𝔇𝔞𝔯𝔎 ✞︎ 𝔗𝔯𝔞𝔡𝔢𝔯 ☽︎", overlay=true)
// Criação de opções no editor para selecionar o tipo de média móvel
maType1 = input.string(title="Tipo de Média Móvel 1", defval="EMA", options=["SMA", "EMA", "WMA"])
maType2 = input.string(title="Tipo de Média Móvel 2", defval="EMA", options=["SMA", "EMA", "WMA"])
// Função para selecionar a média móvel de acordo com o tipo escolhido
getMovingAverage(maType, src, length) =>
if maType == "SMA"
ta.sma(src, length)
else if maType == "EMA"
ta.ema(src, length)
else if maType == "WMA"
ta.wma(src, length)
else
na
// Parâmetros para o cálculo das médias móveis
length1 = input.int(9, title="Período da Média 1")
length2 = input.int(21, title="Período da Média 2")
// Cálculo das médias móveis escolhidas
ma1 = getMovingAverage(maType1, close, length1)
ma2 = getMovingAverage(maType2, close, length2)
// Parâmetro editável para o período da média de volume
volLength = input.int(20, title="Período da Média de Volume")
// Cálculo da média móvel do volume com período ajustável
volSMA = ta.sma(volume, volLength) // Média móvel simples do volume
// Cálculo da EMA de 200 períodos para visualizar a tendência primária
ema200 = ta.ema(close, 200)
// Condições para compra: ma1 cruza acima da ma2 + Volume acima da média de volume ajustável
longCondition = ta.crossover(ma1, ma2) and volume > volSMA
// Condições para venda: ma1 cruza abaixo da ma2 + Volume acima da média de volume ajustável
shortCondition = ta.crossunder(ma1, ma2) and volume > volSMA
// Executa a operação de compra
if (longCondition)
strategy.entry("Compra", strategy.long)
// Executa a operação de venda
if (shortCondition)
strategy.entry("Venda", strategy.short)
// Plotando as médias móveis no gráfico de preços
plot(ma1, color=color.green, title="Média Móvel 1", linewidth=2)
plot(ma2, color=color.red, title="Média Móvel 2", linewidth=2)
// Plotando a EMA de 200 períodos para visualização da tendência de longo prazo
plot(ema200, color=color.orange, title="EMA 200", linewidth=2)
// Plotando a média de volume para visualização no painel inferior
plot(volSMA, color=color.blue, title="Média de Volume", linewidth=2)