इस रणनीति का मुख्य विचार समय और एटीआर संकेतक के संयोजन में स्वचालित स्टॉप-लॉस को प्राप्त करना है। रणनीति एक निश्चित समय पर स्थिति को खरीदने या बेचने के लिए खोलती है, और एटीआर संकेतक के संयोजन में उचित स्टॉप-लॉस मूल्य की गणना करती है। इस तरह से कुशल स्वचालित व्यापार प्राप्त किया जा सकता है, मैन्युअल ऑपरेशन की आवृत्ति को कम किया जा सकता है, जबकि एटीआर संकेतक के माध्यम से जोखिम को प्रभावी ढंग से नियंत्रित किया जा सकता है।
इस रणनीति का उपयोग घंटे और मिनट चर के संयोजन में यदि शर्त निर्णय, रणनीति पैरामीटर tradeTime द्वारा निर्दिष्ट समय बिंदु पर स्थिति खोलने के संचालन ट्रिगर. उदाहरण के लिए, 0700 सेट करने के लिए, 7 बजे बीजिंग समय का मतलब है कि पूरी स्थिति खोलने ट्रिगर.
स्थिति खोलने के बाद, रणनीति ta.atr () फ़ंक्शन का उपयोग करती है last 5 min के भीतर एटीआर संकेतक मूल्य की गणना करें, और इसे स्टॉप-लॉस स्टॉप के आधार के रूप में लें। उदाहरण के लिए, खरीदने के बाद, स्टॉप मूल्य = खरीद मूल्य + एटीआर मूल्य; बेचने के बाद, स्टॉप मूल्य = बेच मूल्य - एटीआर मूल्य
इस प्रकार, समय के आधार पर स्वचालित स्थिति खोलने और एटीआर सूचक के आधार पर स्टॉप-लॉस को रोकना संभव है। इस प्रकार, मैन्युअल ऑपरेशन की आवृत्ति कम हो जाती है और जोखिम को प्रभावी ढंग से नियंत्रित किया जाता है।
इस रणनीति के निम्नलिखित फायदे हैं:
उच्च स्तर की स्वचालन. आप निर्दिष्ट समय पर मानव रहित आदेश रख सकते हैं, जिससे मैन्युअल ऑपरेशन की आवृत्ति में काफी कमी आती है.
एटीआर सूचक पर आधारित स्टॉप लॉस क्लैंप एकल नुकसान को प्रभावी ढंग से नियंत्रित कर सकता है। एटीआर सूचक बाजार में उतार-चढ़ाव की डिग्री को गतिशील रूप से पकड़ सकता है, जिससे उचित स्टॉप लॉस दूरी निर्धारित की जा सकती है।
स्केलेबिलिटी मजबूत. निर्णय लेने में सहायता करने के लिए आसानी से अधिक संकेतकों या मशीन सीखने के एल्गोरिदम के साथ जोड़ा जा सकता है. उदाहरण के लिए, एक समान रेखीय संकेतकों के साथ निर्णय की प्रवृत्ति।
बहु किस्मों के लिए आसानी से सट्टा लगाने की रणनीति। केवल विभिन्न किस्मों के लिए एक ही ट्रेडिंग समय सेट करने के लिए, खुले अनुबंध की सट्टा रणनीति को आसानी से लागू किया जा सकता है।
स्वचालित ट्रेडिंग सिस्टम में आसानी से एकीकृत। समय-समय पर कार्य प्रबंधन के साथ, यह पूरी तरह से स्वचालित ट्रेडिंग को प्राप्त करने के लिए 24 घंटे की रणनीति कार्यक्रम को बिना किसी व्यक्ति की निगरानी के चला सकता है।
इस रणनीति के कुछ जोखिम भी हैं:
बाजार में आकस्मिक घटनाओं का जोखिम। एक बड़ी ब्लैक स्वान घटना से चरम कीमतों में उतार-चढ़ाव हो सकता है, जिससे बड़े नुकसान हो सकते हैं।
कुछ किस्मों की तरलता खराब है, वे सीमांत मूल्य स्टॉप पॉइंट पर पूरी तरह से व्यापार नहीं कर सकते हैं, वे स्टॉप पॉइंट को बंद नहीं कर सकते हैं।
एटीआर पैरामीटर अनुकूलन जोखिम. एटीआर पैरामीटर को बार-बार परीक्षण अनुकूलन की आवश्यकता होती है, यदि बहुत बड़ा या बहुत छोटा सेट किया जाता है, तो यह रणनीति के प्रभाव को प्रभावित करेगा.
समय के लिए जोखिम अनुकूलन निश्चित समय पर खोलने से बाजार के अवसरों को याद किया जा सकता है और समय के लिए अधिक सूचक समायोजन की आवश्यकता होती है
इस रणनीति को निम्नलिखित आयामों से और अधिक अनुकूलित किया जा सकता हैः
बाजार की स्थिति का आकलन करने के लिए अधिक संकेतकों के साथ, प्रतिकूल बाजार वातावरण में पदों को खोलने से बचें। जैसे कि एमएसीडी, आरएसआई आदि।
मशीन लर्निंग एल्गोरिदम का उपयोग करके सबसे अच्छा उद्घाटन समय की भविष्यवाणी करें। अधिक ऐतिहासिक डेटा एकत्र किया जा सकता है, एलएसटीएम आदि का उपयोग करके मॉडल प्रशिक्षण के लिए।
Heartbeat जैसे प्लेटफार्मों का उपयोग करके बहु-प्रजाति के लिलाव का विस्तार करें। उद्योग प्रासंगिकता के साथ लिलाव के अवसरों की तलाश करें।
एटीआर पैरामीटर को अनुकूलित करें और स्टॉप लॉस सेटिंग्स को रोकें। सबसे अच्छा पैरामीटर अधिक बार-बार परीक्षण के माध्यम से पाया जा सकता है।
रणनीतियों को सर्वर पर चलाएं, समयबद्ध कार्यों को एकीकृत करें, 7x24 घंटे पूरी तरह से स्वचालित संचालन प्राप्त करें।
यह रणनीति समय और एटीआर संकेतकों को एकीकृत करती है, जिससे एक कुशल स्वचालित स्टॉप-लॉस-स्टॉप ट्रेडिंग संभव हो जाती है। पैरामीटर अनुकूलन के माध्यम से, स्थिर अल्फा प्राप्त किया जा सकता है। साथ ही साथ यह एक मजबूत स्केलेबिलिटी और एकीकरण क्षमता के साथ है, यह एक अनुशंसित मात्रात्मक रणनीति है।
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Time-based Strategy with ATR Take Profit Sell", overlay=true)
// Initialize take profit levels
var float takeProfitLevel = na
var float takeProfitLevelForSell = na
var float buyprice = na
var float sellprice = na
// Input for the time when the trade should be executed
tradeTime = input(0700, "Trade Execution Time (HHMM)", "Specify the time in HHMM format", group="Time Settings")
// Calculate ATR for the last 5 minutes
atrLength = input(14, "ATR Length", "Specify ATR length", group="ATR Settings")
atrValue = request.security(syminfo.tickerid, "5", ta.atr(atrLength))
// Define conditions for buy and sell
buyCondition = hour * 100 + minute == tradeTime // and strategy.position_size == 0
sellCondition = hour * 100 + minute == tradeTime // and strategy.position_size > 0
// Execute Buy and Sell orders
// if (buyCondition)
// strategy.entry("Buy", strategy.long)
// buyprice := close
// takeProfitLevel := buyprice + atrValue
// strategy.exit("Take Profit BUY", from_entry="Buy", limit =takeProfitLevel)
if (sellCondition)
strategy.entry("Sell", strategy.short)
sellprice := close
takeProfitLevelForSell := sellprice -atrValue
strategy.exit("Take Profit Sell", from_entry="Sell", limit=takeProfitLevelForSell)
// Plot horizontal lines for take profit levels
plot(takeProfitLevel, color=color.green, title="Take Profit Level (Buy)")
plot(takeProfitLevelForSell, color=color.red, title="Take Profit Level (Sell)")