चार चलती औसत गणनाओं में से चुनने के विकल्प के साथ दो चलती औसत पार करते समय देखेंः
SMA = सरल चलती औसत ईएमए = घातीय चलती औसत (डिफ़ॉल्ट) WMA = भारित चलती औसत रैखिक = रैखिक प्रतिगमन
मूविंग एवरेज को अलग-अलग टाइम-फ्रेम से प्लॉट किया जा सकता है, जैसे कि HL2, HLC3 या OHLC4 का उपयोग करके साप्ताहिक या 4 घंटे के टाइम-फ्रेम की गणना के लिए मूल्य स्रोत के रूप में। इसके अलावा एक पृष्ठभूमि रंग अलर्ट और तीर हैं जब मूविंग एवरेज एक दूसरे को पार करते हैं जब कीमत भी बढ़ती या गिरती है। और मूविंग एवरेज को उनकी प्रवृत्ति दिशा (यदि वे ऊपर या नीचे प्रवृत्ति कर रहे हैं) के आधार पर रंगीन किया जाता है।
बैकटेस्ट
/*backtest start: 2022-04-23 00:00:00 end: 2022-05-22 23:59:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ study("Moving Average Cross Alert, Multi-Timeframe Option (MTF) (by ChartArt)", shorttitle="CA_-_MA_cross", overlay=true) // ChartArt's Moving Average Cross Indicator // // Version 1.0 // Idea by ChartArt on September 15, 2015. // // This indicator shows when two moving averages cross. // With the option to choose between four moving // average calculations: // (SMA = simple moving average) // (EMA = exponential moving average) // (WMA = weighted moving average) // (Linear = Linear regression) // // The moving averages can be plotted from different // timeframes, like the weekly or 4 hour timeframe. // With the possibility to use HL2, HLC3 or OHLC4 prices. // // In addition there is a background color alert // and arrows when the moving averages cross each other. // And the moving averages are colored depending if // they are trending up or down. // // List of my work: // https://www.tradingview.com/u/ChartArt/ //@version=4 // Multi-timeframe and price input pricetype = input(close, title="Price Source For The Moving Averages") useCurrentRes = input(true, title="Use Current Timeframe As Resolution?") resCustom = input(title="Use Different Timeframe? Then Uncheck The Box Above", defval="W") res = useCurrentRes ? timeframe.period : resCustom price = security(syminfo.tickerid, res, pricetype) // MA period input shortperiod = input(50, title="Short Period Moving Average") longperiod = input(100, title="Long Period Moving Average") // MA calculation smoothinput = input(2, minval=1, maxval=4, title='Moving Average Calculation: (1 = SMA), (2 = EMA), (3 = WMA), (4 = Linear)') short = smoothinput == 1 ? sma(price, shortperiod) : smoothinput == 2 ? ema(price, shortperiod) : smoothinput == 3 ? wma(price, shortperiod) : smoothinput == 4 ? linreg(price, shortperiod,0) : na long = smoothinput == 1 ? sma(price, longperiod) : smoothinput == 2 ? ema(price, longperiod) : smoothinput == 3 ? wma(price, longperiod) : smoothinput == 4 ? linreg(price, longperiod,0) : na // MA trend direction color shortcolor = short > short[1] ? lime : short < short[1] ? red : blue longcolor = long > long[1] ? lime : long < long[1] ? red : blue // MA output MA1 = plot(short, title="Short Period Moving Average", style=linebr, linewidth=2, color=shortcolor) MA2 = plot(long, title="Long Period Moving Average", style=linebr, linewidth=4, color=longcolor) fill(MA1, MA2, color=silver, transp=50) // MA trend bar color TrendingUp() => short > long TrendingDown() => short < long barcolor(TrendingUp() ? green : TrendingDown() ? red : blue) // MA cross alert MAcrossing = cross(short, long) ? short : na plot(MAcrossing, style = cross, linewidth = 4,color=black) // MA cross background color alert Uptrend() => TrendingUp() and TrendingDown()[1] Downtrend() => TrendingDown() and TrendingUp()[1] bgcolor(Uptrend() ? green : Downtrend() ? red : na,transp=50) // Buy and sell alert Buy = Uptrend() and close > close[1] Sell = Downtrend() and close < close[1] plotshape(Buy, color=black, style=shape.arrowup, text="Buy", location=location.bottom) plotshape(Sell, color=black, style=shape.arrowdown, text="Sell", location=location.top) if Buy strategy.entry("Enter Long", strategy.long) else if Sell strategy.entry("Enter Short", strategy.short)