双均線追跡策略は,双均線を用いて価格トレンドを判断する追跡策略である.この策略は,2つの異なる周期の均線を用いてトレンドの方向を判断し,多空調の信号を発する.短周期と長周期の均線が同じ方向であるとき,トレンドが確認されたことを示す,入場を選択することができる.
この戦略は,価格の傾向を判断するために2つの均線を使用します.具体的原理は以下の通りです.
短周期p1と長周期p2の中線midとmid_2を計算する.
価格が中線より上か下かを判断し,上昇と下落の bool 値が得られます.
短期のp1と長期のp2の周期におけるトレンド方向とトレンド_2を判断するために,SMAの平滑な上昇と下降の bool値を使用します.
トレンドとトレンド_2が同方向であるとき,多行または空行信号を発する.
異なる色の柱状のグラフで,トレンドの方向を表示します.
入場時刻は,短周期と長周期の傾向方向が一致しているとき.
以上は,双均線追跡戦略の核心的な論理を構成している.双均線判断によって,部分的な偽突破を効果的にフィルターすることができる.短周期と長周期のトレンド方向が一致するときは,価格トレンドが非常に明確であることを示す.このとき,入場取引のリスクは低い.
この戦略の主な利点は以下の通りです.
双均線判定を使用すると,偽突破をフィルタリングして,入場時間をより確実にする.
異なる周期平均線を用いて,複数の時間枠のトレンド判断が可能になり,取引シグナルはより正確になります.
短周期と長周期の平均線を組み合わせると,大きなトレンドを把握しながら,短線の回帰の機会の一部を捉えることができます.
戦略の論理はシンプルで明快で,理解しやすく,実行しやすく,様々なレベルのトレーダーに適しています.
カスタマイズ可能な平均線周期,市場に応じてパラメータを調整し,異なる品種と行情タイプに適応することができる.
トレンドの方向を図示する柱状図を用いて,より直感的な取引ヒントを形成する.
双方向の追跡戦略にはいくつかのリスクがあります.
均線周期が設定されていない場合,複数のポジション調整が発生し,取引頻度とスライドポイントコストが増加する可能性があります.周期パラメータを適切に調整したり,ポジション開設の選条件を追加したりできます.
市場が震動期にあり,均線が交差すると,誤信号が発生する.他の指標でフィルタリングするか,ポジション管理ルールを追加することができます.
突破したショートラインのリコールが逃されることがあります.平均線周期を適切に短縮したり,ショートラインのチャンスを捕まえる他の戦略を採用したりできます.
大トレンドが突破すると,ストップ設定が不適切で大きな損失をもたらす可能性があります. ストップ位置を適時調整して,ストップポイントの下にはサポートがあることを確認してください.
戦略は基本的要素を考慮せず,技術的にトレンドを判断するのみである. ユーザーは自身の研究と判断を組み合わせてこの戦略を使用する必要があります.
この戦略は以下の点で最適化できます.
取引量,動態指標などの他の指標のフィルターを追加し,震動期間の無効取引を避ける.
適応均線周期を採用し,静的な周期ではなく,市場の変化に応じてパラメータを自動的に調整する.
ポジション管理モジュールを追加し,トレンドの強さなどのルールで特定の加仓幅を指示する.
ストップ・モジュール,トレーリング・ストップまたはタイム・ストップを追加し,単発損失を制御する.
機械学習などの技術を組み合わせて,トレンドの正確性を判断し,出場ロジックを動的に調整する訓練を考慮する.
財務報告や重要なイベントなどの基本的要素を考慮して,大局から離れないようにしてください.
総括すると,双均線追跡戦略は,シンプルで実用的トレンド判断戦略である.短期間と長期の2つの時間次元を組み合わせてトレンドを識別し,入場タイミング判断は非常に信頼性が高く,トレンドを追跡するトレーダーのほとんどに適している.もちろん,この戦略にはいくつかのリスクがあることに注意する必要があります.ユーザーは,パラメータの最適化,リスク管理などの面で改善して,戦略を現実に適したものにすることができます.全体として,双均線戦略は,非常に古典的で実用的トレンド取引戦略である.
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// My Tradingview Scripts : https://bit.ly/2HKtr7k
strategy("UniDir Strategy", overlay=true, initial_capital=50000, default_qty_value=50000, default_qty_type=strategy.cash, slippage=3, commission_type=strategy.commission.percent, commission_value=0.075, pyramiding=0)
p1=input(14)
p2=input(21)
Price = close
mid = (highest(high, p1)+lowest(low, p1)) / 2
mid_2 = (highest(high, p2)+lowest(low, p2)) / 2
//Trend
up = Price > mid ? 1 : 0
up_2 = Price > mid_2 ? 1 : 0
down = Price < mid ? 1 : 0
down_2 = Price < mid_2 ? 1 : 0
trend = sma(up, 2) == 1 ? 1 : sma(down, 2) == 1 ? -1 : nz(trend[1])
trend_2 = sma(up_2, 2) == 1 ? 1 : sma(down_2, 2) == 1 ? -1 : nz(trend_2[1])
dir1=trend==1 ? lime : red
dir2=trend_2==1 ? lime : red
dir_all=trend==1 and trend_2==1 ? lime : red
top_p=plot(1)
hi_p=plot(0.4)
mid_p=plot(0.2)
lo_p=plot(0)
fill(hi_p,mid_p,color=dir1,transp=80)
fill(lo_p,mid_p,color=dir2,transp=80)
fill(top_p,hi_p,color=dir_all,transp=0)
// Entry
long_cond = trend==1 and trend_2==1
short_cond = trend==-1 and trend_2==-1
if long_cond
strategy.entry("Long",strategy.long)
if short_cond
strategy.entry("Short",strategy.short)