रेंज ब्रेकआउट के आधार पर दो-दिशात्मक ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-01 14:22:26
टैगः

img

अवलोकन

यह रणनीति अंतिम उच्चतम मूल्य (lastbull) और अंतिम निम्नतम मूल्य (lastbear) की गणना करती है। फिर यह वर्तमान मूल्य की तुलना lastbull और lastbear के साथ यह निर्धारित करने के लिए करती है कि क्या मूल्य एक निश्चित सीमा में प्रवेश कर गया है और इस प्रकार ट्रेडिंग संकेत उत्पन्न करता है। यह तब लंबा हो जाता है जब कीमत एक निश्चित प्रतिशत से lastbull से ऊपर बढ़ जाती है, और कम हो जाती है जब कीमत एक निश्चित प्रतिशत से lastbear से नीचे गिर जाती है।

रणनीति तर्क

यह रणनीति पहले अंतिम उच्चतम मूल्य lastbull और अंतिम निम्नतम मूल्य lastbear की गणना करती है। फिर यह वर्तमान मूल्य के प्रति lastbull और lastbear के सापेक्ष परिवर्तन प्रतिशत ddl की गणना करती है।

जब ddl कॉन्फ़िगर किए गए लंबे सिग्नल की सीमा से कम होता है, तो एक लंबा सिग्नल उत्पन्न होता है। जब dds कॉन्फ़िगर किए गए छोटे सिग्नल की सीमा से अधिक होता है, तो एक छोटा सिग्नल dn उत्पन्न होता है।

लॉन्ग सिग्नल प्राप्त करने पर, यह लॉन्ग पोजीशन खोलता है यदि needlong पैरामीटर सही है। शॉर्ट सिग्नल प्राप्त करने पर, यह शॉर्ट पोजीशन खोलता है यदि needshort पैरामीटर सही है। पोजीशन आकार पूंजी की गणना खाता इक्विटी से की जाती है।

यह लॉन्ग पोजीशन तब बंद करता है जब लॉन्ग खोलने के बाद कीमत बढ़ जाती है, और शॉर्ट पोजीशन तब बंद करता है जब शॉर्ट खोलने के बाद कीमत गिर जाती है।

लाभ विश्लेषण

यह रणनीति रुझान और रेंज विश्लेषण को जोड़ती है। यह रुझानों को पकड़ सकती है और रेंज ब्रेकआउट से ट्रेडिंग सिग्नल उत्पन्न कर सकती है। सरल रुझान ट्रैकिंग रणनीतियों की तुलना में, यह रेंज ब्रेकआउट के बाद जल्दी से नई रुझान दिशा पकड़ सकती है।

पैरामीटर विभिन्न उत्पादों के लिए अत्यधिक विन्यस्त हैं। महत्वपूर्ण घटनाओं से बचने के लिए व्यापार समय सीमा को विन्यस्त किया जा सकता है।

जोखिम विश्लेषण

इस रणनीति में प्रति व्यापार हानि को सीमित करने के लिए कोई स्टॉप लॉस तंत्र नहीं है। जब ट्रेडिंग रेंज बड़ी होती है तो मूल्य में उतार-चढ़ाव से स्थिति का आकार काफी प्रभावित हो सकता है।

प्रति व्यापार हानि को सीमित करने के लिए स्टॉप लॉस जोड़ा जा सकता है। स्थिति आकार को स्थिर करने के लिए उत्पादों के आधार पर स्थिति आकार एल्गोरिथ्म को अनुकूलित किया जा सकता है।

अनुकूलन दिशाएँ

  1. ट्रेड हानि जोखिम के अनुसार नियंत्रण के लिए चलती स्टॉप लॉस जोड़ें
  2. स्थिति आकार निर्धारण एल्गोरिथ्म में सुधार, उदाहरण के लिए स्थिति आकार को स्थिर करने के लिए एटीआर का उपयोग करें
  3. प्रवेश संकेतों के लिए फ़िल्टरिंग जोड़ें, जैसे कि केवल तब दर्ज करें जब स्वर्ण क्रॉस होता है
  4. कम प्रणालीगत जोखिम के साथ सहसंबंध के साथ कई उत्पादों का व्यापार

सारांश

यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए रुझान विश्लेषण और रेंज ब्रेकआउट को जोड़ती है, जो नए रुझानों को पकड़ सकती है और रेंज लिंक्ड विशेषताओं का लाभ उठा सकती है। पैरामीटर विभिन्न उत्पादों के लिए अत्यधिक कॉन्फ़िगर करने योग्य हैं। अधिक जटिल बाजार वातावरण को अनुकूलित करने के लिए अनुकूलन के लिए बड़ा स्थान है।


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Noro's DDL Strategy", shorttitle = "DDL str", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
needlong = input(true, title = "Long")
needshort = input(true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
signalshort = input(3.0, title = "Short, %")
signallong = input(-3.0, title = "Long, %")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
bull = close > close[1] ? 1 : 0
bear = close < close[1] ? 1 : 0
lastbull = 0.0
lastbull := bull ? close : lastbull[1]
lastbear = 0.0
lastbear := bear ? close : lastbear[1]

//Signals
ddl = ((close / lastbull) - 1) * 100
up = ddl < signallong
dds = ((close / lastbear) - 1) * 100
dn = dds > signalshort

//Lines
plot(dds, style = plot.style_area, color = color.red, transp = 0)
plot(ddl, style = plot.style_area, color = color.lime, transp = 0)
plot(0, color = color.black, linewidth = 2, transp = 0)

//Background
col = (up and needlong) or (dn and needshort) ? color.yellow : na
bgcolor(col, transp = 20)

//Orders
lot = 0.0
lot := strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
truetime = true
if up
    strategy.entry("Long", strategy.long, lot, when = needlong and truetime)
if dn
    strategy.entry("Short", strategy.short, lot, when = needshort and truetime)
if strategy.position_size > 0 and close > open
    strategy.entry("Close", strategy.short, 0)
if strategy.position_size < 0 and close < open
    strategy.entry("Close", strategy.long, 0)

अधिक