두 개의 이동 평균이 교차할 때 확인합니다.
SMA = 단순한 이동 평균 EMA = 기하급수적인 이동 평균 (디폴트) 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)