WaveTrendインジケーターに基づくトレンドフォロー戦略


作成日: 2023-09-20 15:50:08 最終変更日: 2023-09-20 15:50:08
コピー: 1 クリック数: 813
1
フォロー
1617
フォロワー

概要

この戦略は,価格の傾向の方向を判断するためにWaveTrend指標を使用し,トレンドの転換点で取引シグナルを生成し,トレンド追跡型の戦略である.

戦略原則

  1. WaveTrend振動器を計算し,正値の場合は多頭市場と判断し,負値の場合は空頭市場と判断する.

  2. WaveTrendの指数が変化すると,買入と売却のシグナルが生じます.

  3. 複数の取引のみを選択できます.

  4. WaveTrendのターニングポイントを矢印で表示する.

  5. 背景の色を設定すると,トレンドの方向を直感的に判断できます.

  6. 戦略はシンプルでわかりやすく,実行しやすい.

優位分析

  1. WaveTrendはトレンドの転換に敏感で,早期にチャンスを捉えることができます.

  2. 背景の色と矢印の表示は,直感的な信号を形成する.

  3. 標準パラメータはシンプルで実用的なものです.

  4. コードが簡潔で理解し,修正しやすい.

  5. 選択してください.

リスク分析

  1. WaveTrendの指数は,誤った信号で不必要な損失を招く可能性があります.

  2. 傾向の強さを判断できず,反転の危険性がある.

  3. 傾向を追跡する戦略として,WaveTrend指標は,波動的な市場において,利回りに容易である.

  4. パラメータの設定を間違えた場合, 策略の効果に影響する.

  5. ストップ・ロスの設定がない場合,大きな損失を招く可能性があります.

最適化の方向

  1. WaveTrendのパラメータの組み合わせをテストし,最適なパラメータを探します.

  2. 偽信号を避けるために,他の指標を追加して信号をフィルターします.

  3. リスク管理のためのストップ・ロスの追加

  4. 余分な仕事や空っぽの仕事を 評価する

  5. 市場状況に応じて矢印の使用を選択できます.

  6. 資金管理戦略を最適化し,収益の安定性を向上させる

要約する

この戦略は,トレンドの転換を判断するためにWaveTrend指標を使用し,簡単に使用する利点がありますが,一定のリスクもあります.パラメータ最適化,ストップダスト戦略,シグナルフィルターなどの改善により,これを安定した効率的なトレンド追跡戦略にすることができます.

ストラテジーソースコード
/*backtest
start: 2023-09-12 00:00:00
end: 2023-09-19 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// (c) Noro
//2017

//@version=2

strategy(title="Noro's WaveTrend Strategy v1.0", shorttitle = "WaveTrend str 1.0", overlay = true)

//settings
onlylong = input(true, title = "Only Long?")
usearr = input(true, title = "Need new-trend-arrows?")

//WTO ("WaveTrend Oscilator") method by LazyBear
//Start of LazyBear's code
esa = ema(hlc3, 10)
d = ema(abs(hlc3 - esa), 10)
ci = (hlc3 - esa) / (0.015 * d)
tci = ema(ci, 21)
//End of LazyBear's code

WTOtrend = tci > 0 ? 1 : tci < 0 ? -1 : 0

//background
col = WTOtrend == 1 ? 1 : WTOtrend == -1 ? -1 : col[1]
bgcolor = col == 1 ? lime : col == -1 ? red : na
bgcolor(bgcolor, transp=70)

//arrows
posi = WTOtrend == 1 ? 1 : WTOtrend == -1 ? -1 : posi[1]
arr = usearr == true ? posi == 1 and posi[1] < 1 ? 1 : posi == -1 and posi[1] > -1 ? -1 : na : na
plotarrow(arr == 1 ? 1 : na, title = "UpArrow", colorup = blue, colordown = blue, maxheight = 60, minheight = 50, transp = 0)
plotarrow(arr == -1 ? -1 : na, title = "DnArrow", colorup = blue, colordown = blue, maxheight = 60, minheight = 50, transp = 0)

//trading
longCondition = posi == 1 and posi[1] < 1
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = posi == -1 and posi[1] > -1
if (shortCondition)
    strategy.entry("Short", strategy.short, onlylong == true ? 0 : na)