मूविंग एवरेज और ईएमए पर आधारित क्रॉस-टाइम फ्रेम ट्रेंड रणनीति


निर्माण तिथि: 2024-02-21 15:59:43 अंत में संशोधित करें: 2024-02-21 15:59:43
कॉपी: 1 क्लिक्स: 713
1
ध्यान केंद्रित करना
1617
समर्थक

मूविंग एवरेज और ईएमए पर आधारित क्रॉस-टाइम फ्रेम ट्रेंड रणनीति

अवलोकन

यह रणनीति एक रणनीति है जो औसत रेखा और ईएमए का उपयोग करके समय-सीमा में प्रवृत्ति व्यापार को लागू करती है। यह रणनीति विभिन्न चक्रों के एसएमए, ईएमए और के-लाइन संस्थाओं के संयोजन के माध्यम से प्रवृत्ति की दिशा का आकलन करती है, जिससे कम जोखिम वाले प्रवृत्ति का पालन किया जा सकता है।

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

यह रणनीति मुख्य रूप से तीन चक्रों के विभिन्न SMA औसत रेखा की तुलना पर आधारित है, कीमतों की चाल का निर्धारण करने के लिए। इसके अलावा ईएमए का उपयोग करने के लिए इकाई की दिशा का निर्धारण करने के लिए सहायक है।

विशेष रूप से, रणनीति 3 चक्र SMA औसत का उपयोग करती है, 3 चक्र, 8 चक्र और 10 चक्र SMA। कीमतों को तीन औसत रेखाओं के नीचे गिरावट में माना जाता है, और जब कीमतें फिर से औसत रेखा पर लौटती हैं, तो एक खरीद संकेत जारी किया जाता है।

इसके अलावा, रणनीति 5 चक्र ईएमए का उपयोग करती है जो कि K-लाइन की दिशा का आकलन करने में मदद करती है, जिससे यह सुनिश्चित होता है कि खरीदते समय इकाई ऊपर की ओर है।

स्थिति प्रबंधन में, रणनीति को लाभ की संख्या या अधिकतम स्थिति चक्र के रूप में रोक दिया जाता है।

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

यह रणनीति विभिन्न समय चक्रों के लिए औसत रेखा को जोड़ती है, जिससे रुझानों के बारे में निर्णय लिया जा सकता है, बाजार के शोर को प्रभावी ढंग से फ़िल्टर किया जा सकता है, और मध्य-लंबी रेखा के रुझानों को ट्रैक किया जा सकता है। रणनीति के पैरामीटर को अनुकूलित किया गया है, जो ऐतिहासिक प्रतिक्रिया में अच्छा प्रदर्शन करता है।

इसके अलावा, ईएमए के निर्णयों को शामिल करने की रणनीति, K-लाइन इकाइयों को नीचे की ओर खरीदने से बचने में मदद करती है, जिससे अनावश्यक स्लाइडिंग हानि कम हो जाती है।

कुल मिलाकर, यह रणनीति स्थिर, विश्वसनीय और मध्यम और दीर्घकालिक ट्रैकिंग के लिए उपयुक्त है।

जोखिम और उपाय

  • यह रणनीति पैरामीटर के प्रति संवेदनशील है, 3 एसएमए चक्रों या ईएमए चक्रों की अनुचित सेटिंग से ट्रेडिंग सिग्नल की गुणवत्ता में गिरावट आती है। विभिन्न किस्मों के लिए पैरामीटर अनुकूलन की आवश्यकता होती है।

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

अनुकूलन दिशा

  • आप ईएमए या एसएमए की तुलना करने के लिए कई समय-सीमाओं के साथ और अधिक आवधिक पैरामीटर जोड़ने पर विचार कर सकते हैं, जिससे रणनीति के लिए रुझान का अधिक सटीक निर्णय हो सके।

  • एक निश्चित मूल्य की रोकथाम की स्थापना का परीक्षण किया जा सकता है, जो लाभ की गारंटी देते हुए, चरम बाजार में नुकसान को कम करता है।

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Free Strategy #02 (ES / SPY)", overlay=true)

// Inputs
Quantity = input(1, minval=1, title="Quantity")
SmaPeriod01 = input(3, minval=1, title="SMA Period 01")
SmaPeriod02 = input(8, minval=1, title="SMA Period 02")
SmaPeriod03 = input(10, minval=1, title="SMA Period 03")
EmaPeriod01 = input(5, minval=1, title="EMA Period 01")
MaxProfitCloses = input(5, minval=1, title="Max Profit Close")
MaxBars = input(10, minval=1, title="Max Total Bars")

// Misc Variables
src = close
BarsSinceEntry = 0
MaxProfitCount = 0
Sma01 = sma(close, SmaPeriod01)
Sma02 = sma(close, SmaPeriod02)
Sma03 = sma(close, SmaPeriod03)
Ema01 = ema(close, EmaPeriod01)

// Conditions
Cond00 = strategy.position_size == 0
Cond01 = close < Sma03
Cond02 = close <= Sma01
Cond03 = close[1] > Sma01[1]
Cond04 = open > Ema01
Cond05 = Sma02 < Sma02[1]

// Update Exit Variables
BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1
MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1])

// Entries
strategy.entry(id="L1", long=true, qty=Quantity, when=(Cond00 and Cond01 and Cond02 and Cond03 and Cond04 and Cond05))
 
// Exits
strategy.close("L1", (BarsSinceEntry - 1 >= MaxBars or MaxProfitCount >= MaxProfitCloses))