
यह रणनीति गतिशील ट्रेलिंग स्टॉप के विचार को अपनाती है, एटीआर और मूल्य चरम के आधार पर लंबी और छोटी स्थिति के स्टॉप लॉस की गणना करती है। चांडेलियर एग्जिट के विचार के साथ, स्टॉप लॉस की दिशा के आधार पर लंबी और छोटी स्थिति की दिशा का निर्णय करती है। स्टॉप लॉस लाइन को ऊपर से तोड़ने पर इसे नीच माना जाता है, अधिक करना; स्टॉप लॉस लाइन को नीचे से तोड़ने पर इसे नीच माना जाता है, शून्य करना।
इस रणनीति के पास स्टॉप लॉस और इनकमिंग सिग्नल का निर्णय लेने के दोहरे कार्य हैं।
इस रणनीति में मुख्य रूप से निम्नलिखित घटक शामिल हैंः
एटीआर की गणना वास्तविक समय में, एटीआर चक्र लंबाई और उपयोगकर्ता द्वारा सेट किए गए गुणक के आधार पर की जाती है। फिर एटीआर और मूल्य चरम के आधार पर लंबी और छोटी स्थिति के लिए स्टॉप-लॉस लाइन की गणना की जाती हैः
longStop = 最高价 - ATR
shortStop = 最低价 + ATR
पिछले K लाइन की स्टॉप लाइन और वर्तमान K लाइन की स्टॉप लाइन की तुलना करें। यदि वर्तमान K लाइन की स्टॉप लाइन टूट जाती है, तो ट्रेडिंग सिग्नल जारी किया जाता हैः
长仓止损线上方突破,做多
短仓止损线下方突破,做空
एटीआर से स्टॉप लॉस और स्टॉप बैंड दूरी की गणना करें, जो उपयोगकर्ता द्वारा निर्धारित जोखिम-लाभ अनुपात से अधिक है। स्टॉप लॉस और स्टॉप लॉस ऑर्डर सेट करें जब आप अपनी स्थिति खोलते हैं।
इस रणनीति के निम्नलिखित फायदे हैं:
इस रणनीति में स्टॉप लाइनों को गतिशील रूप से ट्रैक करने की क्षमता है, जो समय पर स्टॉप और डाउन रिस्क को नियंत्रित करने में सक्षम है।
इस रणनीति में स्टॉप लॉस लाइन को प्रवेश के लिए एक शर्त के रूप में भी शामिल किया गया है, जो रणनीति के तर्क को सरल बनाता है।
जोखिम-लाभ अनुपात के आधार पर, अधिक लाभ के लिए उचित प्रयास करें।
इस रणनीति का ढांचा सरल है और इसे समझने और विस्तार करने के लिए अनुकूलित करना आसान है।
इस रणनीति के कुछ जोखिम भी हैं:
यह द्विपक्षीय ट्रेडिंग रणनीति है, जिसमें ओवर- और डाउन-ऑफ-रोकेट का जोखिम होता है।
एटीआर पैरामीटर सेटिंग्स सीधे स्टॉप-लॉस लाइन और ट्रेडिंग आवृत्ति को प्रभावित करते हैं, और गलत सेटिंग्स के कारण स्टॉप-लॉस या ट्रेडिंग आवृत्ति बहुत अधिक हो सकती है।
इस रणनीति के लिए अधिक उपयुक्त है के लिए एक ब्रेक के बाद औसत रेखा को ठीक करने के लिए, नहीं के लिए एक परिदृश्य है कि बहुत मजबूत है प्रवृत्ति.
इन जोखिमों के लिए, निम्नलिखित में से किसी एक को अनुकूलित किया जा सकता हैः
ट्रेडिंग के लिए, ट्रेडर्स को ट्रेडर्स के साथ ट्रेड करने की आवश्यकता होती है। ट्रेडर्स को ट्रेडर्स के साथ ट्रेड करने की आवश्यकता होती है।
एटीआर और रिस्क-रिटर्न-रिश्ता पैरामीटर को अनुकूलित करें, जिससे स्टॉप लॉस और स्टॉप को अधिक उचित बनाया जा सके।
ट्रेडिंग की गुणवत्ता सुनिश्चित करने के लिए ट्रेडिंग वॉल्यूम या अस्थिरता संकेतकों को फ़िल्टर करने की आवश्यकता को बढ़ाएं।
इस रणनीति को और भी बेहतर बनाने के लिए जगह हैः
मशीन लर्निंग मॉडल का उपयोग करके मूल्य रुझानों की भविष्यवाणी करने और प्रवेश की सटीकता में सुधार करने के लिए।
जोखिम मुक्त सरप्राइज पोर्टफोलियो के निर्माण के लिए विकल्पों के प्रतिरक्षा किस्मों की कीमत में उतार-चढ़ाव का उपयोग करना।
एक स्थिर अल्फा के लिए विभिन्न बाजारों और विभिन्न किस्मों के बीच सांख्यिकीय तर्क-वितर्क करें।
एल्गोरिथम ट्रेडिंग इंजन के माध्यम से कुशल रणनीति प्रतिक्रिया और वास्तविक समय ट्रेडिंग।
इस आलेख में एक गतिशील ट्रैक स्टॉप-लॉस पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति का गहराई से विश्लेषण किया गया है। इस रणनीति में स्टॉप-लॉस प्रबंधन और ट्रेडिंग सिग्नल निर्णय की क्षमता है, जो जोखिम को प्रभावी ढंग से नियंत्रित करने में सक्षम है। हम रणनीति के लाभों, संभावित जोखिमों और बाद के अनुकूलन विचारों का भी विश्लेषण करते हैं। यह एक बहुत ही व्यावहारिक ट्रेडिंग रणनीति है, जो आगे के अध्ययन और आवेदन के लायक है।
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Chandelier Exit with 1-to-1 Risk-Reward", shorttitle='CE', overlay=true)
// Chandelier Exit Logic
length = input.int(title='ATR Period', defval=22)
mult = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
useClose = input.bool(title='Use Close Price for Extremums', defval=true)
atr = mult * ta.atr(length)
longStop = (useClose ? ta.highest(close, length) : ta.highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = (useClose ? ta.lowest(close, length) : ta.lowest(length)) + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
var int dir = 1
dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir
// Risk-Reward Ratio
riskRewardRatio = input.int(1, title="Risk-Reward Ratio", minval=1, maxval=10, step=1)
// Calculate Take Profit and Stop Loss Levels
takeProfitLevel = atr * riskRewardRatio
stopLossLevel = atr
// Entry Conditions
longCondition = dir == 1 and dir[1] == -1
shortCondition = dir == -1 and dir[1] == 1
// Entry Signals
if (longCondition)
strategy.entry("Long", strategy.long, stop=close - stopLossLevel, limit=close + takeProfitLevel)
if (shortCondition)
strategy.entry("Short", strategy.short, stop=close + stopLossLevel, limit=close - takeProfitLevel)
longStopPlot = plot(dir == 1 ? longStop : na, title='Long Stop', style=plot.style_linebr, linewidth=2, color=color.green)
shortStopPlot = plot(dir == 1 ? na : shortStop, title='Short Stop', style=plot.style_linebr, linewidth=2, color=color.red)
midPricePlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0, display=display.none, editable=false)
fill(midPricePlot, longStopPlot, color=color.new(color.green, 90), title='Long State Filling')
fill(midPricePlot, shortStopPlot, color=color.new(color.red, 90), title='Short State Filling')
// Alerts
if (dir != dir[1])
strategy.entry("Direction Change", strategy.long, comment="Chandelier Exit has changed direction!")
if (longCondition)
strategy.entry("Buy Signal", strategy.long, comment="Chandelier Exit Buy!")
if (shortCondition)
strategy.entry("Sell Signal", strategy.short, comment="Chandelier Exit Sell!")