이 전략의 핵심 아이디어는 구매 및 판매 결정을 내리기 위해 랜덤 피셔 변환과 임시 정지 역STOCH 지표를 결합하는 것입니다. 이 전략은 중장기 운영에 적합하며 안정적인 시장 조건에서 적당한 수익을 창출 할 수 있습니다.
이 전략은 먼저 표준 STOCH 지표를 계산하고, 그 다음 INVLine를 얻기 위해 피셔 변환을 수행합니다. INVLine가 하부 임계 dl를 넘을 때 구매 신호가 생성됩니다. INVLine가 상위 임계 ul를 넘을 때 판매 신호가 생성됩니다. 동시에이 전략은 수익을 잠금하고 손실을 줄이기 위해 후속 중지 메커니즘을 설정합니다.
특히 이 전략의 핵심 논리는 다음과 같습니다.
이 전략의 주요 장점은 다음과 같습니다.
이 전략에는 또한 몇 가지 위험이 있습니다.
이러한 위험을 줄이기 위해 다음 측면을 최적화하는 것을 고려하십시오.
이 전략을 최적화하는 주요 방향은 다음과 같습니다.
이 전략은 랜덤 피셔 변환과 STOCH 지표를 결합하여 간단하고 실용적인 단기 양적 전략을 구현합니다. 이 전략의 장점은 현재 인기있는 고주파량 양적 거래에 적합한 높은 운영 주파수입니다. 동시에이 전략에는 몇 가지 일반적인 기술 지표 전략 위험도 있습니다. 위험 감소 및 안정성을 향상시키기 위해 매개 변수 및 필터 조건이 최적화되어야합니다. 일반적으로이 전략은 간단한 양적 거래에 대한 좋은 아이디어를 제공하며 추가 심층 연구를 가치가 있습니다.
/*backtest start: 2022-12-26 00:00:00 end: 2024-01-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("IFT Stochastic + Trailing Stop", overlay=false, pyramiding = 0, calc_on_order_fills = false, commission_type = strategy.commission.percent, commission_value = 0.0454, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) //INPUTS stochlength=input(19, "STOCH Length") wmalength=input(4, title="Smooth") ul = input(0.64,step=0.01, title="UP line") dl = input(-0.62,step=0.01, title="DOWN line") uts = input(true, title="Use trailing stop") tsi = input(title="trailing stop actiation pips",defval=245) tso = input(title="trailing stop offset pips",defval=20) //CALCULATIONS v1=0.1*(stoch(close, high, low, stochlength)-50) v2=wma(v1, wmalength) INVLine=(exp(2*v2)-1)/(exp(2*v2)+1) //CONDITIONS sell = crossunder(INVLine,ul)? 1 : 0 buy = crossover(INVLine,dl)? 1 : 0 //PLOTS plot(INVLine, color=aqua, linewidth=1, title="STOCH") hline(ul, color=red) hline(dl, color=green) bgcolor(sell==1? red : na, transp=30, title = "sell signal") bgcolor(buy==1? lime : na, transp=30, title = "buy signal") plotchar(buy==1, title="Buy Signal", char='B', location=location.bottom, color=white, transp=0, offset=0) plotchar(sell==1, title="Sell Signal", char='S', location=location.top, color=white, transp=0, offset=0) //STRATEGY strategy.entry("BUY", strategy.long, when = buy==1) strategy.entry("SELL", strategy.short, when = sell==1) if (uts) strategy.entry("BUY", strategy.long, when = buy) strategy.entry("SELL", strategy.short, when = sell) strategy.exit("Close BUY with TS","BUY", trail_points = tsi, trail_offset = tso) strategy.exit("Close SELL with TS","SELL", trail_points = tsi, trail_offset = tso)