चलती औसत बैंड ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांकः 2023-09-17 18:33:57
टैगः

अवलोकन

यह रणनीति एक मूल्य चैनल बनाने के लिए चलती औसत का उपयोग करती है और जब कीमत चैनल बैंड से बाहर निकलती है तो संकेत उत्पन्न करती है। यह एक विशिष्ट प्रवृत्ति के बाद की रणनीति है जो पैरामीटर ट्यूनिंग के माध्यम से सरल लंबी / छोटी स्थिति प्राप्त कर सकती है।

रणनीति तर्क

  1. SMA/EMA/WMA/RMA जैसे विकल्पों के साथ चलती औसत की गणना करें।

  2. ऊपरी बैंड चलती औसत का निश्चित प्रतिशत वृद्धि है। निचला बैंड निश्चित प्रतिशत कमी है।

  3. ऊपरी बैंड के ऊपर तोड़ने पर लंबा, निचले बैंड के नीचे तोड़ने पर छोटा। केवल लंबे, केवल छोटे या दो-दिशात्मक व्यापार के लिए विकल्प।

  4. स्टॉप लॉस और ले लाभ अंक सेट करें. ले लाभ बिंदु प्रवेश मूल्य का एक निश्चित प्रतिशत वृद्धि है. स्टॉप लॉस बिंदु प्रवेश मूल्य का एक निश्चित प्रतिशत कमी है.

लाभ विश्लेषण

  1. चलती औसत का उपयोग करके प्रवृत्ति निर्धारण को लागू करना सरल है।

  2. समायोज्य मापदंडों में विभिन्न धारण अवधि और जोखिम वरीयताएं शामिल हैं।

  3. वैकल्पिक लंबी/छोटी दिशाएं विभिन्न बाजार स्थितियों के अनुकूल होती हैं।

  4. निश्चित प्रतिशत स्टॉप लॉस और ले लाभ नियंत्रण की अनुमति देता है।

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

  1. जब रुझान अचानक बदल जाता है तो फंसने की प्रवृत्ति।

  2. अनुचित पैरामीटर ट्यूनिंग से ओवर-ट्रेडिंग या लेगिंग का खतरा होता है।

  3. निश्चित प्रतिशत स्टॉप लॉस/लाभ में लचीलापन की कमी है।

  4. द्विदिशात्मक व्यापार के साथ व्यापार की आवृत्ति और कमीशन की लागत में वृद्धि।

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

  1. देरी और शोर को संतुलित करने के लिए चलती औसत मापदंडों को अनुकूलित करें।

  2. बाजार की अस्थिरता की आवृत्ति से मेल खाने के लिए चैनल बैंडविड्थ को अनुकूलित करें।

  3. विभिन्न स्टॉप लॉस और ले लाभ विन्यास का परीक्षण करें। गतिशील स्टॉप अधिक प्रभावी हैं।

  4. समग्र बाजार स्थितियों का आकलन करने के लिए रुझान और उतार-चढ़ाव के संकेतक जोड़ें।

  5. महत्वपूर्ण घटना प्रभावों से बचने के लिए समय फ़िल्टर लागू करें।

सारांश

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


/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 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/
// © TaylorTneh
//@version=4

// strategy("Moving Average Band Taylor V1",shorttitle="MA Band+",overlay=true,default_qty_type=strategy.cash,default_qty_value=1000,initial_capital=1000,currency=currency.USD,commission_value=.1)

price = input(close, title="Source")
mabtype = input(title="Moving Average Type", defval="RMA", options=["SMA", "EMA", "RMA", "WMA"])
malen = input(10, "MA Period : 10")
magap = input(0.6, "Band Gap : 0.6", minval = -10, maxval = 10, step = 0.1)
mabup = if mabtype == "SMA"
    sma(high, malen)
else
    if mabtype == "EMA"
        ema(high, malen)
    else
        if mabtype == "WMA"
            wma(high, malen)
        else
            if mabtype == "RMA"
                rma(high, malen)
                    
mabdn = if mabtype == "SMA"
    sma(low, malen)
else
    if mabtype == "EMA"
        ema(low, malen)
    else
        if mabtype == "WMA"
            wma(low, malen)
        else
            if mabtype == "RMA"
                rma(low, malen)
                    
upex = mabup * (1 + magap/100)
dnex = mabdn * (1 - magap/100)
plot(upex, "Upper MA Band", color.orange)
plot(dnex, "Lower MA Band", color.orange)


//-------------------------------------------- (Strategy)
strategy.entry("Long", strategy.long, stop = upex)
strategy.entry("Short", strategy.short, stop = dnex)
//Long Only//strategy.entry("Long", strategy.long, stop = upex)
//Long Only//strategy.exit("Short", stop = dnex)
//Short Only//strategy.entry("Short", strategy.short, stop = dnex)
//Short Only//strategy.exit("Long", stop = upex)


//-------------------------------------------- (Take Profit & Stop Lose)
stopPer = input(500.0, title='# Stop Loss %', type=input.float) / 100
takePer = input(500.0, title='# Take Profit %', type=input.float) / 100
//Determine where you've entered and in what direction
longStop = strategy.position_avg_price * (1 - stopPer)
shortStop = strategy.position_avg_price * (1 + stopPer)
shortTake = strategy.position_avg_price * (1 - takePer)
longTake = strategy.position_avg_price * (1 + takePer)
if strategy.position_size > 0 
    strategy.exit(id="L-TP/SL", stop=longStop, limit=longTake)
if strategy.position_size < 0 
    strategy.exit(id="S-TP/SL", stop=shortStop, limit=shortTake)


//-------------------------------------------- (Sample Time Filter Strategy)
//fromyear = input(2018, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
//toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
//frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
//tomonth = input(10, defval = 10, minval = 01, maxval = 12, title = "To Month")
//fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
//today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//strategy.entry("Long", strategy.long, stop = upex, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
//strategy.entry("Short", strategy.short, stop = dnex, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
//--------------------------------------------


अधिक