डबल कछुए सफलता रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-28 16:25:41
टैगः

img

अवलोकन

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

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

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

विशिष्ट संचालन चरण हैंः

  1. बड़े चक्र (20 चक्र) के उच्च बिंदु पूर्व उच्च और छोटे चक्र (4 चक्र) के उच्च बिंदु छोटेPeriodHigh की गणना करें।

  2. जब नवीनतम K-लाइन का उच्चतम बिंदु prevHigh से अधिक हो, और prevHigh छोटेPeriodHigh से अधिक हो, तो यह इंगित करता है कि बड़ा चक्र उच्च बिंदु छोटे चक्र उच्च बिंदु के माध्यम से टूट जाता है। इस समय, यदि कोई स्थिति नहीं है, तो शॉर्ट करें।

  3. एक स्थिति खोलने के बाद, एक चलती स्टॉप लॉस सेट करें। स्टॉप लॉस ऑर्डर को रद्द करने से पहले स्थिति के उलटने की प्रतीक्षा करें ताकि इसे रोक दिया न जा सके।

  4. जब होल्डिंग मात्रा सेट चलती ले लाभ चक्र संख्या (वर्तमान में 0 चक्र) तक पहुंच जाती है, तो अगले चक्र में स्थिति के आधे से बाहर निकलें, और स्प्रेड को ट्रैक करने और लाभ में लॉक करने के लिए चलती स्टॉप लॉस और चलती ले लाभ सेट करें।

  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()

अधिक