資源の読み込みに... 荷物...

取引戦略をフォローする EMA ダイナミック・トレンド

作者: リン・ハーンチャオチャン,日付: 2024-05-11 11時31分46秒
タグ:エイマATR

img

#### 概要 この戦略は,指数関数移動平均 (EMA),最高価格,最低価格,平均真差 (ATR) などの技術指標を使用して,価格とEMA,最高価格,最低価格の関係を分析して現在のトレンド方向を特定する.価格は最低価格を下回るときに購入信号,価格が最高価格を下回るまたはダイナミックなレジスタンスレベルに達するときに販売信号を生成し,トレンド動きを捉え,過剰なリターンを達成することを目的としています.

###戦略の原則

  1. ATRを計算し,市場の変動を測定し,動的チャネルを構築するための基礎を提供します.
  2. トレンド方向を決定するための基礎として,最高値と最低値を計算する.
  3. ダイナミックチャネルの中央線として,最高値と最低値のEMAである EMA_HLを計算します.
  4. EMA_HIGHEST と EMA_LOWEST を計算する際には,EMA_HL から ATR の一定倍数を加算して減算して上位と下位帯を得ます.
  5. SELL_LINE を計算するには,最高価格に ATR の一定倍数を加えて動的レジスタンスレベルを作成します.
  6. EMA_LOWESTが最低値を超えて,閉値が EMA_MIDを下回ると購入信号を生成する.
  7. EMA_HIGHEST が最高価格を下回り,閉じる価格が EMA_MID を上回り,または最高価格が SELL_LINE に達すると売り信号を生成する.

###戦略の利点

  1. EMA,最高価格,最低価格,および他の指標を使用して,トレンドを包括的に判断し,信頼できる信号を生む.
  2. ATRを波動性の指標として組み込み,異なる市場条件に適応するダイナミックなチャネルを構築する.
  3. SELL_LINE を動的レジスタンスのレベルとして設定し,利益をタイミングで固定し,引き下げリスクを制御します.
  4. パラメータは調整可能で,戦略は様々な手段と時間枠に適しており,ある程度の普遍性と柔軟性があります.

###戦略リスク

  1. トレンドの識別が遅れてしまい,エントリータイミングが不適当になる可能性があります.
  2. パラメータの設定が正しくない場合,信号が頻繁に発信され,取引コストが上昇する可能性があります.
  3. この戦略は,範囲内市場ではうまく機能しない可能性があり,判断のための追加の方法が必要です.
  4. 極端な市場状況 (急速なトレンド逆転など) では,ストップ・ロスの設定が必要になるため,戦略は失敗する可能性があります.

####戦略最適化方向

  1. トレード判断の次元を豊かにし,シグナル信頼性を向上させるため,取引量や波動性などのより多くの指標を導入する.
  2. ATR 倍数や EMA 期間などのパラメータを最適化し,最適なパラメータの組み合わせを見つけ,戦略の安定性を高める.
  3. ATRに基づくポジションのダイナミックな調整などのポジション管理を組み込み,単一の取引リスクの露出を制御する.
  4. ストップ・ロストとテイク・プロフィートのレベルを設定し,最大損失と最大利益をコントロールし,リスク・リターン比率を向上させる.
  5. 他の戦略 (ブレイクアウト戦略や平均逆転戦略など) と組み合わせて,戦略ポートフォリオを形成し,全体的な安定性を向上させる.

#### 概要 この戦略は,ダイナミックなチャネルを構築するために,EMA,最高価格,最低価格などの技術指標をATRと組み合わせて利用する.傾向の動きを把握するために,最低価格を超越し,最高価格を下回ることで取引信号を生成する.これは調節可能なパラメータを持つシンプルで実践的なトレンドフォロー戦略であり,適応性と柔軟性を良好に提供している.しかし,そのパフォーマンスはレンジバウンド市場では不最適である可能性があるため,より多くの指標を導入し,パラメータを最適化し,リスク制御を追加することによってさらなる最適化と改善を必要とする.


/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Maboi_q

//@version=5
strategy("buy sell Trend", overlay=true)

atr_length = input.int(defval=14, title='atr length')
highest_length = input.int(defval=60, title='highest length')
highest_s_length = input.int(defval=60, title='sell highest length')
lowest_length = input.int(defval=30, title='lowest length')
sell_l_length = input.int(defval=55, title='sell line length')

f = 2.382
f2 = 5.618

atr = ta.atr(atr_length)
highest = ta.highest(highest_length)
lowest = ta.lowest(lowest_length)

f_atr = atr * f
ema_hl = ta.ema((highest[1] + lowest[1]) / 2, 14)
ema_highest = ema_hl + f_atr
ema_lowest = ema_hl - f_atr
ema_mid = (ema_highest + ema_lowest) / 2

bs_hi = ta.highest(highest_s_length)
f_atr2 = atr * f2
sell_line = ta.ema(bs_hi[1] + f_atr2, sell_l_length)

buy_cond = ta.crossover(ema_lowest, lowest) and close < ema_mid
sell_cond = (ta.crossunder(ema_highest, highest) and close > ema_mid) or high >= sell_line

if buy_cond
    strategy.entry('BUY', strategy.long)

if sell_cond
    strategy.entry('SELL', strategy.short)


plot(sell_line, color=color.new(color.maroon, 50))
plot(highest, color=color.new(color.red, 50))
plot(lowest, color=color.new(color.green, 50))
plot(ema_highest, color=color.new(color.blue, 50))
// plot(ema_mid, color=color.new(color.gray, 50))
plot(ema_lowest, color=color.new(color.blue, 50))

plotshape(buy_cond, title='buy', style=shape.triangleup, location=location.belowbar, 
 color=color.green, textcolor=color.green, size=size.tiny)

plotshape(sell_cond, title='sell', style=shape.triangledown, location=location.abovebar, 
 color=color.red, textcolor=color.red, size=size.tiny)

関連性

もっと