मूविंग एवरेज ट्रेंड फॉलोइंग ऑप्टिमाइजेशन रणनीति


निर्माण तिथि: 2024-01-04 15:44:23 अंत में संशोधित करें: 2024-01-04 15:44:23
कॉपी: 0 क्लिक्स: 526
1
ध्यान केंद्रित करना
1621
समर्थक

मूविंग एवरेज ट्रेंड फॉलोइंग ऑप्टिमाइजेशन रणनीति

अवलोकन

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

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

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

कोड सेट स्टोचैस्टिक के लिए उच्च 1080 है, और निम्न 1020 है, और स्टोचैस्टिक के बीच का मध्य समतल है। स्टोचैस्टिक खरीद / बेचने के संकेत उत्पन्न करता है, कोड ओटीटी सूचकांक के आधार पर संकेत की प्रभावशीलता का न्याय करेगा। यदि कीमत ओटीटी औसत को ऊपर की ओर पार करती है, तो एक खरीद संकेत जारी किया जाता है, और यदि कीमत ओटीटी औसत को नीचे की ओर पार करती है, तो एक बिक्री संकेत जारी किया जाता है।

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

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

स्टोचैस्टिक और ओटीटी सूचकांकों के संयोजन का उपयोग करते हुए, रणनीति ने निम्नलिखित पहलुओं को अनुकूलित किया हैः

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

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

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

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

उपरोक्त जोखिमों के संबंध में, निम्नलिखित उपायों से सुधार किया जा सकता हैः

  1. विभिन्न श्रेणियों के शेयरों के लिए विभिन्न मापदंडों का उपयोग किया जाता है।
  2. मूल बातें और पत्रकारिता के बीच एक मजबूत संकेत।
  3. पैरामीटर के लिए इष्टतम सेटिंग खोजने के लिए अनुकूलन परीक्षण।
  4. जोखिम को और कम करने के लिए चलती रोक को पेश किया गया।
  5. एक और अधिक कठोर सिग्नल सत्यापन तंत्र के साथ निर्णय की शर्तों को संशोधित करना।

अनुकूलन दिशा

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

  1. विभिन्न बाजारों और स्टॉक श्रेणियों के अनुसार पैरामीटर को समायोजित करें। वर्तमान में, डिफ़ॉल्ट मान सामान्य हैं, जो विभिन्न स्टॉक के लिए अलग-अलग परीक्षण के लिए पैरामीटर के इष्टतम संयोजन की तलाश में हैं।

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

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

  4. स्थिति खोलने की शर्तें और फ़िल्टरिंग तंत्र जोड़ें। वर्तमान रणनीति प्रत्येक सिग्नल को समान रूप से संभालती है। स्थिति खोलने की शर्तें जैसे कि क्वांटिटी इंडिकेटर, टर्नओवर इंडिकेटर और झूठे संकेतों को खत्म करने के लिए एक निश्चित सिग्नल समय विंडो को जोड़ने के लिए शर्तें पेश की जा सकती हैं।

  5. ओटीटी के साथ विभिन्न संकेतकों के संयोजन का परीक्षण करना। वर्तमान में स्टोचैस्टिक और ओटीटी के संयोजन का उपयोग किया जाता है। अन्य संकेतकों जैसे एमएसीडी, आरएसआई और ओटीटी के संयोजन के प्रभाव का परीक्षण किया जा सकता है।

  6. एक एकीकृत धन प्रबंधन और स्थिति प्रबंधन मॉड्यूल. अब कोई धन प्रबंधन और स्थिति नियंत्रण तंत्र नहीं है, पूरी तरह से रोक पर निर्भर है. विभिन्न प्रकार के धन प्रबंधन और स्थिति प्रबंधन विधियों का परीक्षण करके व्यक्तिगत और समग्र जोखिम को और नियंत्रित किया जा सकता है।

संक्षेप

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

इस रणनीति में कम त्रुटि दर, संकेत स्पष्टता और कम उतार-चढ़ाव के फायदे हैं। यह संकेत की विश्वसनीयता को बढ़ाता है, स्टॉप-लॉस स्तर को अनुकूलित करता है, व्यापार की आवृत्ति को कम करता है और एक अनुशंसित मात्रात्मक रणनीति है।

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

रणनीति स्रोत कोड
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic
//created by: @Anil_Ozeksi
//developer: ANIL ÖZEKŞİ
//author: @kivancozbilgic


strategy(title="Stochastic Optimized Trend Tracker", shorttitle="SOTT", format=format.price, precision=2)
periodK = input(250, title="%K Length", minval=1)
smoothK = input(50, title="%K Smoothing", minval=1)
src1 = input(close, title="Source")
length=input(3, "OTT Period", minval=1)
percent=input(0.618, "OTT Percent", type=input.float, step=0.1, minval=0)
showsupport = input(title="Show Support Line?", type=input.bool, defval=false)
showsignalsc = input(title="Show Stochastic/OTT Crossing Signals?", type=input.bool, defval=false)
Var_Func1(src1,length)=>
    valpha1=2/(length+1)
    vud11=src1>src1[1] ? src1-src1[1] : 0
    vdd11=src1<src1[1] ? src1[1]-src1 : 0
    vUD1=sum(vud11,9)
    vDD1=sum(vdd11,9)
    vCMO1=nz((vUD1-vDD1)/(vUD1+vDD1))
    VAR1=0.0
    VAR1:=nz(valpha1*abs(vCMO1)*src1)+(1-valpha1*abs(vCMO1))*nz(VAR1[1])
VAR1=Var_Func1(src1,length)
k = Var_Func1(stoch(close, high, low, periodK), smoothK)
src=k+1000
Var_Func(src,length)=>
    valpha=2/(length+1)
    vud1=src>src[1] ? src-src[1] : 0
    vdd1=src<src[1] ? src[1]-src : 0
    vUD=sum(vud1,9)
    vDD=sum(vdd1,9)
    vCMO=nz((vUD-vDD)/(vUD+vDD))
    VAR=0.0
    VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1])
VAR=Var_Func(src,length)
h0 = hline(1080, "Upper Band", color=#606060)
h1 = hline(1020, "Lower Band", color=#606060)
fill(h0, h1, color=#9915FF, transp=80, title="Background")
plot(k+1000, title="%K", color=#0094FF)
MAvg=Var_Func(src, length)
fark=MAvg*percent*0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop =  MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir==1 ? longStop: shortStop
OTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200 
plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line")
OTTC = #B800D9 
pALL=plot(nz(OTT[2]), color=OTTC, linewidth=2, title="OTT", transp=0)
alertcondition(cross(src, OTT[2]), title="Price Cross Alert", message="OTT - Price Crossing!")
alertcondition(crossover(src, OTT[2]), title="Price Crossover Alarm", message="PRICE OVER OTT - BUY SIGNAL!")
alertcondition(crossunder(src, OTT[2]), title="Price Crossunder Alarm", message="PRICE UNDER OTT - SELL SIGNAL!")
buySignalc = crossover(src, OTT[2])
plotshape(buySignalc and showsignalsc ? OTT*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
sellSignallc = crossunder(src, OTT[2])
plotshape(sellSignallc and showsignalsc ? OTT*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

dummy0 = input(true, title = "=Backtest Inputs=")
FromDay    = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth  = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear   = input(defval = 2005, title = "From Year", minval = 2005)
ToDay      = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth    = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear     = input(defval = 9999, title = "To Year", minval = 2006)
Start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)
Finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)
Timerange() =>
    time >= Start and time <= Finish ? true : false
if buySignalc
    strategy.entry("Long", strategy.long,when=Timerange())
if sellSignallc
    strategy.entry("Short", strategy.short,when=Timerange())