टीईएमए क्रॉसओवर ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-12 16:40:50
टैगः

यह रणनीति मध्य अवधि के रुझानों को पकड़ने के लिए विभिन्न अवधियों की दो टेमा लाइनों के बीच क्रॉसओवर का व्यापार करती है। टेमा रुझान उलटों की पहचान करने के लिए शोर को अच्छी तरह से फ़िल्टर करती है।

रणनीति तर्क:

  1. तेज़ और धीमी TEMA रेखाओं की गणना करें, आमतौर पर 5 और 8 अवधि।

  2. जब तेज TEMA धीमी TEMA के ऊपर से गुजरता है तो लंबे समय तक जाएं।

  3. जब तेज TEMA धीमी TEMA से नीचे पार हो जाता है तो बाहर निकलें।

  4. विपरीत प्रवृत्ति के व्यापारों से बचने के लिए मोमबत्ती की दिशा के आधार पर फ़िल्टर करने का विकल्प।

  5. ऐतिहासिक संकेतों का अनुकरण करने के लिए निर्दिष्ट अवधि में बैकटेस्ट।

लाभः

  1. टीईएमए मूल्य शोर को काफी हद तक फ़िल्टर करता है।

  2. तेज/धीमी संयोजन मध्यवर्ती रुझानों को पकड़ता है।

  3. दिशा फिल्टर विपरीत प्रवृत्ति प्रविष्टियों से बचकर जीत दर में सुधार करता है।

जोखिमः

  1. टीईएमए अभी भी पीछे है, संभावित रूप से सर्वश्रेष्ठ प्रविष्टियों को याद कर रहा है।

  2. आदर्श मिलान के लिए पैरामीटर ट्यूनिंग की आवश्यकता है।

  3. विभिन्न बाजारों में संकेतों को बनाए रखना मुश्किल है।

संक्षेप में, यह रणनीति स्थिरता के लिए शोर फ़िल्टर के साथ व्यापार रुझानों के लिए TEMA लाइनों को पार करती है। लेकिन TEMA देरी बनी हुई है, बाजार की गति से मेल खाने के लिए अनुकूलन की आवश्यकता है।


/*backtest
start: 2022-09-11 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Tema",overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)
startP = timestamp(input(2017, "Start Year"), input(12, "Start Month"), input(17, "Start Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "End Month"),   input(1, "End Day"),   0, 0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)

tema_length_1 = input(5, "Fast TEMA")
tema_length_2 = input(8, "Slow TEMA")
usedir       = input(true, "Use bar's direction ?" )
dirtime      = input(2,"direction bars")

tema(sec, length)=>
    tema1= ema(sec, length)
    tema2= ema(tema1, length)
    tema3= ema(tema2, length)
    tema = 3*tema1-3*tema2+tema3

tema1 = tema(hlc3, tema_length_1)
tema2 = tema(hlc3, tema_length_2)

dir=if close/close[dirtime] > 1
    1
else
    -1

plot(tema1, color=color.green, transp=50)
plot(tema2, color=color.red, transp=50)


up =  crossover(tema1, tema2) 
down = crossunder(tema1, tema2)

long_condition =  up and (usedir ? dir==1 : true) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  down
strategy.close('BUY', when=short_condition)

अधिक