오시일레이터 지수 변환 전략은 브레세르트 3-10 오시일레이터 지수와 16일 간 간편 이동 평균 사이의 교차를 활용하여 거래 신호를 생성합니다. 이는 내일 및 오버나이트 거래에 적합합니다.
이 전략은 3일과 10일 기하급수적인 이동 평균의 차이인 브레세르트
특히, 전략은 먼저 3일 EMA, 10일 EMA 및 오시일레이터 지수로서의 차이점을 계산합니다. 그 다음 신호 라인으로 오시일레이터 지수의 16일 간단한 이동 평균을 계산합니다. 오시일레이터 지수가 신호 라인을 넘을 때 길게, 그 아래에 넘을 때 짧게됩니다. 역거래는 허용됩니다.
오시일레이터 인덱스 변환 전략은 3-10 오시일레이터 및 신호 라인 크로스오버에서 신호를 생성하는 단기 거래 전략이다. 이는 내일 및 하루 간 사용에 간단하고 실용적이지만 PnL 변동과 잘못된 신호 위험을 내재하고 있습니다. 전략을 정비하기 위해 추가 필터, 스톱 로스 및 포지션 사이징이 필요합니다. 적절한 최적화로 일관된 알파를 달성 할 수 있습니다.
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 27/03/2017 // TradeStation does not allow the user to make a Multi Data Chart with // a Tick Bar Chart and any other type a chart. This indicator allows the // user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval. // Walter Bressert's 3-10 Oscillator is a detrending oscillator derived // from subtracting a 10 day moving average from a 3 day moving average. // The second plot is an 16 day simple moving average of the 3-10 Oscillator. // The 16 period moving average is the slow line and the 3/10 oscillator is // the fast line. // For more information on the 3-10 Oscillator see Walter Bressert's book // "The Power of Oscillator/Cycle Combinations" // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="D_Three Ten Osc", shorttitle="D_Three Ten Osc") Length1 = input(3, minval=1) Length2 = input(10, minval=1) Length3 = input(16, minval=1) reverse = input(false, title="Trade reverse") hline(0, color=green, linestyle=line) xPrice = request.security(syminfo.tickerid,"D", hl2) xfastMA = ema(xPrice, Length1) xslowMA = ema(xPrice, Length2) xMACD = xfastMA - xslowMA xSignal = sma(xMACD, Length3) pos = iff(xSignal > xMACD, -1, iff(xSignal < xMACD, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(request.security(syminfo.tickerid, "D", xMACD), color=blue, title="D_Three Ten Osc") plot(request.security(syminfo.tickerid, "D", xSignal), color=red, title="D_Three Ave")