
डबल-ब्रिज ब्रेकआउट रणनीति में ब्रीज ट्रेडिंग विधि की ब्रेकआउट रणनीति और लिंडा लश्कर के मोबाइल स्टॉप सिद्धांत का एक संयोजन है, जिसमें उत्कृष्ट ब्रेकआउट प्रदर्शन और सख्त जोखिम नियंत्रण है। यह रणनीति कीमत के ऊपर और नीचे के ब्रेकआउट की निगरानी करती है, जब ब्रेकआउट होता है तो अधिक या कम स्थिति स्थापित करती है, और मोबाइल स्टॉप और मोबाइल स्टॉप प्रबंधन स्थिति का उपयोग करती है।
मुख्य तर्क यह है कि छोटे चक्र के उच्च स्तर को तोड़ने के लिए बड़े चक्र की ऊंचाई पर खाली करें, और छोटे चक्र के निचले स्तर को तोड़ने के लिए बड़े चक्र के निचले स्तर पर अधिक करें। स्थिति बनाने के बाद, एक चलती रोक और एक चलती रोकें, पहले रोकें और जोखिम की पुष्टि करें। जब स्थिति की संख्या सेट स्टॉप की संख्या तक जमा हो जाती है, तो अगले चक्र में स्टॉप ऑर्डर को रद्द करें, और फिर आधे से बाहर निकलें और एक चलती रोक और एक चलती रोक लगाएं जो मुनाफे को बंद कर दे और अंतर को ट्रैक करे।
इस प्रक्रिया के लिए निम्नलिखित चरणों का पालन करेंः
यह एक व्यापक और व्यापक रणनीति है, जिसमें निम्नलिखित फायदे हैं:
प्रमुख जोखिम और प्रतिक्रियाएं इस प्रकार हैं:
इस रणनीति को निम्नलिखित पहलुओं से भी अनुकूलित किया जा सकता हैः
द्विध्रुवीय ब्रेकआउट रणनीति में दो-चक्र तकनीक, ब्रेकआउट सिद्धांत और सख्त जोखिम प्रबंधन के साधनों का एकीकृत उपयोग किया जाता है, उच्च जीत की दर बनाए रखने के साथ-साथ रिटर्न की स्थिरता सुनिश्चित की जाती है। रणनीति मॉडल सरल और स्पष्ट है, समझने और लागू करने में आसान है, यह एक उत्कृष्ट मात्रात्मक रणनीति है। इस रणनीति में बहुत अधिक अनुकूलन की गुंजाइश है, निवेशक इस आधार पर नवाचार कर सकते हैं और अधिक उत्कृष्ट व्यापार प्रणाली बना सकते हैं।
/*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()