गति दोलन व्यापार रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-21 16:57:07
टैगः

img

अवलोकन

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

रणनीति तर्क

यह रणनीति चलती औसत सूचक के रूप में बोलिंगर बैंड्स मध्य रेखा एसएमए का उपयोग करती है, और पैरामल्ट * स्टडेव के माध्यम से गतिशील रूप से बैंड चौड़ाई को समायोजित करती है। जब कीमत नीचे से मध्य रेखा के माध्यम से टूटती है, तो यह संकेत देती है कि ऊपर की गति प्राप्त की जाती है और इस प्रकार लंबी जाती है। जब कीमत ऊपर से मध्य रेखा के माध्यम से टूटती है, तो यह नीचे की गति प्राप्त होती है और इस प्रकार छोटी हो जाती है। लंबी / छोटी स्थिति में प्रवेश करने के बाद, लाभ और नियंत्रण जोखिमों को ट्रैक करने के लिए स्टॉप लॉस और ले लाभ मापदंडों को सेट किया जाता है।

विशेष रूप से, बोलिंगर बैंड की गणना दो मापदंडों - लंबाई और मल्टी के साथ की जाती है। लंबाई मध्य रेखा की अवधि निर्धारित करती है और मल्टी बैंड की चौड़ाई तय करती है। enterLong और enterShort ब्रेकआउट समय का न्याय करते हैं। exitLong और exitShort स्टॉप लॉस की गणना करते हैं और प्रवेश मूल्य और लक्ष्य प्रतिशत के आधार पर लाभ मूल्य लेते हैं।

लाभ

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

जोखिम

  • बोलिंजर बैंड्स में पीछे रहकर कीमतों को फिट करना, कुछ चाल चूक सकता है
  • स्टॉप लॉस सेट करना बहुत बड़ा होने से हानि के जोखिम बढ़ सकते हैं
  • बुल बाजार में शॉर्ट सिग्नल अच्छा नहीं हो सकता है

अवधि, बैंड चौड़ाई और स्टॉप लॉस रेंज जैसे मापदंडों को अनुकूलित किया जा सकता है ताकि रणनीति को विभिन्न बाजार स्थितियों के अनुकूल बनाया जा सके।

सुधार

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

निष्कर्ष

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


/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Входные параметры
length = input(20, minval=1, title="Length")
mult = input(2.0, minval=0.1, maxval=5, title="Multiplier")
target_percent = input(0.5, minval=0.1, title="Target Percent")
stop_loss_percent = input(95, minval=0.1, title="Stop Loss Percent")

// Расчет полос Боллинджера
basis = sma(close, length)
dev = mult * stdev(close, length)
upper = basis + dev
lower = basis - dev

// Переворот снизу вверх через среднюю линию Боллинджера для открытия лонга
enterLong = cross(close, basis) and close[1] < basis[1]

// Переворот сверху вниз через среднюю линию Боллинджера для открытия шорта
enterShort = cross(basis, close) and close[1] > basis[1]

// Закрытие лонга после роста цены на указанный процент или падения на указанный процент
exitLong = close >= strategy.position_avg_price * (1 + (target_percent / 100)) or close <= strategy.position_avg_price * (1 - (stop_loss_percent / 100))

// Закрытие шорта после падения цены на указанный процент или роста на указанный процент
exitShort = close <= strategy.position_avg_price * (1 - (target_percent / 100)) or close >= strategy.position_avg_price * (1 + (stop_loss_percent / 100))

// Управление позициями и ограничениями на открытие противоположных позиций
strategy.entry("Long", strategy.long, when = enterLong and strategy.position_size == 0)
strategy.entry("Short", strategy.short, when = enterShort and strategy.position_size == 0)

strategy.close("Long", when = exitLong)
strategy.close("Short", when = exitShort)

// Визуализация полос Боллинджера
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper")
plot(lower, color=color.green, title="Lower")

अधिक