रणनीति का पालन करते हुए क्वांटम रुझान

लेखक:चाओझांग, दिनांक: 2024-01-04 15:25:42
टैगः

img

अवलोकन

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

सिद्धांत

इस रणनीति में निम्नलिखित मुख्य भाग शामिल हैंः

  1. प्राथमिक प्रवृत्ति निर्धारित करने के लिए ईएमए रेखाएं

    तेजी / गिरावट पूर्वाग्रह बनाने और प्राथमिक प्रवृत्ति दिशा का न्याय करने के लिए 13 दिन, 50 दिन और 100 दिन की रेखाओं का उपयोग करें।

  2. एटीआर गतिशील स्टॉप हानि

    एटीआर सूचक का उपयोग वर्तमान अवधि के मूल्य आंदोलन सीमा की गणना करने और लाभ में लॉक करने के लिए स्टॉप लॉस मूल्य निर्धारित करने के लिए करें।

  3. सिग्नल चिकनाई

    झूठे संकेतों से बचने के लिए SMA के साथ एक निश्चित अवधि में सुचारू समापन मूल्य।

  4. बुलिश/बियर सिग्नल

    जब कीमत ईएमए रेखाओं के ऊपर जाती है तो लंबी, नीचे जाती है तो छोटी। गतिशील एटीआर ट्रेलिंग स्टॉप लॉस सेट करें।

लाभ विश्लेषण

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

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

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

कुछ जोखिम भी हैं:

  1. स्थैतिक मापदंड विभिन्न उत्पादों के लिए उपयुक्त नहीं हो सकते हैं, अनुकूलन की आवश्यकता है।
  2. स्टॉप लॉस के लिए विभिन्न बाजारों में अंतर हो सकता है।
  3. गुम संकेतों से बचने के लिए सर्वर स्थिरता की आवश्यकता होती है.

इन जोखिमों को पैरामीटर अनुकूलन, अनुकूलन क्षमता परीक्षण आदि के माध्यम से कम किया जा सकता है।

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

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

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

निष्कर्ष

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


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Combined Strategy", overlay=true)

// Input variables for EMA Crossover
ema13_length = input(13, title="EMA 13 Length")
ema50_length = input(50, title="EMA 50 Length")
ema100_length = input(100, title="EMA 100 Length")
ema200_length = input(200, title="EMA 200 Length")

// Calculate EMAs for EMA Crossover
ema13 = ema(close, ema13_length)
ema50 = ema(close, ema50_length)
ema100 = ema(close, ema100_length)
ema200 = ema(close, ema200_length)

// Plot EMAs for EMA Crossover
plot(ema13, color=color.blue, title="EMA 13")
plot(ema50, color=color.orange, title="EMA 50")
plot(ema100, color=color.green, title="EMA 100")
plot(ema200, color=color.red, title="EMA 200")

// Input variables for LinReg Candles
signal_length = input(title="Signal Smoothing", type=input.integer, minval=1, maxval=200, defval=11)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=true)

lin_reg = input(title="Lin Reg", type=input.bool, defval=true)
linreg_length = input(title="Linear Regression Length", type=input.integer, minval=1, maxval=200, defval=11)

// Calculate LinReg Candles
bopen = lin_reg ? linreg(open, linreg_length, 0) : open
bhigh = lin_reg ? linreg(high, linreg_length, 0) : high
blow = lin_reg ? linreg(low, linreg_length, 0) : low
bclose = lin_reg ? linreg(close, linreg_length, 0) : close

r = bopen < bclose

signal = sma_signal ? sma(bclose, signal_length) : ema(bclose, signal_length)

plotcandle(r ? bopen : na, r ? bhigh : na, r ? blow: na, r ? bclose : na, title="LinReg Candles", color=color.green, wickcolor=color.green, bordercolor=color.green, editable=true)
plotcandle(r ? na : bopen, r ? na : bhigh, r ? na : blow, r ? na : bclose, title="LinReg Candles", color=color.red, wickcolor=color.red, bordercolor=color.red, editable=true)

plot(signal, color=color.white)

// Input variables for UT Bot Alerts
a = input(1, title="Key Value. 'This changes the sensitivity'")
c = input(10, title="ATR Period")
h = input(false, title="Signals from Heikin Ashi Candles")

// Calculate UT Bot Alerts
xATR = atr(c)
nLoss = a * xATR

src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead=false) : close

xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))

pos = 0   
pos := iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 

xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

ema = ema(src,1)
above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)

buy = src > xATRTrailingStop and above 
sell = src < xATRTrailingStop and below

barbuy = src > xATRTrailingStop 
barsell = src < xATRTrailingStop 

strategy.entry("Buy", strategy.long, when=buy)
strategy.close("Buy", when=sell)
strategy.entry("Sell", strategy.short, when=sell)
strategy.close("Sell", when=buy)

plotshape(buy, title="Buy", text='Buy', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, transp=0, size=size.tiny)
plotshape(sell, title="Sell", text='Sell', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, transp=0, size=size.tiny)

barcolor(barbuy ? color.green : na)
barcolor(barsell ? color.red : na)

alertcondition(buy, "UT Long", "UT Long")
alertcondition(sell, "UT Short", "UT Short")


अधिक