この戦略の基本理念は,ランダム・フィッシャー・トランスフォームと一時停止逆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)