गति कछुआ प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2023-11-23 11:53:27 अंत में संशोधित करें: 2023-11-23 11:53:27
कॉपी: 0 क्लिक्स: 627
1
ध्यान केंद्रित करना
1617
समर्थक

गति कछुआ प्रवृत्ति अनुसरण रणनीति

अवलोकन

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

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

यह रणनीति प्रवृत्ति की दिशा का आकलन करने के लिए समुद्री डाकू सूचकांक में एक बुनियादी ब्रेकडाउन प्रणाली का उपयोग करती है। विशेष रूप से, जब समापन मूल्य पिछले 20 दिनों के उच्चतम मूल्य से अधिक होता है, तो यह एक bullish संकेत है; जब समापन मूल्य पिछले 20 दिनों के निम्नतम मूल्य से कम होता है, तो यह एक bearish संकेत है।

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

स्थिति खोलने के बाद, रणनीति समुद्र तट सिद्धांत में N मान का उपयोग करती है, जो बाहर निकलती है। यह प्रणाली हाल के 20 दिनों के उच्चतम और निम्नतम मूल्य के आधार पर एक स्टॉप-लॉस बिन्दु स्थापित करती है। उदाहरण के लिए, एक बहुभुज स्टॉप-लॉस मूल्य पिछले 20 दिनों के निम्नतम मूल्य के नीचे 2N का एटीआर है। रणनीति का स्टॉप-ऑफ तरीका अपेक्षाकृत सरल है, जिसे खाते की कुल संपत्ति का 10% के रूप में सेट किया गया है।

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

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

विशेष रूप से, इस रणनीति के कुछ फायदे हैंः

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

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

हालांकि इस रणनीति में अनुकूलन के लिए बहुत जगह है, लेकिन इसके कुछ संभावित जोखिम भी हैं, जिनसे बचने की जरूरत हैः

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

अनुकूलन दिशा

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

  1. एक गतिशील स्थिति एल्गोरिथ्म जो अस्थिरता को समायोजित करता है, को शामिल करने पर विचार किया जा सकता है, ताकि स्थिति के नुकसान के एक निश्चित स्तर तक पहुंचने पर स्थिति को कम किया जा सके।
  2. प्रतिवर्ती तंत्र को जोड़ें, और सिर-छाती और डबल-टॉप के समान आकार बनाने पर विचार करें।
  3. मुनाफे के लक्ष्य को बढ़ाएं। जब संचयी मुनाफा खाते की कुल संपत्ति के एक निश्चित अनुपात तक पहुंचता है, तो रिफंड को कम किया जा सकता है।

संक्षेप

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

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

//@version=4
strategy("Heiken Ashi BF 🚀", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)

/////////////// Time Frame ///////////////
testStartYear = input(2017, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

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

testPeriod() => true

///////////// HA /////////////
haTicker = heikinashi(syminfo.tickerid)
haOpen = security(haTicker, "D", open)
haHigh = security(haTicker, "D", high)
haLow = security(haTicker, "D", low)
haClose = security(haTicker, "D", close)

///////////// Rate Of Change ///////////// 
source = close
roclength = input(30, minval=1)
pcntChange = input(7.0, minval=1)
roc = 100 * (source - source[roclength]) / source[roclength]
emaroc = ema(roc, roclength / 2)
isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 - (pcntChange / 2))

/////////////// Strategy ///////////////
long = haOpen < haClose and isMoving()
short = haOpen > haClose and isMoving()

last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])

long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

last_open_long_signal = 0.0
last_open_short_signal = 0.0
last_open_long_signal := long_signal ? open : nz(last_open_long_signal[1])
last_open_short_signal := short_signal ? open : nz(last_open_short_signal[1])

last_long_signal = 0.0
last_short_signal = 0.0
last_long_signal := long_signal ? time : nz(last_long_signal[1])
last_short_signal := short_signal ? time : nz(last_short_signal[1])

in_long_signal = last_long_signal > last_short_signal
in_short_signal = last_short_signal > last_long_signal

last_high = 0.0
last_low = 0.0
last_high := not in_long_signal ? na : in_long_signal and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1])
last_low := not in_short_signal ? na : in_short_signal and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1])

sl_inp = input(2.0, title='Stop Loss %') / 100
tp_inp = input(5000.0, title='Take Profit %') / 100
 
take_level_l = strategy.position_avg_price * (1 + tp_inp)
take_level_s = strategy.position_avg_price * (1 - tp_inp)

since_longEntry = barssince(last_open_long_signal != last_open_long_signal[1])
since_shortEntry = barssince(last_open_short_signal != last_open_short_signal[1]) 

slLong = in_long_signal ? strategy.position_avg_price * (1 - sl_inp) : na
slShort = strategy.position_avg_price * (1 + sl_inp)
long_sl = in_long_signal ? slLong : na
short_sl = in_short_signal ? slShort : na

/////////////// Execution ///////////////
if testPeriod()
    strategy.entry("L",  strategy.long, when=long)
    strategy.entry("S", strategy.short, when=short)
    strategy.exit("L SL", "L", stop=long_sl, limit=take_level_l, when=since_longEntry > 0)
    strategy.exit("S SL", "S", stop=short_sl, limit=take_level_s, when=since_shortEntry > 0)

/////////////// Plotting ///////////////
plotcandle(haOpen, haHigh, haLow, haClose, title='HA Candles', color = haOpen < haClose ? color.lime : color.red)
bgcolor(isMoving() ? long ? color.lime : short ? color.red : na : color.white, transp=70)
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=50)