औसत प्रतिवर्तन ब्रेकआउट कम रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-02 15:34:22
टैगः

img

अवलोकन

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

रणनीति तर्क

रणनीति पाइन स्क्रिप्ट की ta.lowest विधि का उपयोग करके निर्दिष्ट अवधि में सबसे कम मूल्य प्राप्त करती है और इसकी तुलना पिछली अवधि के सबसे कम मूल्य से करती है।

यदि पिछली अवधि की सबसे कम कीमत lowestLow पिछली अवधि की सबसे कम कीमत prevLow से कम है, तो एक लंबा संकेत ट्रिगर किया जाता है। लंबे समय तक जाने के बाद, यह निर्दिष्ट अवधि में उच्चतम मूल्य highestHigh की तुलना करता है। यदि पिछली अवधि की उच्चतम कीमत पिछली उच्चतम कीमत से अधिक है, तो यह स्थिति को बंद कर देता है।

रणनीति ट्रेडिंग आवृत्ति को नियंत्रित करने के लिए ट्रिगर स्थिति चुनने की अनुमति देती है, अर्थात सबसे कम कीमत को 1, 2, 3 या 4 पिछले निम्नतम कीमतों को लगातार तोड़ने की आवश्यकता होती है।

यह चार्ट पर ट्रेंड परिवर्तन को दृश्य रूप से प्रदर्शित करने के लिए सबसे कम मूल्य रेखा सबसे कम और उच्चतम मूल्य रेखा उच्चतम को भी ग्राफ करता है।

लाभ विश्लेषण

  • यह रणनीति अपेक्षाकृत उच्च जीत दर के साथ नए निचले स्तर को तोड़ने के बाद रुझान के उलट को पकड़ती है।

  • ट्रेडिंग आवृत्ति को नियंत्रित करने के लिए सबसे कम कीमतों को तोड़ने की संख्या चुनने की अनुमति देता है।

  • रेखाओं को खींचने से प्रवृत्ति परिवर्तन बिंदुओं को देखने में मदद मिलती है।

  • सरल और स्पष्ट रणनीति तर्क, समझने और लागू करने में आसान।

  • विभिन्न स्टॉक और समय अवधि पर कॉन्फ़िगर और अनुकूलित किया जा सकता है।

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

  • झूठी तल को तोड़ने से रुझान के उलट बिंदु निर्धारित नहीं हो सकते, इससे नुकसान हो सकता है।

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

  • मापदंडों को विभिन्न स्टॉक के लिए समायोजित करने की आवश्यकता है, यांत्रिक रूप से लागू नहीं किया जाना चाहिए।

  • अपर्याप्त बैकटेस्ट अवधि ओवरफिटिंग का कारण बन सकती है।

  • ब्रेकआउट के बाद कीमत नए निचले स्तर पर पहुंच सकती है, जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस सेट करने की आवश्यकता है।

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

  • स्टॉप लॉस तंत्र जोड़ें जैसे कि स्टॉप लॉस को स्थानांतरित करना, ट्रेडिंग हानि को सीमित करना।

  • ट्रेडिंग आवृत्ति और संकेत की गुणवत्ता को संतुलित करने के लिए ब्रेकआउट की संख्या को अनुकूलित करें।

  • विभिन्न स्टॉक और समय अवधि पर परीक्षण मापदंडों।

  • विभिन्न बाजारों में लगातार व्यापार करने से बचने के लिए फ़िल्टर जोड़ें।

  • काउंटर ट्रेंड ट्रेडिंग से बचने के लिए ट्रेंड इंडिकेटर जोड़ने पर विचार करें।

  • विभिन्न निकास संकेतों का परीक्षण करें।

निष्कर्ष

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


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © merovinh

//@version=5
strategy(title="Merovinh - Mean Reversion Lowest low",
     overlay = true,
     default_qty_type = strategy.percent_of_equity,
     initial_capital = 10000,
     default_qty_value = 10,
     commission_type = strategy.commission.percent,
     slippage = 1,
     commission_value = 0.04)

GR_TIME = 'Time Period'

bars = input(9, title = "Minimum number of bars", tooltip = "The minimum number of bars before updating lowest low / highest high")

numberOfLows  = input.string(defval='One', title='Number of broken lows', options=['One', 'Two', 'Three', 'Four'])

//Period

var prevLow = .0
var prevHigh = .0
var prevLow2 = .0
var prevLow3 = .0
var prevLow4 = .0

truetime = true


highestHigh = ta.highest(high, bars)
lowestLow = ta.lowest(low, bars)

if numberOfLows == 'One'
    if truetime and prevLow > 0 and lowestLow < prevLow
        strategy.entry('long', strategy.long)
if numberOfLows == 'Two'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2
        strategy.entry('long', strategy.long)
if numberOfLows == 'Three'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3
        strategy.entry('long', strategy.long)
if numberOfLows == 'Four'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3 and prevLow3 < prevLow4
        strategy.entry('long', strategy.long)

if truetime and prevHigh > 0 and highestHigh > prevHigh
    strategy.close('long')


if prevLow != lowestLow
    prevLow4 := prevLow3
    prevLow3 := prevLow2
    prevLow2 := prevLow
    prevLow := lowestLow
prevHigh := highestHigh

plot(lowestLow, color=color.green, linewidth=1, title="Lowest Low Line")
plot(highestHigh, color=color.green, linewidth=1, title="Highest High Line")




अधिक