यह रणनीति एक द्वि-समय फ़्रेम सुपरट्रेंड ट्रैकिंग रणनीति है। यह दो अलग-अलग चक्रों के सुपरट्रेंड संकेतक को एक साथ लागू करता है, एक मुख्य समय फ़्रेम के रूप में प्रवृत्ति की दिशा का न्याय करने के लिए, और एक सहायक समय फ़्रेम के रूप में फ़िल्टर करने के लिए। जब दो समय फ़्रेमों के सुपरट्रेंड संकेतक एक साथ होते हैं, तो ट्रेंड टर्नओवर को अधिक सटीक रूप से पकड़ने के लिए।
इस रणनीति का केंद्रीय संकेतक सुपरट्रेंड संकेतक है। सुपरट्रेंड संकेतक कीमतों के सापेक्ष प्रवृत्ति की दिशा को निर्धारित करने के लिए मूल्य विखंडन की गणना करता है। रणनीति दो समय अवधि के सुपरट्रेंड संकेतक का उपयोग करती है, जो मुख्य समय सीमा और सहायक समय सीमा की सुपरट्रेंड लाइनों की गणना करती है।
लेन-देन का तर्क इस प्रकार है:
प्रवृत्ति रेखा के ऊपर की दिशा को मुख्य प्रवृत्ति दिशा के रूप में निर्धारित करें।
जब स्थिति समानांतर संकेत के लिए एक ओवरट्रेंड लाइन का इंतजार कर रहे हैं, तो सहायक समय सीमा में प्रवेश करें।
स्टॉप लॉस स्टॉप प्वाइंट सेट करें
मेन टाइम फ्रेम ओवरट्रेंड लाइन फिर से पलट गई और फिर से बराबरी पर आ गई।
इस प्रकार, दो चक्रों के संकेतकों के संयोजन से, कुछ विचलन संकेतों को फ़िल्टर किया जा सकता है, जिससे प्रवेश अधिक सटीक हो सके।
इस रणनीति के निम्नलिखित फायदे हैं:
दो समय-सीमाओं के संयोजन से प्रवृत्तियों का अधिक सटीक आकलन किया जा सकता है।
सुपरट्रेंड सूचकांक प्रवृत्ति परिवर्तन के प्रति संवेदनशील है और प्रवेश के समय सटीक है।
जोखिम को नियंत्रित करने के लिए स्टॉप लॉस स्टॉप प्वाइंट सेट करें
रणनीति तर्क सरल, सीधा और समझने में आसान है।
विभिन्न किस्मों के लिए अनुकूलित करने योग्य पैरामीटर
इस रणनीति के मुख्य जोखिम हैंः
सुपरट्रेंड सूचक में देरी के कारण सिग्नल को गलत समझा जा सकता है
क्षति रोकथाम को गलत तरीके से सेट करने से अत्यधिक पीछा किया जा सकता है या जानबूझकर क्षतिग्रस्त हो सकता है।
डबल टाइमफ्रेम के संयोजनों में कम समय के लिए पलटाव की संभावना नहीं है।
पैरामीटर अनुकूलन ऐतिहासिक डेटा पर निर्भर करता है, ओवरफिटिंग जोखिम मौजूद है.
लेन-देन की लागत के प्रभाव को ध्यान में नहीं रखा गया है।
समाधान के लिएः
सूचकांक पैरामीटर को उचित रूप से समायोजित करें और अन्य सूचकांक के संयोजन को सत्यापित करें।
स्टॉप लॉस स्टॉप पोजीशन को गतिशील रूप से अनुकूलित करने के लिए फीडबैक डेटा।
सहायक निर्णय के रूप में परीक्षण की एक छोटी अवधि।
डेटा का विस्तार, बहु-बाजार प्रतिक्रिया सत्यापन।
लेन-देन की लागत में शामिल हैं जैसे कि शुल्क, स्लाइड पॉइंट आदि।
इस रणनीति को और भी बेहतर बनाया जा सकता है:
अधिक संकेतकों के संयोजन का परीक्षण करें और इष्टतम संयोजन खोजें।
गतिशील अनुकूलन पैरामीटर के लिए मशीन सीखने के तरीकों को शामिल करना।
स्टॉप लॉस स्टॉप रणनीति को अनुकूलित करना और लाभ-हानि अनुपात में सुधार करना।
विभिन्न समय चक्रों के संयोजन का प्रयोग करें।
स्टॉप-स्टॉप-लॉस को ट्रेडों की संख्या के अनुसार समायोजित करें।
जोड़ने के लिए शुल्क और स्लाइड अंक की गणना तर्क।
ग्राफिक्स पैरामीटर अनुकूलन उपकरण विकसित करना।
इस रणनीति के माध्यम से अधिक सटीक प्रवृत्ति निर्णय और प्रविष्टियों को प्राप्त किया जाता है। स्टॉपलॉस को रोकना और जोखिम को नियंत्रित करना। रणनीति तर्क सरल और स्पष्ट है, इसे आसानी से बढ़ाया और अनुकूलित किया जा सकता है। बाद के चरणों में सुधार किया जा सकता है ताकि रणनीति को और अधिक मजबूत बनाया जा सके, जैसे कि अधिक संकेतक, गतिशील अनुकूलन पैरामीटर और ट्रेडिंग लागत गणना शामिल करना। कुल मिलाकर, यह रणनीति एक अच्छा संदर्भ मूल्य के साथ एक विचार प्रदान करती है।
/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Supertrend Strategy by breizh29 using *rajandran.r* Supertrend Indicator
// strategy("Super Trend 2", overlay=true, default_qty_value=100)
TrendUp = 0.0
TrendDown = 0.0
Trend = 0.0
MTrendUp = 0.0
MTrendDown = 0.0
MTrend = 0.0
res = input(title="Main SuperTrend Time Frame", defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)
tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))
Mclose=security(syminfo.tickerid,res,close)
TrendUp:=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown:=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
MTrendUp:=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown:=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn
Trend := close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
MTrend := Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown
linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")
Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")
plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)
up = Trend == 1 and Trend[1] == -1 and MTrend == 1
down = Trend == -1 and Trend[1] == 1 and MTrend == -1
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)
golong = Trend == 1 and Trend[1] == -1 and MTrend == 1
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1
strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)