この戦略は,線形回帰指標と二重指数移動平均を組み合わせて短期追跡操作を実施する.この戦略は,価格が上下線を突破するとショートポジションを確立し,価格が再び突破するとポジションを閉鎖する.同時に,この戦略は,価格の動向を決定するための補助条件として二重指数移動平均を使用する.
この戦略は,主に線形回帰指標を使用して価格ブレイクを決定します.線形回帰指標は,上下レールを取得するために線形回帰を使用して,一定の期間の最高値と最低値に基づいて計算されます.価格が上下レールから崩れ落ちたり,下下下レールから崩れ落ちたりすると,それは取引信号であると信じています.
また,この戦略は,中間トレンドを決定するために二重指数関数移動平均も導入する.二重指数関数移動平均は価格変化により早く反応することができる.価格が上方レールから崩れ落ちると,二重指数関数移動平均がすでに価格の上方にある場合,それは現在下落傾向にあることを示唆する.我々はショートポジションを確立する.価格が再び上部レールを突破するか,二重指数関数移動平均を突破したとき,我々はポジションを平坦にする.
具体的には,戦略の主なポイントは以下のとおりです.
この戦略は,従来の移動平均値や他の指標と比較して,以下の利点があります.
この戦略には注意すべきリスクもあります.
上記のリスクについては,パラメータの最適化,厳格なストップ損失,突破幅の適正な緩和などで解決できます
この戦略は,次の側面でも最適化できます.
この戦略は,線形回帰指標と二重指数移動平均を包括的に使用しており,理論と実践の両方で一定の利点があります.継続的な最適化と調整によって安定性と戦略の結果のさらなる改善を達成できます.この戦略は短期取引に適しており,定量的なトレーダーに良いアルファをもたらすことができます.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy('LR&SSL_Short', overlay=true) startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0) end = timestamp(9999,1,1,0,0) _testPeriod() => true len = input(title="Period", defval=89) smaHigh = linreg(high, len, 0) smaLow = linreg(low, len, -1) Hlv = 0.0 Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? smaHigh : smaLow sslUp = Hlv < 0 ? smaLow : smaHigh plot(sslDown, linewidth=2, color=color.red) plot(sslUp, linewidth=2, color=color.lime) length = input(200, title="DEMA") d1 = ema(close, length) d2 = 2 * d1 - ema(d1, length) trendColour = d2 > d1 ? #AAFFAA : #FFAAAA dema=sma(d2,length) turnGreen = d2 > d1 and d2[1] <= d1[1] turnRed = d2 <= d1 and d2[1] > d1[1] up =turnGreen down=turnRed plotshape(down, title="down", style=shape.triangledown,location=location.abovebar, color=color.red, transp=0, size=size.small) plotshape(up, title="up", style=shape.triangleup,location=location.belowbar, color=color.green, transp=0, size=size.small) plot(dema, color = trendColour,linewidth=3 ,transp = 0) bgcolor(close > dema ? color.green : color.red) strategy.entry("short", strategy.short, when= crossunder(sslUp, sslDown) and dema > close and _testPeriod()) strategy.close("short", when = crossover(sslUp, sslDown) or crossover(close, dema))