डबल टर्टल ब्रेकआउट रणनीति


निर्माण तिथि: 2023-11-28 16:25:41 अंत में संशोधित करें: 2023-11-28 16:25:41
कॉपी: 0 क्लिक्स: 689
1
ध्यान केंद्रित करना
1619
समर्थक

डबल टर्टल ब्रेकआउट रणनीति

अवलोकन

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

रणनीति सिद्धांत

मुख्य तर्क यह है कि छोटे चक्र के उच्च स्तर को तोड़ने के लिए बड़े चक्र की ऊंचाई पर खाली करें, और छोटे चक्र के निचले स्तर को तोड़ने के लिए बड़े चक्र के निचले स्तर पर अधिक करें। स्थिति बनाने के बाद, एक चलती रोक और एक चलती रोकें, पहले रोकें और जोखिम की पुष्टि करें। जब स्थिति की संख्या सेट स्टॉप की संख्या तक जमा हो जाती है, तो अगले चक्र में स्टॉप ऑर्डर को रद्द करें, और फिर आधे से बाहर निकलें और एक चलती रोक और एक चलती रोक लगाएं जो मुनाफे को बंद कर दे और अंतर को ट्रैक करे।

इस प्रक्रिया के लिए निम्नलिखित चरणों का पालन करेंः

  1. बड़ी अवधि की गणना करें ((20 चक्र) उच्चतम बिंदु prevHigh और छोटी अवधि ((4 चक्र) उच्चतम बिंदु smallPeriodHigh。
  2. जब नवीनतम K लाइन का उच्च पूर्व-उच्च से अधिक होता है, और पूर्व-उच्च छोटे अवधि-उच्च से अधिक होता है, तो यह दर्शाता है कि बड़े चक्र की ऊंचाई छोटे चक्र की ऊंचाई को तोड़ देती है, और यदि कोई स्थिति नहीं है, तो यह खाली है।
  3. स्टॉक बनाने के बाद चलती रोक को सेट करें, स्टॉक की स्थिति को उलटने के बाद स्टॉप लॉस को रद्द करें, ताकि नुकसान को रोका न जा सके।
  4. जब स्थिति की संख्या एक सेट की संख्या तक पहुंच जाती है, तो अगले चक्र में आधे स्थान को बाहर निकालें और एक चलती रोक और एक चलती रोक सेट करें, मूल्य अंतर को ट्रैक करें और लाभ को लॉक करें।
  5. निम्न बिंदु के लिए ब्रेकआउट के लिए इसी तरह, बड़े चक्र के निचले बिंदु और छोटे चक्र के निचले बिंदु के ब्रेकआउट संबंधों के आधार पर बहु-स्थिति बनाएं।

श्रेष्ठता विश्लेषण

यह एक व्यापक और व्यापक रणनीति है, जिसमें निम्नलिखित फायदे हैं:

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

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

प्रमुख जोखिम और प्रतिक्रियाएं इस प्रकार हैं:

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

अनुकूलन दिशा

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

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Turtle soup plus one", shorttitle = "Turtle soup plus one", overlay=true)

bigPeriod = input(20)
smallPeriod = input(4)
takeProfitBars = input(0)
trailingStop = input(5, title = "Trailing stop percentages")
if (strategy.position_size == 0)
    strategy.cancel("Long")
    strategy.cancel("Short")
    strategy.cancel("Stop")



stopLossPrice = 0.1
stopLossPrice := nz(stopLossPrice[1])
takeProfitStarted = false
takeProfitStarted := nz(takeProfitStarted[1])

prevHigh = highest(high, bigPeriod - smallPeriod)[smallPeriod]
smallPeriodHigh = highest(high, smallPeriod - 1)[1]
if (high > prevHigh and prevHigh > smallPeriodHigh and close > prevHigh and strategy.position_size == 0)
    strategy.order("Short", strategy.short, stop = prevHigh)

if strategy.position_size < 0 and strategy.position_size[1] == 0
    stopLossPrice := high[1]
    strategy.order("Stop", strategy.long, qty = -strategy.position_size, stop = stopLossPrice)
    takeProfitStarted := false

if (strategy.position_size < 0 and sum(strategy.position_size, takeProfitBars) == strategy.position_size * takeProfitBars and close < strategy.position_avg_price and not takeProfitStarted)
    takeProfitStarted := true
    strategy.cancel("Stop")
    strategy.order("ExitHalf", strategy.long, qty = ceil(-strategy.position_size / 2), stop = close)
    if (strategy.position_size != -1)
        strategy.exit("ExitFull", "Short", qty = -strategy.position_size - ceil(-strategy.position_size / 2), loss = stopLossPrice, trail_price  = close, trail_offset = -(close - strategy.position_avg_price) * trailingStop / 100 / syminfo.mintick)
        

prevLow = lowest(low, bigPeriod - smallPeriod)[smallPeriod]
smallPeriodLow = lowest(low, smallPeriod - 1)[1]
if (low < prevLow and prevLow < smallPeriodLow and close < prevLow and strategy.position_size == 0)
    strategy.order("Long", strategy.long, stop = prevLow)

if strategy.position_size > 0 and strategy.position_size[1] == 0
    stopLossPrice := low[1]
    strategy.order("Stop", strategy.short, qty = strategy.position_size, stop = stopLossPrice)
    takeProfitStarted := false

if (strategy.position_size > 0 and sum(strategy.position_size, takeProfitBars) == strategy.position_size * takeProfitBars and close > strategy.position_avg_price and not takeProfitStarted)
    takeProfitStarted := true
    strategy.cancel("Stop")
    strategy.order("ExitHalf", strategy.short, qty = ceil(strategy.position_size / 2), stop = close)
    if (strategy.position_size != 1)
        strategy.exit("ExitFull", "Long", qty = strategy.position_size - ceil(strategy.position_size / 2),loss = stopLossPrice, trail_price  = close, trail_offset = (close - strategy.position_avg_price) * trailingStop / 100 / syminfo.mintick)

// === Backtesting Dates ===
testPeriodSwitch = input(false, "Custom Backtesting Dates")
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(3, "Backtest Start Month")
testStartDay = input(6, "Backtest Start Day")
testStartHour = input(08, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,0)
testStopYear = input(2038, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(14, "Backtest Stop Day")
testStopHour = input(14, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,testStopHour,0)
testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
isPeriod = testPeriodSwitch == true ? testPeriod() : true
// === /END
if not isPeriod
    strategy.cancel_all()
    strategy.close_all()