एटीआर के साथ समय-आधारित रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-29 16:13:57
टैगः

img

अवलोकन

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

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

यह रणनीति ट्रेडटाइम रणनीति पैरामीटर में निर्दिष्ट समय बिंदु पर खुलने वाली स्थिति को ट्रिगर करने के लिए यदि शर्तों के साथ संयुक्त घंटे और मिनट चर का उपयोग करती है। उदाहरण के लिए, इसे 0700 पर सेट करने का मतलब है कि यह बीजिंग समय के अनुसार सुबह 7 बजे खुलने वाली स्थिति को ट्रिगर करेगा।

पदों को खोलने के बाद, रणनीति पिछले 5 मिनट में एटीआर संकेतक मूल्य की गणना करने के लिए ta.atr() फ़ंक्शन का उपयोग करेगी, और इसे स्टॉप लॉस और लाभ लेने के आधार के रूप में उपयोग करेगी। उदाहरण के लिए, खरीदने के बाद, लाभ मूल्य = खरीद मूल्य + एटीआर मूल्य लें; बेचने के बाद, लाभ मूल्य = बिक्री मूल्य - एटीआर मूल्य लें।

यह समय बिंदुओं के आधार पर स्वचालित खोलने, और एटीआर संकेतक के आधार पर स्टॉप लॉस और ले लाभ प्राप्त करता है। इस प्रकार जोखिमों को प्रभावी ढंग से नियंत्रित करते हुए मैनुअल संचालन की आवृत्ति को कम करता है।

लाभ विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैंः

  1. उच्च स्तर का स्वचालन यह निर्दिष्ट समय पर अनियंत्रित स्थिति खोल सकता है, मैन्युअल संचालन की आवृत्ति को बहुत कम करता है।

  2. एटीआर संकेतक के आधार पर स्टॉप लॉस और टेक प्रॉफिट प्रभावी रूप से एकल हानि को नियंत्रित कर सकता है। एटीआर संकेतक उचित स्टॉप लॉस दूरी निर्धारित करने के लिए गतिशील रूप से बाजार अस्थिरता को पकड़ सकता है।

  3. मजबूत स्केलेबिलिटी। निर्णयों में सहायता के लिए अधिक संकेतकों या मशीन लर्निंग एल्गोरिदम को जोड़ना आसान है। उदाहरण के लिए, रुझानों को निर्धारित करने के लिए चलती औसत को जोड़ना।

  4. अंतर-कमोडिटी आर्बिट्रेज को लागू करना आसान है। स्प्रेड ट्रेडिंग रणनीतियों को आसानी से लागू करने के लिए विभिन्न उत्पादों के लिए एक ही ट्रेडिंग समय सेट करें।

  5. स्वचालित ट्रेडिंग सिस्टम में एकीकृत करने में आसान है। अनुसूचित कार्य प्रबंधन के साथ संयुक्त, रणनीति कार्यक्रम पूर्ण स्वचालन प्राप्त करने के लिए 24 घंटे अनियंत्रित चल सकता है।

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

इस रणनीति में कुछ जोखिम भी हैं:

  1. बाजार की घटना का जोखिमः बड़ी ब्लैक स्वान घटनाएं अत्यधिक मूल्य उतार-चढ़ाव का कारण बन सकती हैं, जिससे स्टॉप और बड़े नुकसान हो सकते हैं।

  2. तरलता जोखिमः कुछ उत्पादों में कम तरलता होती है और लाभ लेने के सीमा बिंदु पर पूरी तरह से बंद नहीं किया जा सकता है।

  3. एटीआर मापदंड अनुकूलन जोखिम एटीआर मापदंडों को बार-बार परीक्षण और अनुकूलन की आवश्यकता होती है, अनुचित सेटिंग्स रणनीति प्रदर्शन को प्रभावित करेगी।

  4. समय बिंदु अनुकूलन जोखिम। निश्चित खुलने का समय बाजार के अवसरों को याद कर सकता है, अधिक संकेतकों के आधार पर समायोजन की आवश्यकता है।

रणनीति अनुकूलन

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

  1. बाजार स्थितियों का आकलन करने के लिए अधिक संकेतकों का संयोजन करें, प्रतिकूल वातावरण में खोलने से बचें। जैसे कि एमएसीडी, आरएसआई आदि।

  2. इष्टतम समय बिंदुओं की भविष्यवाणी करने के लिए मशीन लर्निंग एल्गोरिदम का उपयोग करें। अधिक ऐतिहासिक डेटा एकत्र करें, LSTM आदि मॉडल का उपयोग करें।

  3. Heartbeat जैसे प्लेटफार्मों का उपयोग करके इंटर-कमोडिटी आर्बिट्रेज में विस्तार करें। उद्योग सहसंबंधों के आधार पर अवसर खोजें।

  4. एटीआर मापदंडों को अनुकूलित करें और अधिक बैकटेस्टिंग के माध्यम से स्टॉप लॉस/टेक प्रॉफिट सेटिंग्स करें।

  5. एक सर्वर पर रणनीति चलाएं, समयबद्ध कार्यों को एकीकृत करें, पूरी तरह से स्वचालित 24×7 व्यापार प्राप्त करें।

निष्कर्ष

यह रणनीति कुशल स्वचालित स्टॉप लॉस और ले लाभ व्यापार प्राप्त करने के लिए समय और एटीआर को एकीकृत करती है। पैरामीटर अनुकूलन के माध्यम से, स्थिर अल्फा प्राप्त किया जा सकता है। यह एक अनुशंसित मात्रा रणनीति के रूप में महान स्केलेबिलिटी और एकीकरण क्षमताओं के साथ भी है।


/*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)")


अधिक