रुझान ट्रैकिंग रिवर्सल रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-03 16:34:28
टैगः

img

अवलोकन

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

रणनीति तर्क

यह रणनीति मूल्य प्रवृत्तियों को ट्रैक करने के लिए 3 अवधि के उच्च और निम्न बिंदु चलती औसत एचएमए और एलएमए का उपयोग करती है। जब कीमतें एचएमए से ऊपर जाती हैं, तो इसे तेजी के रूप में व्याख्या की जाती है; जब कीमतें एलएमए से नीचे जाती हैं, तो इसे मंदी के रूप में व्याख्या की जाती है।

रणनीति में हाल के बार K-लाइनों के भीतर उच्चतम और निम्नतम कीमतों के आधार पर मूल्य चैनल के ऊपरी और निचले रेल (अपलेवल और dnlevel) की गणना भी की जाती है। अपलेवल हाल के बार K-लाइनों में उच्चतम मूल्य है और ऊपर की ओर एक रिट्रेसमेंट गुणांक है; dnlevel हाल के बार K-लाइनों में सबसे कम मूल्य है और नीचे की ओर एक रिट्रेसमेंट गुणांक है। यह मूल्य चैनल रेंज का गठन करता है।

लॉन्ग पोजीशन खोलने पर स्टॉप लॉस की कीमत चैनल के ऊपरी रेल पर सेट की जाती है; शॉर्ट पोजीशन खोलने पर स्टॉप लॉस की कीमत चैनल के निचले रेल पर सेट की जाती है। इससे प्रभावी रूप से मूल्य उलटों से होने वाले नुकसान के जोखिम को नियंत्रित किया जाता है।

जब एक रिवर्स सिग्नल दिखाई देता है, तो रणनीति तुरंत नई मूल्य प्रवृत्ति को ट्रैक करने के लिए खुली स्थितियों को उलट देगी। यह रिवर्स ट्रैक करने के पीछे का सिद्धांत है।

लाभ

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

जोखिम

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

सुधार:

  1. अन्य संकेतकों के साथ अमान्य संकेतों को फ़िल्टर करें;
  2. मुनाफे को लॉक करने और अधिकतम ड्रॉडाउन को सीमित करने के लिए चलती स्टॉप लॉस जोड़ें;
  3. विभिन्न उत्पादों और चक्रों के लिए मापदंडों का परीक्षण और अनुकूलन।

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

आगे अनुकूलन के लिए जगह हैः

  1. कुछ अमान्य संकेतों को फ़िल्टर करने के लिए अन्य संकेतकों को पेश किया जा सकता है, जैसे कि एमएसीडी, केडी आदि।

  2. जोखिमों को और अधिक नियंत्रित करने के लिए अनुकूलन स्टॉप लॉस लॉजिक जोड़ा जा सकता है, जैसे कि स्टॉप लॉस, बैलेंस स्टॉप लॉस आदि को स्थानांतरित करना।

  3. रणनीति प्रदर्शन पर विभिन्न मापदंडों के प्रभाव का परीक्षण करें और मापदंड संयोजनों का अनुकूलन करें, जैसे एमए चक्र लंबाई, पुनरावृत्ति गुणांक आकार, आदि।

  4. रणनीति वर्तमान में समयबद्ध सत्रों में व्यापार करती है। इसे पूरे दिन के व्यापार के लिए भी समायोजित किया जा सकता है। इसके लिए अतिरिक्त फ़िल्टरिंग नियमों की आवश्यकता हो सकती है।

निष्कर्ष

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=3
strategy(title = "Noro's 3Bars Strategy by Larry Williams", shorttitle = "3Bars", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
corr = input(0.0, title = "Correction, %")
bars = input(1, minval = 1)
revers = input(false, defval = false, title = "revers")
showll = input(true, defval = true, title = "Show Levels")
showos = input(true, defval = true, title = "Show Levels one side")
showcl = input(false, defval = false, title = "Show Levels continuous line")
showbg = input(false, defval = false, title = "Show Background")
showar = input(false, defval = false, title = "Show Arrows")
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")

len = input(3)

hma = sma(high, len)
lma = sma(low, len)
plot(hma)
plot(lma)

//Levels
hbar = 0
hbar := high > high[1] ? 1 : high < high[1] ? -1 : 0
lbar = 0
lbar := low > low[1] ? 1 : low < low[1] ? -1 : 0
uplevel = 0.0
dnlevel = 0.0
hh = highest(high, bars + 1)
ll = lowest(low, bars + 1)
uplevel := hbar == -1 and sma(hbar, bars)[1] == 1 ? hh + ((hh / 100) * corr) : uplevel[1]
dnlevel := lbar == 1 and sma(lbar, bars)[1] == -1 ? ll - ((ll / 100) * corr) : dnlevel[1]

//Background
size = strategy.position_size
trend = 0
trend := size > 0 ? 1 : size < 0 ? -1 : high >= uplevel ? 1 : low <= dnlevel ? -1 : trend[1]
col = showbg == false ? na : trend == 1 ? lime : trend == -1 ? red : na
bgcolor(col)

//Lines
upcol = na
upcol := showll == false ? na : uplevel != uplevel[1] and showcl == false ? na : showos and trend[1] == 1 ? na : lime
plot(uplevel, color = upcol, linewidth = 2)
dncol = na
dncol := showll == false ? na : dnlevel != dnlevel[1] and showcl == false ? na : showos and trend[1] == -1 ? na : red
plot(dnlevel, color = dncol, linewidth = 2)

//Arrows
longsignal = false
shortsignal = false
longsignal := size > size[1]
shortsignal := size < size[1]
plotarrow(longsignal and showar and needlong ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(shortsignal and showar and needshort ? -1 : na, colorup = blue, colordown = blue, transp = 0)

//Trading
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if uplevel > 0 and dnlevel > 0 and revers == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = uplevel)
    strategy.entry("Long stop", strategy.short, 0, stop = lma)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel)
    strategy.entry("Short stop", strategy.long, 0, stop = hma)
    
// if time > timestamp(toyear, tomonth, today, 23, 59)
//     strategy.close_all()

अधिक