बॉक्स ब्रेकआउट आधारित सिल्वर बुलेट रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-15 12:06:32
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. रणनीति एक व्यापारिक अवधि को परिभाषित करती है और केवल उस अवधि के दौरान व्यापारिक अवसरों की तलाश करती है।

  2. प्रत्येक के-लाइन के बनने के बाद, रणनीति यह आंकती है कि क्या पिछले दो के-लाइनों के उच्चतम और निम्नतम मूल्य के बीच कोई महत्वपूर्ण सफलता है।

    2.1 यदि दूसरी K-लाइन की सबसे कम कीमत पहली K-लाइन की उच्चतम कीमत से अधिक है, तो ऊपर की ओर बॉक्स ब्रेकआउट होता है।

    2.2 यदि दूसरी के-लाइन का उच्चतम मूल्य पहली के-लाइन के निम्नतम मूल्य से कम है, तो नीचे की ओर बॉक्स ब्रेकआउट होता है।

  3. बॉक्स ब्रेकआउट सिग्नल की पुष्टि करने के बाद, रणनीति वर्तमान के-लाइन के उच्चतम या निम्नतम मूल्य के आसपास एक लंबा या छोटा प्रवेश बिंदु निर्धारित करती है।

  4. एक बार स्थिति खोलने के बाद, रणनीति प्रवृत्ति त्वरण को पकड़ने के लिए ब्रेकआउट रेंज के दोगुने के आधार पर लाभ लेने के लिए सेट करती है।

  5. यह रणनीति हानि के जोखिम को कम करने के लिए दूसरी K-लाइन की सबसे कम या उच्चतम कीमत पर स्टॉप लॉस भी निर्धारित करती है।

लाभ विश्लेषण

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

  1. तर्क सरल और लागू करने में आसान है।

  2. बाजार की दिशा और ताकत का आकलन करने के लिए के-लाइन बॉक्स ब्रेकआउट का उपयोग करना उच्च सटीकता रखता है।

  3. लाभ लेने की सेटिंग प्रवृत्ति त्वरण से अवसरों को पकड़ती है। गुणक समायोज्य है।

  4. एकल हानि को नियंत्रित करने के लिए एक स्पष्ट स्टॉप लॉस तर्क है।

  5. रणनीति का विचार लचीला है और व्यक्तिगत शैली के अनुसार अनुकूलित किया जा सकता है।

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

हालाँकि, इस रणनीति में कुछ जोखिम हैंः

  1. ब्रेकआउट सिग्नल झूठे ब्रेकआउट हो सकते हैं, नुकसान से पूरी तरह से बचा नहीं जा सकता।

  2. प्रवेश बिंदु के निकट स्टॉप लॉस को आक्रामक बाजारों द्वारा आसानी से ट्रिगर किया जा सकता है।

  3. यह प्रवृत्ति संरचना का न्याय नहीं कर सकता है और सीमाबद्ध बाजारों में अक्सर स्टॉप हो सकते हैं।

  4. इसमें विभिन्न उत्पादों और समय अवधि के प्रभाव पर विचार नहीं किया गया है।

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

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

  1. विभिन्न उत्पादों और समय अवधि के लिए अनुकूलन स्टॉप लॉस और ले लाभ पैरामीटर सेट करें।

  2. रेंज-बाउंड बाजारों में फंसने से बचने के लिए ट्रेंड जजमेंट के लिए तकनीकी संकेतक जोड़ें।

  3. ट्रेंड रन को ट्रैक करने के लिए बाद के ऐड-ऑन अवसरों को सेट करें।

  4. ब्रेकआउट और फ़िल्टर संकेतों की प्रामाणिकता का न्याय करने के लिए वॉल्यूम संकेतकों का संयोजन करें।

  5. ट्रेंड दिशा निर्धारित करने में सहायता के लिए मशीन लर्निंग एल्गोरिदम जोड़ें।

सारांश

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


/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Dvitash

//@version=5
strategy("Casper SMC Silver Bullet", shorttitle = "Casper SB", overlay=true, calc_on_order_fills = true)

startTime = input(defval = "1000", title = "Start Time")
endTime = input(defval = "1600", title = "End Time")
contractAmt = input.int(defval = 2, title = "Contract Amount")
fvgCol = input.color(defval = color.rgb(63, 61, 179, 41), title = "FVG Color")
borderCol = input.color(defval = color.rgb(35, 33, 172, 41), title = "FVG Border Color")
fvgExtendLength = input.int(defval = 0, minval = 0, title = "FVG Extend Length")

allowedTime = not na(time(timeframe.period, startTime + "-" + endTime +":23456", "America/New_York"))
newDay = bool(ta.change(time('D')))
h = hour(time('1'), "America/New_York")

var bool fvgDrawn = na
var float entryPrice = na 
var float stopPrice = na 
var float tpPrice = na 

if newDay
    fvgDrawn := false
    // a_allBoxes = box.all
    // if array.size(a_allBoxes) > 0
    //     for i = 0 to array.size(a_allBoxes) - 1
    //         box.delete(array.get(a_allBoxes, i))

if allowedTime and barstate.isconfirmed and h <= 16
    //Long FVG
    if high[2] < low and not fvgDrawn
        // box.new(bar_index[2], low, bar_index + fvgExtendLength, high[2], bgcolor = fvgCol, border_color = borderCol)
        stopPrice := low[2]
        entryPrice := low
        tpPrice := entryPrice + (math.abs(low[2] - entryPrice) * 2)
        // log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice))
        strategy.entry("long", strategy.long, contractAmt, limit = entryPrice, comment = "Long Entry")
        fvgDrawn := true

    if low[2] > high and not fvgDrawn
        // box.new(bar_index[2], high, bar_index + fvgExtendLength, low[2], bgcolor = fvgCol, border_color = borderCol)
        stopPrice := high[2]
        entryPrice := high
        tpPrice := entryPrice - (math.abs(high[2] - entryPrice) * 2)
        // log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice))
        strategy.entry("short", strategy.short, contractAmt, limit = entryPrice, comment = "Short Entry")
        fvgDrawn := true
if h >= 16
    strategy.close_all()
    strategy.cancel_all()

strategy.exit("long exit", from_entry = "long", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Long Exit")
strategy.exit("short exit", from_entry = "short", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Short Exit")

अधिक