मूविंग एवरेज पर आधारित मूल आदिम ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-23 15:54:37
टैगः

img

अवलोकन

यह रणनीति मोमबत्ती के शरीर पर आधारित है, जो बाजार की प्रवृत्ति की दिशा का न्याय करने के लिए ईएमए संकेतक के साथ संयुक्त है, ताकि मूल आदिम प्रवृत्ति ट्रैकिंग प्रभाव प्राप्त किया जा सके। जब एक बड़ी यांग लाइन होती है तो लंबा जाएं, जब एक बड़ी यिन लाइन होती है तो छोटा जाएं, ताकि बाजार की प्रवृत्ति का पता लगाया जा सके।

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

  1. पिछले 30 के-लाइन मोमबत्तियों के औसत शरीर लंबाई sbody की गणना
  2. जब नवीनतम K-लाइन एक यांग लाइन है और शरीर की लंबाई sbody/2 से अधिक है, लंबे समय तक जाना
  3. जब पहले से ही लंबे समय तक, अगर नवीनतम K-लाइन एक यिन लाइन है, शरीर की लंबाई sbody/2 से अधिक है, और वर्तमान स्थिति लाभदायक है, तो बंद लंबी स्थिति
  4. जब नवीनतम K-लाइन एक यिन लाइन है और शरीर की लंबाई sbody/2 से अधिक है, कम जाओ
  5. जब पहले से ही कम, अगर नवीनतम K-लाइन एक यांग लाइन है, शरीर की लंबाई sbody/2 से अधिक है, और वर्तमान स्थिति लाभदायक है, तो कम स्थिति बंद

लाभ विश्लेषण

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

  1. मूल और सरल, समझने और लागू करने में आसान
  2. मोमबत्ती संरचना निर्णय के आधार पर, ब्रेकआउट को पकड़ने पर कुछ प्रभाव पड़ता है
  3. ट्रैक रुझान, बड़े कदम पकड़ सकते हैं
  4. लाभदायक होने पर तेजी से हानि रोकना, लाभ में ताला लगाने में मदद करता है

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

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

  1. झूठे ब्रेकआउट को प्रभावी ढंग से फ़िल्टर करने में असमर्थ, अनावश्यक नुकसान का कारण बन सकता है
  2. केवल मोमबत्तियों से न्याय फिसलने और अंतर प्रभाव के लिए अतिसंवेदनशील है
  3. अत्यधिक व्यापारिक आवृत्ति की समस्या पर विचार नहीं किया

जोखिमों को निम्न द्वारा कम किया जा सकता हैः

  1. संकेतों को फ़िल्टर करने के लिए अन्य संकेतकों के साथ संयोजन
  2. स्टॉप लॉस रणनीति सेट करें
  3. व्यापार आवृत्ति को नियंत्रित करने के लिए मापदंडों का अनुकूलन

अनुकूलन दिशाएँ

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

  1. झूठे ब्रेकआउट फ़िल्टर करने के लिए ब्रेकआउट संकेतक जोड़ें
  2. एकल हानि को कम करने के लिए स्टॉप लॉस रणनीति जोड़ें
  3. प्रवृत्ति की दिशा सत्यापित करने के लिए प्रवृत्ति संकेतक शामिल करें
  4. सबसे अच्छा पैरामीटर संयोजन खोजने के लिए पैरामीटर अनुकूलन

सारांश

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


/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's Primitive Strategy v1.0", shorttitle = "Primitive str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 10)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usebody = input(true, defval = true, title = "Use body")
useus = input(true, defval = true, title = "Use UUP")
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(01, defval = 01, 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")

//Logic
body = abs(close - open)
sbody = ema(body, 30) / 2
bar = close > open ? 1 : close < open ? -1 : 0

//Signals
up = bar == -1 and (body > sbody or usebody == false) and (close < strategy.position_avg_price or strategy.position_size <= 0 or useus == false)
dn = bar == 1 and (body > sbody or usebody == false) and (close > strategy.position_avg_price or strategy.position_size >= 0 or useus == false)

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00)
    strategy.close_all()

अधिक