ट्रेंड फॉलोइंग बाय एंड सेल स्ट्रैटेजी एक साधारण ट्रेंड फॉलोइंग डे ट्रेडिंग स्ट्रैटेजी है। इसका आधार मूविंग एवरेज के आधार पर ट्रेंड की दिशा निर्धारित करना और ट्रेंड में डिप्स और ब्लिप्स को खरीद/बेचना है।
रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए सरल चलती औसत (एसएमए) का उपयोग करती है। एक अपट्रेंड में, जब मोमबत्ती की कार्रवाई एक
यह रणनीति ट्रेंड निर्धारण के लिए ब्लैंचफ्लावर ऑसिलेटर के %K और %D का भी उपयोग करती है। यह स्थिति को बंद कर देगा और विपरीत दिशा में व्यापार करेगा जब %K %D से ऊपर पार हो जाएगा। इसके अतिरिक्त, MACD और सिग्नल लाइन केवल उन ट्रेडों को लेने के लिए फ़िल्टर के रूप में कार्य करती है जो MACD और सिग्नल द्वारा निर्धारित ट्रेंड दिशा के अनुरूप हैं।
रणनीति केवल लॉन्ग, शॉर्ट या दोनों जा सकती है। प्रारंभ महीना और वर्ष उस बिंदु से अब तक बैकटेस्टिंग की अनुमति देते हैं। सभी पैरामीटर जैसे एसएमए अवधि, %के अवधि, %डी अवधि, एमएसीडी पैरामीटर आदि अनुकूलन योग्य हैं।
इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः
इस रणनीति में निम्नलिखित पहलुओं में सुधार किया जा सकता हैः
ट्रेंड फॉलोइंग बाय एंड सेल स्ट्रैटेजी में एसएमए द्वारा पहचाने गए ट्रेंड्स में ट्रेड पॉलबैक के लिए एक सरल और सीधा तर्क है और संकेतक द्वारा फ़िल्टर किया गया है। ठीक ट्यूनिंग पैरामीटर और जोखिम नियंत्रण सभ्य परिणामों का कारण बन सकते हैं, लेकिन ओवरफिट को रोकने और मजबूती में सुधार के लिए अभी भी कॉम्बाइन इनकैप्सुलेशन की आवश्यकता है। कुल मिलाकर यह एक व्यावहारिक इंट्राडे ट्रेडिंग रणनीति है।
/*backtest start: 2022-10-10 00:00:00 end: 2023-10-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Higher High / Lower Low Strategy", overlay=true) // Getting inputs longOnly = input(true, title="Long or Short Only") useMACD = input(true, title="Use MACD Filter") useSignal = input(true, title="Use Signal Filter") //Filter backtest month and year startMonth = input(10, minval=1, maxval=12, title="Month") startYear = input(2020, minval=2000, maxval=2100, title="Year") //Filter funtion inputs periodA = input(20, minval=1, title="Period SMA") periodK = input(5, minval=1, title="Period %K") fast_length = input(title="Period Fast", type=input.integer, defval=5) slow_length = input(title="Period Slow", type=input.integer, defval=20) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 30) //Calculations smoothD = 3 //input(3, minval=1, title="Smooth %D") smoothK = 2 //input(2, minval=1, title="Smooth %K") ma50 = sma(close, periodA) k = sma(stoch(close, high, low, periodK), smoothK) - 50 d = sma(k, smoothD) macd = ema(close,fast_length) - ema(close,slow_length) signal = ema(macd,signal_length) hist = macd - signal if (not na(k) and not na(d) and not na(macd) and not na(signal) and longOnly and month>=startMonth and year>=startYear)// if(k > k[1] and k[2] >= k[1] and (ma50 > ma50[1]) and (not useK or k[1] <= -threshold_k) and (not useMACD or macd > macd[1]) and (not useSignal or signal > signal[1]) and (not useHHLL or close >= high[1]) and (not useD or d <= -threshold_d)) if(high[2] >= high[1] and high > high[1] and (ma50 > ma50[1]) and (not useMACD or macd > macd[1]) and (not useSignal or signal > signal[1])) strategy.order("HH_LE", strategy.long, when=strategy.position_size == 0, comment="HH_LE") if (k < k[1]) strategy.order("HH_SX", strategy.short, when=strategy.position_size != 0, comment="HH_SX") if (not na(k) and not na(d) and not na(macd) and not na(signal) and not longOnly and month>=startMonth and year>=startYear) if(low[2] <= low[1] and low < low[1] and (ma50 < ma50[1]) and (not useMACD or macd < macd[1]) and (not useSignal or signal < signal[1])) strategy.order("HH_SE", strategy.short, when=strategy.position_size == 0, comment="HH_SE") if (k > k[1]) strategy.order("HH_LX", strategy.long, when=strategy.position_size != 0, comment="HH_LX") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)