
इस लेख में एक बहु-मध्यम गतिशील औसत पर आधारित प्रवृत्ति ट्रेडिंग रणनीति के बारे में बताया गया है। यह रणनीति मुख्य रूप से नैस्डैक वायदा बाजार में लागू होती है। यह बाजार के ऊपर की ओर बढ़ने के रुझान को पकड़ने के लिए लंबी, मध्यम और छोटी अवधि की गतिशील औसत के सापेक्ष मूल्य की स्थिति का विश्लेषण करती है और एक विशिष्ट समय पर सभी पदों को बंद कर देती है।
इस रणनीति में तीन सरल चलती औसत (एसएमए) का उपयोग किया जाता हैः दीर्घकालिक (डिफ़ॉल्ट 200 चक्र), मध्यावधि (डिफ़ॉल्ट 21 चक्र) और अल्पकालिक (डिफ़ॉल्ट 9 चक्र) । जब कीमतें दीर्घकालिक और मध्यावधि औसत से अधिक होती हैं, और अल्पकालिक औसत पर एक क्रॉस होता है, तो रणनीति एक खरीद संकेत को ट्रिगर करती है। इसके अलावा, रणनीति ने जोखिम को नियंत्रित करने के लिए एक निश्चित संख्या में स्टॉप और स्टॉप-लॉस भी स्थापित किए हैं। इसके अलावा, रणनीति हर ट्रेडिंग दिन 17:00 बजे सभी पोजीशनों को बंद कर देती है।
दीर्घकालिक (डिफ़ॉल्ट 200 चक्र), मध्यम (डिफ़ॉल्ट 21 चक्र) और अल्पकालिक (डिफ़ॉल्ट 9 चक्र) सरल चल औसत की गणना करें।
यह निर्धारित करें कि क्या वर्तमान मूल्य दीर्घकालिक औसत और मध्यकालिक औसत से अधिक है।
यह निर्धारित करने के लिए कि क्या वर्तमान कीमतें अल्पकालिक औसत रेखा से ऊपर हैं।
जब शर्त 2 और शर्त 3 दोनों को पूरा किया जाता है, और कोई वर्तमान स्थिति नहीं है, तो एक खरीद संकेत ट्रिगर करें।
खरीद के बाद, एक निश्चित अंक के साथ स्टॉप और स्टॉप लॉस सेट करें, और जब कीमत स्टॉप या स्टॉप लॉस प्राइस को छूती है, तो स्टॉप ऑफ करें।
प्रत्येक ट्रेडिंग दिन के 17:00 बजे, सभी पदों को बंद रखें।
सरल और समझने में आसानः यह रणनीति चलती औसत पर आधारित है, सिद्धांत सरल है, इसे समझना और लागू करना आसान है।
रुझान ट्रैकिंगः विभिन्न आवधिक औसत रेखाओं के सापेक्ष कीमतों की स्थिति का विश्लेषण करके, रणनीति बाजार के ऊपरी रुझानों को प्रभावी ढंग से पकड़ने में सक्षम है।
जोखिम नियंत्रणः रणनीति में एक निश्चित अंक के साथ स्टॉप और स्टॉप लॉस सेट किए गए हैं, जो एकल लेनदेन के जोखिम को नियंत्रित करने में मदद करते हैं।
स्वचालित पोजीशनिंगः यह रणनीति हर ट्रेडिंग दिन के एक निश्चित समय पर स्वचालित पोजीशन को पोजीशन करती है, जिससे रातोंरात जोखिम से बचा जाता है।
पैरामीटर अनुकूलन: रणनीति का प्रदर्शन औसत चक्र पैरामीटर के प्रति संवेदनशील हो सकता है और विभिन्न बाजारों और किस्मों के लिए अनुकूलित किया जाना चाहिए।
अस्थिर बाजारः अस्थिर बाजारों के माहौल में, बार-बार क्रॉसिंग के संकेतों से रणनीति खराब हो सकती है।
स्लाइडिंग जोखिमः जब बाजार में भारी उतार-चढ़ाव होता है, तो फिक्स्ड पॉइंट्स के स्टॉप और लॉस को अपेक्षित रूप से निष्पादित नहीं किया जा सकता है, जिससे स्लाइडिंग जोखिम होता है।
गतिशील स्टॉप लॉस स्टॉप लॉस: बाजार में उतार-चढ़ाव या कीमतों के आधार पर, जोखिम-लाभ अनुपात को अनुकूलित करने के लिए गतिशील रूप से स्टॉप और स्टॉप लॉस पॉइंट्स को समायोजित करें।
प्रवृत्ति फ़िल्टरिंगः प्रवृत्ति की ताकत की पुष्टि करने के लिए अन्य तकनीकी संकेतकों, जैसे कि ADX आदि को पेश करना, बाजार में झूठे संकेतों को फ़िल्टर करना।
बहु-प्रजाति अनुकूलनः विभिन्न प्रकार के फ्यूचर्स और बाजार विशेषताओं के अनुकूल रणनीति में सुधार
धन प्रबंधनः अधिक जटिल धन प्रबंधन नियमों को पेश करना, जैसे कि स्थिति प्रबंधन और जोखिम नियंत्रण, रणनीति की स्थिरता को बढ़ावा देना।
“बहु-समानता आधारित प्रवृत्ति व्यापार रणनीति” एक सरल और समझने योग्य प्रवृत्ति ट्रैकिंग रणनीति है, जो विभिन्न आवधिक औसत के सापेक्ष कीमतों की स्थिति का विश्लेषण करके बाजार की बढ़ती प्रवृत्ति को पकड़ती है। इस रणनीति में एक निश्चित अंक की रोकथाम होती है, और जोखिम को नियंत्रित करने के लिए हर दिन एक निश्चित समय पर स्वचालित रूप से स्थिति को समतल किया जाता है। हालांकि, रणनीति अस्थिर बाजारों में खराब प्रदर्शन कर सकती है, और पैरामीटर अनुकूलन और स्लिप जोखिम जैसी समस्याओं का सामना करती है। भविष्य में, गतिशील रोकथाम, प्रवृत्ति फ़िल्टरिंग, बहुआयामी अनुकूलन और धन प्रबंधन जैसे पहलुओं में अनुकूलन को शामिल करके रणनीति की स्थिरता और अनुकूलन को और बढ़ाया जा सकता है।
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Médias Móveis de MarcosJR", overlay=true)
// Inputs para data inicial e final
start_year = input.int(2020, title="Ano Inicial")
start_month = input.int(1, title="Mês Inicial")
start_day = input.int(1, title="Dia Inicial")
end_year = input.int(2020, title="Ano Final")
end_month = input.int(12, title="Mês Final")
end_day = input.int(31, title="Dia Final")
// Convertendo dia, mês e ano para timestamp
start_date = timestamp(start_year, start_month, start_day, 00, 00)
end_date = timestamp(end_year, end_month, end_day, 23, 59)
// Condição para verificar se a data está dentro do intervalo especificado
date_within_range = true
// Parâmetros para os períodos das médias móveis
ma_short_period = input.int(9, title="MA Curta")
ma_medium_period = input.int(21, title="MA Média")
ma_long_period = input.int(200, title="MA Longa")
// Definindo médias móveis
ma_short = ta.sma(close, ma_short_period)
ma_medium = ta.sma(close, ma_medium_period)
ma_long = ta.sma(close, ma_long_period)
// Plotando as médias móveis no gráfico com espessura aumentada
plot(ma_short, color=color.blue, title="MA Curta", linewidth=2)
plot(ma_medium, color=color.orange, title="MA Média", linewidth=2)
plot(ma_long, color=color.red, title="MA Longa", linewidth=2)
// Verificando se o preço está acima das médias móveis
above_ma_long = close > ma_long
above_ma_medium = close > ma_medium
// Verificando se o preço tocou na média móvel curta
touch_ma_short = ta.crossover(close, ma_short)
// Condições de compra
buy_condition = date_within_range and above_ma_long and above_ma_medium and touch_ma_short
// Sinais de entrada e saída de compra
var float entry_price = na
if (buy_condition and strategy.opentrades == 0) // Verifica se não há operações em andamento
entry_price := close // Define o preço de entrada ao comprar
// Parâmetros para o tamanho do stop gain e stop loss em pontos
stop_gain_points = input.int(100, title="Stop Gain (pontos)", minval=1)
stop_loss_points = input.int(100, title="Stop Loss (pontos)", minval=1)
// Calcular o preço de saída alvo (Stop Gain) e de stop loss
target_price = entry_price + stop_gain_points * syminfo.mintick
stop_loss_price = entry_price - stop_loss_points * syminfo.mintick
// Sair da operação de compra quando o preço atingir o stop gain ou stop loss
if (strategy.position_size > 0)
strategy.exit("Venda", "Compra", limit=target_price, stop=stop_loss_price)
// Sinais de entrada de compra
if (buy_condition and strategy.opentrades == 0) // Verifica se não há operações em andamento
strategy.entry("Compra", strategy.long)
// Plotando setas de compra
plotshape(series=buy_condition, title="Sinal de Compra", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
// Função para verificar se é 17:00 do mesmo dia
is_17_oclock_same_day = hour == 17 and minute == 0 and hour[1] < 17
// Sair de todas as operações às 17:00 do mesmo dia
if (is_17_oclock_same_day)
strategy.close_all()