अस्थिरता रोक के साथ गति ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-13 17:20:51
टैगः

img

अवलोकन

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

रणनीति तर्क

रणनीति प्रवृत्ति दिशा निर्धारित करने और ट्रैक स्टॉप हानि निर्धारित करने के लिए अस्थिरता रोक संकेतक का उपयोग करती है। अस्थिरता रोक मूल्य उतार-चढ़ाव रेंज के आधार पर एक गतिशील स्टॉप हानि रेखा की गणना करता है। विशिष्ट चरण हैंः

  1. मूल्य की एटीआर (औसत वास्तविक सीमा) की गणना करें
  2. स्टॉप लॉस गुणांक के साथ एटीआर गुणा करके स्टॉप लॉस लाइन प्राप्त करें
  3. जब कीमत ऊपर चला जाता है, रिकॉर्ड उच्चतम मूल्य, स्टॉप लॉस लाइन सबसे अधिक कीमत माइनस एटीआर * गुणांक है
  4. जब कीमत नीचे चला जाता है, रिकॉर्ड सबसे कम कीमत, स्टॉप लॉस लाइन सबसे कम कीमत प्लस एटीआर * गुणांक है

स्टॉप लॉस लाइन मूल्य के साथ ऊपर और नीचे उतार-चढ़ाव करती है, जिससे एक गतिशील चैनल बनता है।

जब मूल्य स्टॉप लॉस लाइन में प्रवेश करता है, तो यह एक रुझान उलट का संकेत देता है। रणनीति स्थिति खोलेगीः

  • जब कीमत स्टॉप लॉस लाइन से ऊपर टूट जाती है, तो लंबी हो जाती है
  • जब कीमत स्टॉप लॉस लाइन से नीचे टूट जाती है, तो शॉर्ट करें

खोलने की स्थिति के बाद, रणनीति लाइन के साथ स्टॉप लॉस ट्रैक करती हैः

  • लंबे समय के लिए, स्टॉप लॉस उच्चतम मूल्य माइनस एटीआर * गुणांक है
  • संक्षेप में, स्टॉप लॉस सबसे कम कीमत प्लस एटीआर * गुणांक है

जब मूल्य स्टॉप लॉस लाइन पर फिर से पहुंचता है, तो स्थिति बंद हो जाएगी।

इस प्रकार, स्टॉप के साथ जोखिम को नियंत्रित करते हुए रणनीति समय पर रुझानों का पालन कर सकती है।

लाभ विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैंः

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

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

कुछ जोखिमों पर भी विचार किया जाना चाहिए:

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

समाधान:

  1. सर्वोत्तम पैरामीटर खोजने के लिए बैकटेस्ट के माध्यम से स्टॉप लॉस गुणांक का अनुकूलन करें
  2. व्यापारिक आवृत्ति को कम करने के लिए अधिक समय सीमा का उपयोग करें
  3. ओवर-ट्रेडिंग से बचने के लिए फ़िल्टर जोड़ें
  4. स्टॉप दूरी में कुछ लचीलापन की अनुमति दें लेकिन बहुत बड़ा नहीं

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

इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित किया जा सकता हैः

  1. सबसे अच्छा पैरामीटर संयोजन खोजने के लिए स्टॉप हानि गुणांक का अनुकूलन करें
  2. फ़िल्टर जोड़ने के लिए बाजार की सीमा में whipsaws से बचने के लिए
  3. सिग्नल सत्यापन के लिए कई समय सीमाओं को मिलाएं
  4. स्थिति आकार अनुकूलित करें, धीरे-धीरे आकार में वृद्धि
  5. समय सीमा के गतिशील समायोजन पर विचार करें
  6. मुख्य रुझानों को पकड़ने के लिए स्टॉक मूलभूत के साथ संयोजन करें

सारांश

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


/*backtest
start: 2023-11-11 00:00:00
end: 2023-11-12 00:00:00
period: 3m
basePeriod: 1m
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/
//@version=4
strategy(shorttitle='Volatility Stop Strategy',title='Volatility Stop Strategy (by Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)

// Works better on 3h, 1h, 2h, 4h
// Best time frame 2H

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2021, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(3.0, "vStop Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)


//Entry 


strategy.entry(id="long", long = true, when = crossover(close, vStop) and window())

//Exit
strategy.close("long", when = crossunder(close, vStop))

plot(vStop,"Vstop", color.black, linewidth=2)


अधिक