
この戦略は,通路の突破状況に基づいて市場の方向を判断するために,動的通路指標を使用し,トレンドの方向を捉えます.この戦略は,特定の時間周期内の最高価格と最低価格を計算することによって,上下通路を形成し,通路の突破時に取引信号を生成します.
この策略は,input関数を使用して通路周期の長さをlengthに20日間設定します. そして,最新の20日間の最高価格highestを () として計算し,最新の20日間の最低価格lowestを () として計算します.
通路内を色で満たす.上線を緑で満たし,下線を赤で満たして,動的な通路を形成する.
傾向を判断する参考として,200日移動平均のema ((close,200) を描画する.
策略は,ema値を大トレンドの判断基準として使用する. 200日線より近い場合は看板,200日線より近い場合は下落である.
看板時には,閉盘価格closeが上線を突破した場合,多信号を生成する.看板時には,閉盘価格closeが下線を突破した場合,空調信号を生成する.
多損は長短ルールで下線または中線に設定し,空損は長短ルールで上線または中線に設定する.
ダイナミックなチャネルを利用して,市場の変化を捉えることができます.
突破によって取引信号が生成され,トレンド取引の考えに従って行われます.
移動平均に基づいて大トレンドの方向を判断し,通路突破と組み合わせて使用する.
市場によって柔軟に調整できる.
市場との差異が生じる可能性のある大きなトレンドの誤判.
経路周期の設定が不適切で,誤った取引の確率が増加する.
止損点は通路に近いので,止損が誘発される確率は増加する可能性があります.
突破信号が遅れているため,入口の最適な位置を逃す可能性がある.
対策として
複数の指標を組み合わせて大きな傾向を判断し,誤差の確率を減らす.
チャンネル周期パラメータを最適化して,異なる市場リズムに適応させる.
停止位置を調整して,十分な緩衝空間を確保する.
他の指標と組み合わせて入場信号をフィルタリングする.
大傾向判断指標を増やし,指標群を形成し,判断精度を向上させる.
取引量指標を追加して,偽の突破を回避する.
経路周期のパラメータを最適化して,異なる品種特性に合わせる.
ストップ・ロスの戦略を最適化し,ストップ・ロスの動態を追跡する.
フィルターを追加し,信号の質を向上させ,不必要な取引を減らす.
この戦略は全体的にトレンド取引の考え方に従っており,動的チャネルを活用して波動範囲を判断し,取引シグナルを形成し,トレンドの変化を効果的に追跡できる.これは信頼できるトレンド追跡戦略である.しかし,大トレンド判断とストップを最適化し,フィルタリング条件を追加して戦略の安定性を高める必要がある.この戦略は中長線トレンドを追跡するのに適しており,他の戦略と組み合わせて多戦略ポートフォリオを構成し,システムリスクをカバーする.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pratyush_trades
//@version=4
strategy("Donchian Indexes", overlay=true)
length = input(20)
longRule = input("Higher High", "Long Entry", options=["Higher High", "Basis"])
shortRule = input("Lower Low", "Short Entry", options=["Lower Low", "Basis"])
longSL=input("Lower Low", "LONG SL", options=["Lower Low", "Basis"])
shortSL=input("Higher High", "SHORT SL", options=["Higher High", "Basis"])
hh = highest(high, length)
ll = lowest(low, length)
up = plot(hh, 'Upper Band', color = color.green)
dw = plot(ll, 'Lower Band', color = color.red)
mid = (hh + ll) / 2
midPlot = plot(mid, 'Basis', color = color.orange)
fill(up, midPlot, color=color.green, transp = 95)
fill(dw, midPlot, color=color.red, transp = 95)
plot(ema(close,200), "ema", color=color.orange)
if (close>ema(close,200))
if (not na(close[length]))
strategy.entry("Long", strategy.long, stop=longRule=='Basis' ? mid : hh)
if (close<ema(close,200))
if (not na(close[length]))
strategy.entry("Short", strategy.short, stop=shortRule=='Basis' ? mid : ll)
if (strategy.position_size>0)
strategy.exit(id="Longs Exit",stop=longSL=='Basis' ? mid : ll)
if (strategy.position_size<0)
strategy.exit(id="Shorts Exit",stop=shortSL=='Basis' ? mid : hh)