
एक चलती औसत ट्रेडिंग रणनीति जो एक क्रॉसिंग की गणना करके खरीद और बेचने के संकेत उत्पन्न करती है। जब यह धीमी रेखा को पार करता है, तो यह एक खरीद संकेत उत्पन्न करता है; जब यह धीमी रेखा को पार करता है, तो यह एक बेचने का संकेत उत्पन्न करता है। यह रणनीति सरल और व्यावहारिक है और मध्यम-लघु रेखा ट्रेडिंग के लिए उपयुक्त है।
यह रणनीति दो चलती औसत, तेज और धीमी रेखाओं का उपयोग करती है। तेज रेखा पैरामीटर EMAfastLength डिफ़ॉल्ट 9 दिन की रेखा है, धीमी रेखा पैरामीटर EMAslowLength डिफ़ॉल्ट 26 दिन की रेखा है। बाजार में खरीदने और बेचने के संकेतों का न्याय करने के लिए दो ईएमए लाइनों के क्रॉसिंग की गणना करेंः
विशिष्ट ट्रेडिंग सिग्नल और रणनीति नियम इस प्रकार हैंः
तो यह एक ऐसी रणनीति है जो दो चलती औसत के बीच एक गोल्डफ़ॉर्क और एक डेडफ़ॉर्क होने पर ट्रेडिंग करती है।
जोखिम को कम करने के लिए, बहुत सारे परीक्षणों की आवश्यकता होती है, जैसे कि चलती औसत अवधि, व्यापार प्रकार, स्टॉप-लॉस अनुपात आदि जैसे पैरामीटर जो जोखिम के लिए अनुकूलित किए जा सकते हैं।
इस रणनीति का चलती औसत क्रॉसिंग विचार सरल और व्यावहारिक है और इसे निम्नलिखित तरीकों से अनुकूलित किया जा सकता हैः
इन अनुकूलन परीक्षणों के माध्यम से, रणनीतियों की वास्तविक युद्ध प्रभावशीलता और स्थिरता में काफी सुधार किया जा सकता है।
चलती औसत क्रॉसिंग रणनीति विचार सरल है, और वास्तविक अनुप्रयोगों को लगातार अनुकूलन की आवश्यकता है। यह रणनीति अपने व्यापारिक संकेतों के निर्माण के तर्क और बुनियादी व्यापार नियमों को देती है, जिसके आधार पर इसे एक व्यावहारिक मात्रात्मक रणनीति बनाने के लिए काफी अनुकूलित किया जा सकता है। चलती औसत का अनुप्रयोग हमें रणनीति विचार भी प्रदान करता है, जिसके आधार पर हम नवाचार और सुधार कर सकते हैं।
/*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=4
strategy("EMA Cross by MarketAlpha", overlay=true)
EMAfastLength = input(defval = 9, minval = 2)
EMAslowLength = input(defval = 26, minval = 2)
Targetpercentage = input(defval = 0.15, title = "Profit Target in percentage", minval = 0.05)
StopLosspercentage = input(defval = 0.20, title = "Stop Loss in percentage", minval = 0.05)
profitpoints = close*Targetpercentage
stoplosspoints = close*StopLosspercentage
price = close
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2000)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
emafast = ema(price, EMAfastLength)
emaslow = sma(price, EMAslowLength)
plot(emafast,color=green)
plot(emaslow,color=red)
enterLong() => crossover(emafast, emaslow)
strategy.entry(id = "MarketAlpha Long", long = true, when = window() and enterLong())
strategy.exit("Exit Long", from_entry = "MarketAlpha Long", profit = profitpoints,loss = stoplosspoints)
enterShort() => crossunder(emafast, emaslow)
strategy.entry(id = "MarketAlpha Short", long = false, when = window() and enterShort())
strategy.exit("Exit Short", from_entry = "MarketAlpha Short", profit = profitpoints,loss = stoplosspoints)