क्रॉस-लिमिट ऑर्डर दो-तरफ़ा क्रॉस-पीरियड ट्रेडिंग रणनीति


निर्माण तिथि: 2023-11-03 17:11:34 अंत में संशोधित करें: 2023-11-03 17:11:34
कॉपी: 1 क्लिक्स: 564
1
ध्यान केंद्रित करना
1617
समर्थक

क्रॉस-लिमिट ऑर्डर दो-तरफ़ा क्रॉस-पीरियड ट्रेडिंग रणनीति

अवलोकन

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

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

  1. सरल चलती औसत SMA की गणना करें और प्रवृत्ति की दिशा की गणना करें।

  2. यदि प्रतिक्रिया फ़िल्टर चालू है, तो SMA से अधिक निचले बिंदु का उपयोग करके इसे ऊपर की ओर और SMA से कम ऊंचाई का उपयोग करके इसे नीचे की ओर माना जाता है। यदि प्रतिक्रिया फ़िल्टर चालू नहीं है, तो SMA से अधिक समापन मूल्य का उपयोग करके इसे ऊपर की ओर और SMA से कम समापन मूल्य को नीचे की ओर माना जाता है।

  3. प्रवृत्ति की दिशा के आधार पर प्रवृत्ति और सक्षम ट्रेडिंग दिशा पैरामीटर needlong, needshort, SMA मूल्य पर एक सीमा आदेश रखा जाता है, विशिष्ट तर्क हैः

    • यदि आपको अधिक करने की आवश्यकता है (needlong सही है) और यह ऊपर की ओर जा रहा है, तो SMA मूल्य पर एक अधिकतम सीमा आदेश रखें

    • यदि आपको कम करने की आवश्यकता है (नीडशॉर्ट सही है) और आप नीचे की ओर जा रहे हैं, तो एसएमए मूल्य पर कम करने के लिए एक लिमिट ऑर्डर रखें

  4. स्टॉप लॉजिक सेट करें, यदि स्थिति रखने की दिशा प्रवृत्ति की दिशा से मेल नहीं खाती है, तो स्टॉप लॉस को बाहर निकालें।

  5. दिनांक सीमा पैरामीटर के अनुसार, केवल निर्दिष्ट दिनांक सीमा के भीतर व्यापार करें.

श्रेष्ठता विश्लेषण

  1. एसएमए का उपयोग करके प्रवृत्तियों का आकलन करने के लिए, बाजार के शोर को प्रभावी ढंग से फ़िल्टर किया जा सकता है और लंबी लाइनों के रुझानों को लॉक किया जा सकता है।

  2. SMA कीमतों पर लिमिट ऑर्डर रखने से प्रवृत्ति के शुरुआती चरण में बेहतर प्रवेश बिंदु मिलते हैं।

  3. केवल अधिक या खाली करने का विकल्प, व्यक्तिगत व्यापार शैली के लिए लचीलापन।

  4. आप अपने घाटे को रोकने के लिए एक स्टॉप-लॉस-आउट सिस्टम सेट कर सकते हैं।

  5. प्रमुख घटनाओं के कारण अत्यधिक उतार-चढ़ाव से बचने के लिए ट्रेडिंग समय सीमा निर्धारित करने का समर्थन करता है।

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

  1. SMA एक प्रवृत्ति का आकलन करने वाला सूचक है, इसमें देरी की समस्या है, और यह प्रवृत्ति के मोड़ को याद कर सकता है, जिससे नुकसान हो सकता है।

  2. सीमित मूल्य के एकल प्रवेश के साथ समस्या यह है कि यह लचीला नहीं है, और यह भी हो सकता है कि प्रवृत्ति के अल्पकालिक समायोजन के कारण प्रवेश नहीं किया जा सकता है।

  3. एसएमए चक्र पैरामीटर को तर्कसंगत रूप से सेट करने की आवश्यकता है, यदि गलत तरीके से सेट किया जाता है, तो एक गलत प्रवृत्ति निर्णय लिया जाएगा।

  4. ट्रेडिंग समय पैरामीटर की तर्कसंगतता पर विचार करने की आवश्यकता है ताकि ट्रेडिंग अवसर या जोखिम के समय को याद न किया जा सके।

अनुकूलन दिशा

  1. अन्य सूचकांकों को शामिल करने पर विचार किया जा सकता है, बहु-सूचक सत्यापन किया जा सकता है, एसएमए के पीछे की समस्या से बचा जा सकता है।

  2. एक सीमांत बोली ट्रैकिंग मोड सेट किया जा सकता है, जब कीमत SMA को तोड़ती है तो बाजार बोली ट्रैकिंग में बदल जाती है, जिससे ट्रैकिंग लचीलापन बढ़ जाता है।

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

  4. स्टॉप लॉस स्थिति को ट्रेंड के भीतर न्यूनतम/उच्चतम मूल्य के रूप में सेट करें, न कि सख्त SMA स्थिति के रूप में, जिससे स्टॉप लॉस अधिक लचीला हो।

  5. ट्रेडिंग के समय को अधिक स्मार्ट और लचीला बनाने के लिए एल्गोरिथ्म ट्रेडिंग तत्वों को जोड़ना, और महत्वपूर्ण जोखिमों से बचने के लिए।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-10-27 00:00:00
end: 2023-03-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2020

//@version=4
strategy(title = "Noro's CrossLimit", shorttitle = "CrossLimit", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0, commission_value = 0.0)

needlong = input(true, "long")
needshort = input(true, "short")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
src = input(close, defval = close, title = "MA Source")
len = input(5, defval = 5, minval = 1, title = "SMA length")
off = input(0, defval = 0, minval = 0, title = "SMA offset")
anti = input(true, defval = true, title = "Anti-saw filter")
rev = input(false, defval = false, title = "Reverse")
showma = input(true, defval = true, title = "Show MA")
showbg = input(false, defval = false, title = "Show background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MA
ma = sma(src, len)[off]
macol = showma ? color.blue : na
plot(ma, color = macol, linewidth = 3, transp = 0)

//Background
trend = 0
trend := anti == false and close > ma ? 1 : anti == false and close < ma ? -1 : low > ma ? 1 : high < ma ? -1 : trend[1]
bgcol = showbg ? trend == 1 ? color.lime : trend == -1 ? color.red : na : na
bgcolor(bgcol, transp = 70)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = (trend == 1 and rev == false) or (trend == -1 and rev == true)
dn = (trend == -1 and rev == false) or (trend == 1 and rev == true)

//Trading
size = strategy.position_size
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
if trend != 0
    strategy.entry("Long", strategy.long, lot, limit = ma, when = needlong and truetime and up)
    strategy.entry("Short", strategy.short, lot, limit = ma, when = needshort and truetime and dn)
if size > 0 and needshort == false and trend == -1
    strategy.exit("Stop Long", "Long", limit = ma)
if size < 0 and needlong == false and trend == 1
    strategy.exit("Stop Short", "Short", limit = ma)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")