यह रणनीति एक डबल-स्कैम्बल ट्रैकिंग रिवर्स ट्रेडिंग रणनीति है, जो अधिक विश्वसनीय ट्रेडिंग सिग्नल प्राप्त करने के लिए एक यादृच्छिक सूचक रिवर्स रणनीति और एक निश्चित याकेन अस्थिरता सूचक का उपयोग करती है। यह रणनीति प्रवृत्ति रिवर्स बिंदु पर लाभ को पकड़ने के लिए बनाई गई है और मध्यम-लंबी लाइन ट्रेडिंग के लिए लागू है।
इस रणनीति के दो भाग हैं:
इस भाग में यादृच्छिक संकेतक की तेज रेखा और धीमी रेखा का उपयोग करके ट्रेडिंग सिग्नल उत्पन्न किए जाते हैं। जब समापन मूल्य पिछले दिन के समापन मूल्य से दो दिन लगातार कम होता है, और तेज रेखा धीमी रेखा से अधिक होती है, तो अधिक करें; जब समापन मूल्य पिछले दिन की समापन मूल्य से दो दिन लगातार अधिक होता है, और तेज रेखा धीमी रेखा से कम होती है, तो शून्य करें।
यह सूचक एक समय के दौरान उच्चतम और निम्नतम कीमतों के बीच अंतर के परिवर्तन की गणना करता है। जब अंतर बढ़ता है, तो यह उतार-चढ़ाव की दर में वृद्धि को दर्शाता है, और इसे कम किया जा सकता है; जब अंतर कम हो जाता है, तो यह उतार-चढ़ाव की दर में कमी को दर्शाता है, और अधिक किया जा सकता है।
अंतिम ट्रेडिंग सिग्नल दो भागों के सिग्नल का संयोजन है। जब रैंडम इंडिकेटर सिग्नल और अस्थिरता इंडिकेटर सिग्नल मेल खाते हैं, तो सिग्नल लिया जाता है; यदि दोनों सिग्नल मेल नहीं खाते हैं, तो व्यापार नहीं किया जाता है।
इस रणनीति के निम्नलिखित फायदे हैं:
दो अलग-अलग प्रकार के संकेतक के संयुक्त उपयोग से संकेत की सटीकता में सुधार हो सकता है।
दोहरी सत्यापन तंत्र का उपयोग करके, झूठे संकेतों को कम किया जा सकता है और जोखिमों को नियंत्रित किया जा सकता है।
ट्रेडों के प्रमुख दिशा के रूप में रिवर्सिंग के द्वारा ट्रेंड रिवर्सिंग पॉइंट्स पर मुनाफा कमाया जा सकता है।
मापदंडों की सेटिंग लचीली है और इसे विभिन्न किस्मों और चक्रों के लिए अनुकूलित किया जा सकता है।
इष्टतम स्थिति प्राप्त करने के लिए सूचक मापदंडों को ठीक से समायोजित करें।
इस रणनीति के साथ निम्नलिखित जोखिम भी हैं:
रिवर्स सिग्नल में गलतफहमी हो सकती है, जिससे नुकसान हो सकता है। गलतफहमी की संभावना को कम करने के लिए पैरामीटर को उचित रूप से समायोजित किया जा सकता है।
जब अस्थिरता में तेजी से वृद्धि होती है, तो कमोडिटी दिशा में नुकसान का जोखिम होता है। जोखिम को नियंत्रित करने के लिए स्टॉप लॉस सेट किया जा सकता है।
जब स्थिति में भारी उतार-चढ़ाव होता है, तो द्विआधारी सूचकांक के पोर्टफोलियो को निष्क्रिय कर दिया जा सकता है। इस समय व्यापार को निलंबित करने पर विचार किया जा सकता है, जब तक कि सूचकांक फिर से स्थिर नहीं हो जाता।
एक ही समय में दो संकेतकों की निगरानी की आवश्यकता है, जो व्यापारियों के काम का बोझ बढ़ाता है। स्वचालित व्यापार कार्यक्रम को काम का बोझ कम करने के लिए तैयार किया जा सकता है।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
अधिक संयोजनों का परीक्षण करें और सबसे अच्छा खोजें।
अन्य पुष्टिकरण संकेतकों को जोड़ना, जैसे कि मात्रा और मूल्य संकेतकों, बहु-पुष्टिकरण बनाते हैं।
जोखिम को और अधिक नियंत्रित करने के लिए स्टॉप-लॉस, जैसे कि स्टॉप-ऑफ-मोशन, स्टॉप-ऑफ-स्पेस आदि को शामिल करना।
फिक्स्ड शेयर्स, केली आदि जैसे फंड मैनेजमेंट रणनीतियों का अनुकूलन करें और लाभप्रदता में सुधार करें।
अलग-अलग किस्मों और चक्रों के लिए पैरामीटर सेटिंग्स अलग-अलग हैं, और अधिक किस्मों और चक्रों की उपयुक्तता का परीक्षण किया जा सकता है।
इस रणनीति में द्विआधारी संकेतकों का व्यापक रूप से उपयोग किया जाता है ताकि बाजार को मुख्य व्यापारिक दिशा में वापस लेने के लिए ट्रेडिंग सिग्नल बनाया जा सके। इसकी उच्च संकेत सटीकता, अच्छी तरह से नियंत्रित जोखिम और अन्य फायदे हैं, इसमें सुधार के लिए कुछ जगह भी है। पैरामीटर अनुकूलन, स्टॉप लॉस और धन प्रबंधन जैसे सुधारों के माध्यम से, इस रणनीति को एक मजबूत मध्यम-लंबी लाइन रिवर्स ट्रेडिंग रणनीति में अनुकूलित किया जा सकता है।
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 29/07/2019
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Chaikin's Volatility indicator compares the spread between a security's
// high and low prices. It quantifies volatility as a widening of the range
// between the high and the low price.
// You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
// HLC3, OHLC4 and ect...
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
ChaikinVolatility(Length, ROCLength, Trigger) =>
pos = 0
xPrice1 = high
xPrice2 = low
xPrice = xPrice1 - xPrice2
xROC_EMA = roc(ema(xPrice, Length), ROCLength)
pos := iff(xROC_EMA < Trigger, 1,
iff(xROC_EMA > Trigger, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Chaikin Volatility", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCV = input(10, minval=1)
ROCLength = input(12, minval=1)
Trigger = input(0, minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChaikinVolatility = ChaikinVolatility(LengthCV, ROCLength, Trigger)
pos = iff(posReversal123 == 1 and posChaikinVolatility == 1 , 1,
iff(posReversal123 == -1 and posChaikinVolatility == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )