मूविंग एवरेज ट्रेलिंग स्टॉप रणनीति


निर्माण तिथि: 2023-09-19 21:33:48 अंत में संशोधित करें: 2023-09-19 21:33:48
कॉपी: 2 क्लिक्स: 691
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

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

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

  1. एक तेजी से ईएमए और एक धीमी गति से एसएमए की गणना करें, जो एक खरीद संकेत उत्पन्न करता है जब तेजी से लाइन धीमी गति से गुजरती है और एक निश्चित खरीद ताकत तक पहुंचती है।

  2. गणना करें कि क्या फास्ट ईएमए औसत रेखा को बेचता है और क्या धीमी एसएमए औसत रेखा को बेचता है, और जब फास्ट लाइन धीमी रेखा को पार करती है तो एक बेचने का संकेत उत्पन्न होता है।

  3. एटीआर सूचकांक का उपयोग करके एन दैनिक औसत मूल्य को गतिशील ट्रैक स्टॉपलॉस के रूप में गुणा करें ताकि जोखिम नियंत्रण हो सके।

  4. समीक्षा के दौरान रणनीति शुरू करें, खरीदें और बेचें।

  5. प्रत्येक स्टॉक विभिन्न मापदंडों के संयोजन का अनुकूलन करता है, सबसे अच्छा मापदंडों की तलाश करता है।

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

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

  1. तेजी से ईएमए और धीमी गति से एसएमए क्रॉसिंग ट्रेडिंग सिग्नल उत्पन्न करते हैं, जो प्रवृत्ति की पहचान कर सकते हैं।

  2. एटीआर रोक बाजार में उतार-चढ़ाव के आधार पर रोक की स्थिति को समायोजित करती है, जिससे जोखिम पर प्रभावी नियंत्रण होता है।

  3. प्रत्येक शेयर के लिए पैरामीटर का अनुकूलन करने से लाभप्रदता में वृद्धि हो सकती है।

  4. सरल लेनदेन तर्क और नियम, लागू करने और सत्यापित करने में आसान।

  5. प्रतिक्रिया पूर्ण है, रणनीति के प्रभाव को सत्यापित करने के लिए

  6. स्थिरता की खोज खरीद और अधिग्रहण के अतिरिक्त लाभ से परे है।

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

  1. अनुकूलित पैरामीटर भविष्य के लिए उपयुक्त नहीं हैं, और उन्हें समय-समय पर फिर से अनुकूलित करने की आवश्यकता हो सकती है।

  2. ईएमए और एसएमए क्रॉसिंग एक गलत संकेत या सिग्नल विलंब उत्पन्न कर सकता है।

  3. एटीआर रोकथाम बहुत अधिक हो सकता है और उचित रूप से रोकथाम सीमा को कम किया जा सकता है।

  4. व्यापार की कम आवृत्ति के कारण बेहतर अवसरों से वंचित रह सकते हैं।

  5. लेन-देन की लागत के प्रभाव को ध्यान में रखना आवश्यक है।

अनुकूलन दिशा

  1. विभिन्न मापदंडों के संयोजनों का परीक्षण करना जारी रखें और इष्टतम मापदंड खोजें।

  2. सिग्नल फ़िल्टरिंग के लिए अन्य संकेतकों को शामिल करने का प्रयास करें।

  3. एटीआर के चक्र पैरामीटर का अनुकूलन, स्टॉप लॉस की संवेदनशीलता को संतुलित करना।

  4. उचित छूट के प्रभाव का आकलन करें

  5. मशीन लर्निंग जैसे तरीकों के साथ स्वचालित रूप से अनुकूलन मापदंडों पर विचार करें।

  6. स्टॉक खोलने की आवृत्ति बढ़ाने के प्रभावों पर शोध

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//created by XPloRR 04-03-2018

strategy("XPloRR MA-Trailing-Stop Strategy",overlay=true, initial_capital=1000,default_qty_type=strategy.percent_of_equity,default_qty_value=100)

testStartYear = input(2005, "Start Year")
testStartMonth = input(1, "Start Month")
testStartDay = input(1, "Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2050, "Stop Year")
testStopMonth = input(12, "Stop Month")
testStopDay = input(31, "Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriodBackground = input(title="Background", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

ema1Period = input(12, "Fast EMA Buy")
sma1Period = input(54, "Slow SMA Buy")
strength1 = input(52, "Minimum Buy Strength")

ema2Period = input(18, "Fast EMA Sell")
sma2Period = input(55, "Slow SMA Sell")
strength2 = input(100, "Minimum Sell Strength")

delta = input(8, "Trailing Stop (#ATR)")

testPeriod() => true

ema1val=ema(close,ema1Period)
sma1val=sma(close,sma1Period)
ema1strength=10000*(ema1val-ema1val[1])/ema1val[1]

ema2val=ema(close,ema2Period)
sma2val=sma(close,sma2Period)
ema2strength=10000*(ema2val-ema2val[1])/ema2val[1]

plot(ema1val,color=blue,linewidth=1)
plot(sma1val,color=orange,linewidth=1)
plot(ema2val,color=navy,linewidth=1)
plot(sma2val,color=red,linewidth=1)

long=crossover(ema1val,sma1val) and (ema1strength > strength1) 
short=crossunder(ema2val,sma2val) and (ema2strength < -strength2)

stopval=ema(close,6)
atr=sma((high-low),15)

inlong=0
buy=0
stop=0
if testPeriod()
    if (inlong[1])
        inlong:=inlong[1]
        buy:=close
        stop:=iff((stopval>(stop[1]+delta*atr)),stopval-delta*atr,stop[1])
    if (long) and (not inlong[1])
        strategy.entry("buy",strategy.long)
        inlong:=close
        buy:=close
        stop:=stopval-delta*atr
plot(buy,color=iff(close<inlong,red,lime),style=columns,transp=90,linewidth=1)
plot(stop,color=iff((short or (stopval<stop)) and (close<inlong),red,lime),style=columns,transp=60,linewidth=1)
if testPeriod()
    if (short or (stopval<stop)) and (inlong[1])
        strategy.close("buy")
        inlong:=0
        stop:=0
        buy:=0