अस्थिरता प्रवृत्ति ट्रैकिंग रणनीति पर आधारित


निर्माण तिथि: 2024-02-18 10:07:29 अंत में संशोधित करें: 2024-02-18 10:07:29
कॉपी: 0 क्लिक्स: 538
1
ध्यान केंद्रित करना
1617
समर्थक

अस्थिरता प्रवृत्ति ट्रैकिंग रणनीति पर आधारित

अवलोकन

यह रणनीति कीमतों के रुझान और ओवरबॉय ओवरसोल को WaveTrend सूचकांक के माध्यम से निर्धारित करती है, जो RSI सूचकांक के फिल्टर सिग्नल के साथ मिलकर ट्रेंड ट्रैकिंग के तरीके को अपनाती है, जो ओवरबॉय ओवरसोल बिट्स पर रिवर्स ऑपरेशन करती है।

रणनीति सिद्धांत

यह रणनीति WaveTrend सूचक का उपयोग करके मूल्य प्रवृत्ति की दिशा को निर्धारित करती है। WaveTrend सूचक Rainbow सूचक पर आधारित है, जो Heikin-Ashi औसत और मूल्य के पूर्ण मूल्य के बीच के अंतर की गणना करके मूल्य प्रवृत्ति की दिशा को निर्धारित करता है। RSI सूचक के साथ मिलकर ओवरबॉट और ओवरसोल्ड स्थिति को निर्धारित करने के लिए एक व्यापारिक संकेत भेजता है।

विशेष रूप से, रणनीति में WaveTrend सूत्र हैः

esa = ema(hlc3, 10) 
d = ema(abs(hlc3 - esa), 10)
ci = (hlc3 - esa) / (0.015 * d)
wt = ema(ci, 21)

इनमें से, esa गणना की गई हेकिन-आशी औसत रेखा है, d हेकिन-आशी औसत रेखा और कीमत के पूर्ण मूल्य के बीच अंतर का औसत है.

आरएसआई सूचक का उपयोग ओवरबॉट और ओवरसोल्ड को समझने के लिए किया जाता है। कोड में आरएसआई की गणना करने के लिए सूत्र हैः

rsiup = rma(max(change(close), 0), 14) 
rsidown = rma(-min(change(close), 0), 14) 
rsi = rsidown == 0 ? 100 : rsiup == 0 ? 0 : 100 - (100 / (1 + rsiup / rsidown))

इसका मानदंड 0-100 है, 70 से अधिक सुपर-खरीद क्षेत्र है, 30 से कम सुपर-बिक्री क्षेत्र है।

इन दोनों संकेतकों के संयोजन से, जब आरएसआई 25 से कम है, तो वेवट्रेंड 60 से कम है, तो ओवरसोल्ड क्षेत्र के लिए, अधिक संकेत; जब आरएसआई 75 से अधिक है, तो वेवट्रेंड 60 से अधिक है, तो ओवरबॉय क्षेत्र के लिए, कम संकेत।

श्रेष्ठता विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैं:

  1. WaveTrend सूचक का उपयोग करके मूल्य प्रवृत्ति की दिशा को सटीक और विश्वसनीय रूप से निर्धारित करना।
  2. आरएसआई सूचक फ़िल्टर अनावश्यक ट्रेडों से बचने और जीत की दर को बढ़ाने में मदद करता है।
  3. ट्रेंड ट्रैकिंग का उपयोग करके, आप मूल्य रुझानों से होने वाले लाभ को अधिकतम कर सकते हैं।
  4. रणनीति स्पष्ट और समझने में आसान है, पैरामीटर सेट करने में लचीला है, विभिन्न किस्मों और बाजारों के लिए अनुकूलित किया जा सकता है।
  5. रणनीति को लागू करना आसान है, इसे वास्तविकता में सत्यापित करना आसान है, और इसे अनुकूलित करना आसान है।

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

इस रणनीति के कुछ जोखिम भी हैं:

  1. वेवट्रेंड और आरएसआई दोनों ही सूचकांकों में कुछ देरी है, जो कि कीमतों के पलटने के बिंदु को याद कर सकता है।
  2. फ़िल्टरिंग की स्थिति के बावजूद, भूकंपीय घटनाओं के दौरान एक गलत संकेत हो सकता है।
  3. स्टॉप लॉस ट्रैक करने की रणनीति में सुधार की आवश्यकता है, और यह एकल नुकसान को प्रभावी ढंग से नियंत्रित नहीं कर सकता है।
  4. यह महत्वपूर्ण है कि पैरामीटर को उचित रूप से नस्ल की विशेषताओं और लेनदेन की आवृत्ति से मेल खाना चाहिए।

क्या करें?

  1. अतिरिक्त निर्णय सूचकांकों के संयोजन के साथ अनुकूलन, संकेत की सटीकता में सुधार।
  2. एक स्टॉप लॉस रणनीति में शामिल हों और अपने व्यक्तिगत नुकसान को नियंत्रित करें।
  3. बाजार की किस्मों के अनुकूल रणनीति को अनुकूलित करने के लिए सर्वोत्तम संयोजन खोजें।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित दिशाओं में अनुकूलित किया जा सकता हैः

  1. निर्णय सूचक को बदलने या निर्णय सूचक को बढ़ाने के लिए, संकेत की सटीकता को अनुकूलित करें। उदाहरण के लिए, निर्णय सूचक जैसे मैकड, केडी आदि को जोड़ना।

  2. विभिन्न प्रकार के ट्रेडों को अनुकूलित करने के लिए पैरामीटर सेटिंग्स को अनुकूलित करें। जैसे कि चिकनाई चक्र को समायोजित करना और सर्वोत्तम पैरामीटर संयोजन की तलाश करना।

  3. एकल हानि को प्रभावी ढंग से नियंत्रित करने के लिए एक स्टॉप लॉस ट्रैकिंग रणनीति में शामिल हों। जैसे कि शेष प्रतिशत स्टॉप लॉस, मोबाइल स्टॉप लॉस आदि।

  4. अलग-अलग स्टॉकिंग रणनीतियों पर विचार करें। उदाहरण के लिए, मार्टिंगेल स्टॉकिंग्स का उपयोग करके स्टॉकिंग्स की एक निश्चित संख्या को बदलने के लिए।

  5. अनुकूली सीमा पैरामीटर का अनुकूलन, निर्णय की सटीकता में सुधार के लिए सबसे अच्छा पैरामीटर की तलाश करना।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's WaveTrender Strategy v1.0", shorttitle = "WaveTrender str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(false, defval = false, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
showarr = input(true, defval = true, title = "Show Arrows")
fromyear = input(2018, defval = 2018, 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")

//RSI
rsiup = rma(max(change(close), 0), 14)
rsidown = rma(-min(change(close), 0), 14)
rsi = rsidown == 0 ? 100 : rsiup == 0 ? 0 : 100 - (100 / (1 + rsiup / rsidown))

//WaveTrend
esa = ema(hlc3, 10)
d = ema(abs(hlc3 - esa), 10)
ci = (hlc3 - esa) / (0.015 * d)
wt = ema(ci, 21)

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
overs = rsi < 25 and wt < -60
overb = rsi > 75 and wt > 60
up1 = (strategy.position_size == 0 or close < strategy.position_avg_price) and overs and bar == -1
dn1 = (strategy.position_size == 0 or close > strategy.position_avg_price) and overb and bar == 1
exit = (strategy.position_size > 0 and overs == false) or (strategy.position_size < 0 and overb == false)

//Arrows
col = exit ? black : up1 or dn1 ? blue : na
needup = up1
needdn = dn1
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)

//Trading
profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1]
mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1]

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if dn1
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
    
if exit
    strategy.close_all()