2つの移動平均を追跡する戦略

作者: リン・ハーンチャオチャン開催日:2023年12月25日17時04分29秒
タグ:

img

概要

ダブル・ムービング・平均追跡戦略は,移動平均指標に基づく定量的な取引戦略である.この戦略は,主に移動平均値の黄金十字と死亡十字を利用し,買い売り信号を生成する.短期移動平均値が下から長期移動平均値を超えると,黄金十字信号が生成される.短期移動平均値が上から長期移動平均値を超えると,死亡十字信号が生成される.この戦略には,RSI指標とADX指標も組み込まれ,トレンドの方向性と強さを決定し,トレンドが強いときに入力する.

戦略原則

この戦略は主に3つの技術指標に基づいています.

  1. スーパートレンド:価格の主なトレンド方向を判断するために使用されます. スーパートレンド指標の方向が変化すると,価格トレンドの転換点として判断され,取引信号が発行されます.

  2. RSI インディケーター (Relative Strength Index): 過買い・過売り状態を判断するために使用される振動指標.この戦略は,RSI インディケーターが短期的に価格が過買い・過売りであることを示すときに取引信号を発信する.

  3. ADX インディケーター (平均方向指標): トレンドの強さを判断するために使用される.この戦略は,トレンドの強さを判断するためにADXを組み込み,トレンドが強いときに入力することを選択する.

スーパートレンド指標の方向が変化すると,価格傾向が逆転したことを意味します.同時に,RSIインジケーターは過買い/過売り現象を示し,短期的な供給と需要関係に転換を示し,価格が逆転する可能性があります.また,ADXインジケーターはトレンド強さが大きいことを示します.これはこの戦略のエントリーする機会を提供します.特に,スーパートレンド方向が変化すると,RSIが過売りを示し,ADX>20がロング信号を発行します.スーパートレンド方向が変化し,RSIが過買いを示したとき,閉じる信号を発行します.

戦略 の 利点

  1. 二重移動平均システムを使うと,価格動向の変化を効果的に追跡し,動向から利益を得ることができます.

  2. RSIインジケーターを組み込み,過買い・過売りの判断は,価格逆転点で高値を追いかけるか低値を追いかけるのを避けます.

  3. ADX指標はトレンドの強さを判断するので,この戦略は主にトレンドが強くなるときに作用し,主要なトレンドから利益を得ます.

  4. 戦略のパラメータは最適化され,良好なパフォーマンスを示すためにテストされました.

リスク と 解決策

  1. 二重移動平均戦略自体は価格変動に非常に敏感であり,より多くの取引信号を生む可能性があります.解決策は,取引頻度を減らすために移動平均パラメータを適切に調整することです.

  2. RSI と ADX 指標はどちらも失敗する可能性があります. 解決策はパラメータを最適化し,指標計算サイクルを調整することです.

  3. この戦略には適切なストップ・ロスの戦略が必要です 解決策は合理的な動きや待機中のオーダーストップを設定することです

戦略の最適化方向

  1. 取引頻度を最適化します. 取引頻度を調整するために移動平均システムのパラメータを最適化してみてください.

  2. 追加的な補助指標を導入することもできます.例えば,取引量指標を導入し,大きな注文が来るときに入力します.

  3. マシンラーニングアルゴリズムはパラメータ最適化のために組み合わせることができます.最適なパラメータ組み合わせを予測するためにアルゴリズムを使用します.

  4. ストップ・ロスのメカニズムを導入する. 単一の損失を制御するために動きまたは待機中のオーダーのストップを設定する.

結論

この戦略は,二重移動平均追跡戦略である. 基本的なアイデアは,価格動向を判断するために移動平均指標を追跡し,RSIおよびADX指標と組み合わせてエントリータイミングを選択することです. その利点は,傾向を追跡し,過剰購入/過剰販売現象に鋭くアクセスし,主要な傾向から利益を得ることができるということです. この戦略の主なリスクは,価格変動に対する高い敏感性から生じ,過剰に頻繁な取引を生む可能性があります. パラメータ最適化とストップ損失対策を通じて,この戦略はライブ取引でより良いパフォーマンスをするために効果的に調整できます.


/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=120,
     initial_capital=1000, margin_long=0.1)

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step=0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

adxlen = input(7, title="ADX Smoothing")
dilen = input(7, title="DI Length")
dirmov(len) =>
	up = ta.change(high)
	down = -ta.change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = ta.rma(ta.tr, len)
	plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
	minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)

if ta.change(direction) < 0 and ta.rsi(close, 21) < 66 and ta.rsi(close, 3) > 80 and ta.rsi(close, 28) > 49 and sig > 20
    strategy.entry("My Long Entry Id", strategy.long)

if ta.change(direction) > 0
    strategy.close("My Long Entry Id")  // Close long position

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


もっと