यह रणनीति एक सरल एसएमए चलती औसत क्रॉसओवर रणनीति है। यह अलग-अलग लंबाई के दो सरल चलती औसत (एसएमए) का उपयोग करता है। जब तेज एमए धीमी एमए से ऊपर पार करता है, तो यह एक लंबी स्थिति में प्रवेश करता है। जब तेज एमए धीमी एमए से नीचे पार करता है, तो यह लंबी स्थिति को बंद कर देता है। दो एमए की लंबाई को अनुकूलित किया जा सकता है, साथ ही साथ बैकटेस्टिंग के लिए शुरुआत और समाप्ति तिथियां।
इस रणनीति का मुख्य विचार ट्रेडिंग के लिए चलती औसत और एमए क्रॉसओवर की संकेत विशेषताओं की प्रवृत्ति विशेषताओं का उपयोग करना है। जब तेज एमए धीमी एमए से ऊपर होता है, तो यह एक ऊपर की प्रवृत्ति को इंगित करता है और एक लंबी स्थिति रखी जानी चाहिए। जब तेज एमए धीमी एमए से नीचे होता है, तो यह एक नीचे की प्रवृत्ति को इंगित करता है और कोई स्थिति नहीं रखी जानी चाहिए।
एसएमए मूविंग एवरेज क्रॉसओवर रणनीति एक सरल, समझने में आसान, क्लासिक और व्यावहारिक ट्रेंड-फॉलोइंग रणनीति है जो शुरुआती लोगों के लिए सीखने और उपयोग करने के लिए उपयुक्त है। यह बाजार के रुझानों में बदलाव को जल्दी से पकड़ने के लिए मूविंग एवरेज की ट्रेंड विशेषताओं और एमए क्रॉसओवर की सिग्नल विशेषताओं का उपयोग करता है। हालांकि, इस रणनीति में कुछ सीमाएं और जोखिम भी हैं, जैसे कि लेग, लगातार ट्रेडिंग और स्टॉप-लॉस की कमी। इसलिए, व्यावहारिक अनुप्रयोगों में, रणनीति की स्थिरता और लाभप्रदता को बढ़ाने के लिए विशिष्ट परिस्थितियों के अनुसार इसे उचित रूप से अनुकूलित और सुधार करने की आवश्यकता है।
/*backtest start: 2023-03-22 00:00:00 end: 2024-03-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © j0secyn //@version=5 strategy("MA Cross", overlay=true, margin_long=100, margin_short=100, default_qty_value=100, default_qty_type=strategy.percent_of_equity, initial_capital=10000) // === INPUT BACKTEST RANGE === fromDay = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input.int(defval = 2018,title = "From Year", minval = 1970) thruDay = input.int(defval = 30, title = "Thru Day", minval = 1, maxval = 31) thruMonth = input.int(defval = 9, title = "Thru Month", minval = 1, maxval = 12) thruYear = input.int(defval = 2024, title = "Thru Year", minval = 1970) slow_ma_length = input.int(defval = 100, title = "Slow MA lenght") fast_ma_length = input.int(defval = 30, title = "Fast MA lenght") // === FUNCTION EXAMPLE === start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // === LOGIC === crossOv = ta.crossover(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length)) crossUn = ta.crossunder(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length)) // === EXECUTION === // strategy.entry("L", strategy.long, when = window() and crossOv) // enter long when "within window of time" AND crossover // strategy.close("L", when = window() and crossUn) // exits long when "within window of time" AND crossunder strategy.entry("L", strategy.long, when = window() and crossOv) // enter long when "within window of time" AND crossover strategy.close("L", when = window() and crossUn) // exits long when "within window of time" AND crossunder