
मल्टीपल मीडियन ट्रेंड कैप्चर एंड क्रॉस कन्फर्मेशन ट्रेडिंग सिस्टम एक मात्रात्मक ट्रेडिंग रणनीति है जो एक बहु-आयामी सूचकांक चलती औसत (ईएमए) के संयोजन पर आधारित है, जिसमें एक अपेक्षाकृत मजबूत संकेतक (आरएसआई), चलती औसत प्रवृत्ति अंतर (एमएसीडी) और औसत वास्तविक सीमा (एटीआर) सहायक संकेतक के रूप में शामिल हैं। इस रणनीति का मूल बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए विभिन्न समय अवधि के लिए मीडियन पोजीशन संबंधों की तुलना करके है, और जब प्रवृत्ति स्पष्ट हो जाती है, तो पोजीशन खोलें, और जब प्रवृत्ति कमजोर हो जाती है या उलट जाती है, तो पोजीशन को समतल करें। रणनीति को विशेष रूप से बहु-आयामी प्रवृत्ति की पुष्टि करने के लिए डिज़ाइन किया गया है, जो प्रवृत्ति की ताकत और स्थायित्व को अल्पकालिक मीडियन और लंबी अवधि की मीडियन पोजीशन के बीच संबंधों के आधार पर निर्धारित करती है, जिससे व्यापार की जीत की दर और स्थिरता में वृद्धि होती है।
इस रणनीति का मुख्य सिद्धांत बाजार की प्रवृत्ति का आकलन करने और व्यापार के अवसरों को पकड़ने के लिए कई अलग-अलग चक्रों की सूचकांक चलती औसत (ईएमए) का उपयोग करना है। रणनीति में पांच ईएमए का उपयोग किया जाता हैः क्षणिक औसत (१४ चक्र), मध्यवर्ती औसत (२५ चक्र), अल्पकालिक औसत (५० चक्र), मध्यवर्ती औसत (१०० चक्र) और दीर्घकालिक औसत (२०० चक्र) ।
रणनीति का मुख्य तर्क इस प्रकार है:
रुझान निर्धारण तंत्र:
प्रवेश सिग्नल:
प्रस्थान संकेत:
जोखिम नियंत्रण:
स्थान ट्रैकिंग:
बहु-समानता रेखा की पुष्टि: विभिन्न चक्रों की कई समानांतर रेखाओं के माध्यम से एक साथ प्रवृत्ति की पुष्टि करें, झूठी दरारों और गलत संकेतों को कम करें, और संकेत की गुणवत्ता में सुधार करें।
ट्रेंड्स की पहचान करें: एकल-समान रेखा प्रणाली की तुलना में, बहु-समान रेखा प्रणाली बाजार की प्रवृत्ति के मोड़ को अधिक सटीक रूप से पहचान सकती है, विशेष रूप से जब क्षणिक समान रेखा अन्य समान रेखाओं के सापेक्ष स्थान में परिवर्तन करती है।
लचीला जोखिम प्रबंधन: मल्टीहेड और ब्रोकर के लिए अलग-अलग प्रवेश और निकास मानदंडों का उपयोग करना, जो बाजार के विभिन्न दिशाओं में जोखिम के लिए अलग-अलग उपचार को दर्शाता है, ब्रोकर ट्रेडिंग अतिरिक्त अस्थिरता फ़िल्टर जोड़ता है।
दृश्य व्यापार संकेतरणनीतियाँः ग्राफिक मार्किंग के माध्यम से स्पष्ट रूप से खरीद, बेच, और स्थिति को बंद करने की स्थिति को प्रदर्शित करना, जो रिवर्स विश्लेषण और वास्तविक समय की निगरानी की सुविधा प्रदान करता है।
रुझान पृष्ठभूमि दृश्य: पृष्ठभूमि के रंग का उपयोग उछाल और गिरावट के रुझानों को अलग करने के लिए, बाजार की स्थिति को देखने के लिए, जिससे व्यापारियों को वर्तमान बाजार की स्थिति का त्वरित आकलन करने में मदद मिलती है।
संभावित विस्तारशीलता: आरएसआई और एमएसीडी संकेतकों की गणना को एकीकृत किया गया है, हालांकि वर्तमान में ट्रेडिंग तर्क में उपयोग नहीं किया जाता है, लेकिन रणनीति के भविष्य के अनुकूलन के लिए एक आधार प्रदान करता है।
पैरामीटर समायोज्य: सभी प्रमुख पैरामीटर इनपुट नियंत्रण के माध्यम से समायोजित किए जा सकते हैं, जिसमें औसत चक्र, आरएसआई थ्रेड, एमएसीडी पैरामीटर और एटीआर सेटिंग्स शामिल हैं, जो विभिन्न बाजार स्थितियों और व्यापार प्रकारों के अनुसार अनुकूलित करने के लिए सुविधाजनक हैं।
औसत पिछड़ापन: सभी समानांतर रेखा आधारित प्रणालियों में कुछ पिछड़ापन होता है, और अस्थिर बाजारों या तेजी से उलटने के मामलों में बड़ी वापसी हो सकती है। समाधान समानांतर रेखा चक्र को समायोजित करना है, या अतिरिक्त अस्थिर बाजार फ़िल्टर शर्तों को जोड़ना है।
ओवरट्रेडिंग का खतरा: अस्थिर बाजारों में, तात्कालिक औसत बार-बार अल्पकालिक औसत को पार कर सकता है, जिससे अत्यधिक व्यापार होता है। न्यूनतम होल्डिंग समय बढ़ाकर या अतिरिक्त फ़िल्टर जोड़कर अमान्य व्यापार को कम किया जा सकता है।
विभिन्न बाजार अनुकूलन समस्याएं: एक निश्चित पैरामीटर के लिए एक समान-रेखा रणनीति विभिन्न बाजार वातावरण और व्यापार प्रकारों पर प्रदर्शन में भिन्नता है। विशेष बाजारों के लिए पैरामीटर का अनुकूलन किया जाना चाहिए, या अनुकूलित पैरामीटर का उपयोग करने पर विचार किया जाना चाहिए।
सिग्नल संघर्ष: कोड में आरएसआई और एमएसीडी संकेतकों की गणना की गई है, लेकिन ट्रेडिंग तर्क में प्रभावी रूप से एकीकृत नहीं है, जिससे संभावित सिग्नल संघर्ष या अनुकूलन के अवसरों को याद किया जा सकता है।
बहु-सिर झुकाव: वर्तमान रणनीति में मल्टीहेड और एयरहेड के लिए अलग-अलग मानदंड हैं, मल्टीहेड में कोई अस्थिरता फ़िल्टर नहीं है, और एयरहेड को न्यूनतम एटीआर शर्तों को पूरा करने की आवश्यकता है, जो रणनीति को अधिक उग्र बना सकता है और बढ़ते बाजारों में जोखिम के उद्घाटन को बढ़ा सकता है।
फिक्स्ड आउट सिस्टम: एक रणनीति जो एक निश्चित तकनीकी सूचक क्रॉसिंग को एक प्रारंभिक बिंदु के रूप में उपयोग करती है, और बाजार की गतिशीलता के आधार पर समायोजित स्टॉप-स्टॉप-लॉस तंत्र की कमी, लाभ को प्रभावी ढंग से लॉक करने या जोखिम को नियंत्रित करने में असमर्थ हो सकती है।
पैरामीटर संवेदनशीलता: रणनीति कई औसत चक्र मापदंडों पर निर्भर करती है, जिनमें से कुछ मापदंडों में मामूली परिवर्तन से व्यापार के परिणामों में महत्वपूर्ण अंतर हो सकता है, जिससे ओवरफिटिंग का खतरा बढ़ जाता है।
एकीकृत गणना किए गए संकेतकरणनीति ने आरएसआई और एमएसीडी संकेतकों की गणना की है, लेकिन इसका पूरा उपयोग नहीं किया गया है। आरएसआई का उपयोग चरम बाजार स्थितियों को फ़िल्टर करने के लिए किया जा सकता है, और एमएसीडी का उपयोग प्रवृत्ति की दिशा की पुष्टि करने और संकेत की गुणवत्ता में सुधार करने के लिए किया जाता है। उदाहरण के लिए, आरएसआई को ओवरबॉट क्षेत्र में नहीं होने की आवश्यकता हो सकती है जब मल्टीहेड प्रवेश होता है, और आरएसआई को ओवरसोल्ड क्षेत्र में नहीं होने की आवश्यकता होती है।
गतिशील क्षति रोक प्रणालीएटीआर-आधारित गतिशील स्टॉप-लॉस तंत्र की शुरूआत, जो बाजार की अस्थिरता के आधार पर स्टॉप-लॉस दूरी को स्वचालित रूप से समायोजित करता है, जो जोखिम प्रबंधन क्षमता को बढ़ाता है। यह एटीआर मानों की गणना करके प्रवेश बिंदुओं के कुछ गुणकों को घटाकर किया जा सकता है।
बाजार की स्थिति वर्गीकरण: बाजार की स्थिति के लिए निर्णय तंत्र को जोड़ना ((ट्रेंडिंग बाजार बनाम अस्थिर बाजार), विभिन्न बाजार स्थितियों में अलग-अलग ट्रेडिंग रणनीतियों का उपयोग करना। उदाहरण के लिए, बाजार की प्रवृत्ति की ताकत को दीर्घकालिक औसत या एडीएक्स संकेतक की स्लिपलाइन द्वारा आंका जा सकता है।
बहु-समय-सीमा विश्लेषण: उच्च समय चक्र की प्रवृत्ति की जानकारी को एकीकृत करना, केवल उच्च समय चक्र की प्रवृत्ति की दिशा में एकजुट होने पर व्यापार करना, जीत की दर में सुधार करना।
औसत रेखा को अनुकूलित करें: वर्तमान रणनीति एक निश्चित औसत चक्र का उपयोग करती है ((14, 25, 50, 100, 200), जो विभिन्न पैरामीटर संयोजनों को पुनः मापने के माध्यम से एक विशिष्ट बाजार के लिए सबसे उपयुक्त पैरामीटर खोजने के लिए किया जा सकता है।
जोड़े गए लेनदेन की पुष्टि करें: ट्रेडों की ताकत की पुष्टि करने के लिए ट्रेड वॉल्यूम इंडिकेटर का संयोजन करें, केवल ट्रेड वॉल्यूम द्वारा समर्थित ट्रेंड में ट्रेड करें, झूठे ब्रेक से होने वाले नुकसान को कम करें
प्रवेश की शर्तें: मल्टीहेड और रिक्त हेड के प्रवेश के तर्क को अनुकूलित करें ताकि वे अधिक सममित हों, या विभिन्न बाजार दिशा विशेषताओं के लिए अधिक बारीक समायोजन करें। उदाहरण के लिए, मल्टीहेड प्रवेश के दौरान अस्थिरता फ़िल्टर को बढ़ाने पर विचार किया जा सकता है, या प्रवृत्ति की पुष्टि की कठोरता को समायोजित किया जा सकता है।
समय फ़िल्टर जोड़ेंट्रेडिंग समय फ़िल्टर को शामिल करें, बाजार में अधिक अस्थिरता या कम तरलता के समय से बचें, जैसे कि महत्वपूर्ण डेटा की घोषणा या बाजार के खुलने और बंद होने के समय।
मल्टीप्लेक्स ट्रेड कैप्चर और क्रॉस कन्फर्मेशन ट्रेडिंग सिस्टम एक तकनीकी विश्लेषण पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है, जो कई अलग-अलग चक्रों के लिए एक समान लाइन संयोजन के माध्यम से बाजार की प्रवृत्ति का आकलन करती है, और प्रवृत्ति स्पष्ट होने पर स्थिति खोलती है, और प्रवृत्ति कमजोर होने पर स्थिति बंद करती है। रणनीति का मुख्य लाभ मल्टीप्लेक्स ट्रेड कैप्चर और क्रॉस कन्फर्मेशन ट्रेड का उपयोग करना है, जो गलत संकेतों को कम करता है और ट्रेडिंग की गुणवत्ता में सुधार करता है।
यह रणनीति स्पष्ट रूप से ट्रेंडिंग बाजारों में अच्छा प्रदर्शन करती है, लेकिन अस्थिर बाजारों में ओवर-ट्रेडिंग का जोखिम हो सकता है। रणनीति की स्थिरता और अनुकूलनशीलता को और बढ़ाया जा सकता है, जो कि आरएसआई और एमएसीडी के गणना किए गए संकेतकों के एकीकरण, गतिशील स्टॉप-लॉस तंत्र की शुरूआत, औसत पैरामीटर संयोजन के अनुकूलन और बाजार की स्थिति वर्गीकरण को बढ़ाने के माध्यम से है।
व्यावहारिक अनुप्रयोगों के लिए, विभिन्न बाजारों के वातावरण और ट्रेडिंग किस्मों पर पर्याप्त प्रतिक्रिया के लिए अनुशंसा की जाती है, विशिष्ट बाजार विशेषताओं के लिए पैरामीटर को समायोजित करने के लिए, और धन प्रबंधन रणनीति के संयोजन के साथ एकल ट्रेडिंग जोखिम को नियंत्रित करने के लिए। इसके अलावा, इस रणनीति को एक पोर्टफोलियो के हिस्से के रूप में उपयोग करने के लिए विचार किया जा सकता है, अन्य पूरक रणनीतियों के साथ संयोजन में, व्यापार जोखिम को फैलाएं, समग्र पोर्टफोलियो की स्थिरता में सुधार करें।
/*backtest
start: 2025-02-23 00:00:00
end: 2025-03-02 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("etude9", shorttitle="etude 9", overlay=true)
//on tente de comlbiner avec le RSi un stratégie pas si mauvaise sur les longs
// un d7 r rsi qui donne des indiciataions pas mal pour les short pour les long pas très concluant
// === Paramètres d'entrée ===
// Source de prix
// et merde rendement sur long est plus efficace sans condition sur ATR !!
// par contre j'ai l'imression que le rsi ça va être bien pour les shorts
// bon avec le RSi ça donne rien, et avec le macd, ç ce stade c'est foireux mmm
pricetype = input(close, title="Source de prix pour les moyennes mobiles")
// Périodes des moyennes mobiles
instant = input(14, title="Période de la moyenne instantanée (10)")
interm = input(25, title="Perdiode intermediaire (25)")
shortperiod = input(50, title="Période de la moyenne mobile courte (20)")
mediumperiod = input(100, title="Période de la moyenne mobile moyenne (50)")
longperiod = input(200, title="Période de la moyenne mobile longue (100)")
// Paramètres du RSI
rsi_length = input.int(14, title="Période RSI")
rsi_overbought = input.int(78, title="Niveau de surachat (RSI)")
rsi_oversold = input.int(30, title="Niveau de survente (RSI)")
// Paramètres pour le MACD
fast_length = input.int(12, title="Longueur Rapide MACD")
slow_length = input.int(26, title="Longueur Lente MACD")
signal_length = input.int(9, title="Longueur du Signal MACD")
// Paramètres de l'ATR
atr_length = input.int(14, title="Période ATR")
atr_multiplier = input.float(1.5, title="Multiplicateur ATR pour le Stop-Loss")
// Calcul de l'ATR
atr = ta.atr(atr_length)
// === Calcul des moyennes mobiles (EMA uniquement) ===
instant_ma = ta.ema(pricetype, instant) // Moyenne mobile instantanée
short_ma = ta.ema(pricetype, shortperiod) // Moyenne mobile courte (20)
medium_ma = ta.ema(pricetype, mediumperiod) // Moyenne mobile moyenne (50)
long_ma = ta.ema(pricetype, longperiod) // Moyenne mobile longue (100)
interm_ma = ta.ema(pricetype, interm)
// Calcul du RSI
rsi = ta.rsi(close, rsi_length)
// Calcul du MACD
[macd_line, signal_line, hist_line] = ta.macd(close, fast_length, slow_length, signal_length)
// Stocker les résultats de crossover et crossunder dans des variables globales
is_crossover = ta.crossover(macd_line, signal_line)
is_crossunder = ta.crossunder(macd_line, signal_line)
// Filtre ATR : on ne trade que si la volatilité est suffisante
min_atr = atr > ta.sma(atr, atr_length) // ATR supérieur à sa moyenne
// === Conditions de tendance ===
trending_up = instant_ma > short_ma and instant_ma > medium_ma and instant_ma > long_ma and short_ma > medium_ma // Tendance haussière
trending_down = instant_ma< short_ma and instant_ma<medium_ma and instant_ma<long_ma and short_ma<long_ma // Tendance baissière
// Filtre RSI
rsi_filter_buy = rsi < rsi_overbought // RSI n'est pas en surachat pour un achat
rsi_filter_sell = rsi > rsi_oversold // RSI n'est pas en survente pour une vente
// === Gestion des positions ===
var bool in_position = false // Variable pour suivre si une position est ouverte
var bool is_long = false // Variable pour suivre si la position est longue ou courte
// === Signaux d'ouverture et de fermeture ===
bool buy_signal = false // Signal d'ouverture d'une position longue
bool close_signal = false // Signal de fermeture d'une position longue
bool sell_signal = false // Signal d'ouverture d'une position courte
bool close_short_signal = false // Signal de fermeture d'une position courte
// Ouvrir une position longue
if (trending_up and not in_position)
strategy.entry("Long", strategy.long)
in_position := true
is_long := true
buy_signal := true // Signal d'ouverture
else
buy_signal := false
// Fermer la position longue si instant_ma < medium_ma
if (in_position and is_long and instant_ma < short_ma)
strategy.close("Long")
in_position := false
is_long := false
close_signal := true // Signal de fermeture
else
close_signal := false
// Ouvrir une position courte
if (trending_down and not in_position and min_atr)
strategy.entry("Short", strategy.short)
in_position := true
is_long := false
sell_signal := true // Signal d'ouverture
else
sell_signal := false
// Fermer la position courte si instant_ma > medium_ma
if (in_position and not is_long and instant_ma > medium_ma)
strategy.close("Short")
in_position := false
close_short_signal := true // Signal de fermeture
else
close_short_signal := false
// === Affichage des signaux sur le graphique ===
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy", size=size.small)
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", size=size.small)
plotshape(series=close_signal, title="Close Long Signal", location=location.abovebar, color=color.orange, style=shape.labeldown, text="Close Long", size=size.small)
plotshape(series=close_short_signal, title="Close Short Signal", location=location.belowbar, color=color.blue, style=shape.labelup, text="Close Short", size=size.small)
// === Affichage des moyennes mobiles sur le graphique ===
plot(short_ma, color=color.blue, title="Moyenne mobile courte (20)", linewidth=2)
plot(medium_ma, color=color.orange, title="Moyenne mobile moyenne (50)", linewidth=2)
plot(long_ma, color=color.red, title="Moyenne mobile longue (100)", linewidth=2)
plot(instant_ma, color=color.rgb(43, 14, 111), title="Moyenne mobile instantanée (10)", linewidth=2)
plot(interm_ma, color=color.rgb(26, 192, 34), title="Moyenne mobile instantanée (10)", linewidth=2)
// Coloration de fond pour les tendances
bgcolor(color=trending_up ? color.new(color.green, 90) : trending_down ? color.new(color.red, 90) : na, title="Coloration de fond")