移動平均差ゼロクロスオーバー戦略


作成日: 2024-01-26 15:45:03 最終変更日: 2024-01-26 15:45:03
コピー: 0 クリック数: 556
1
フォロー
1617
フォロワー

移動平均差ゼロクロスオーバー戦略

概要

この戦略は,移動平均差値法を使用して,株価と平均線からの偏差を判断し,ゼロ軸交差システムと組み合わせて取引信号を発信する.基本的考え方は,価格が上から平均線に近づくと下落し,価格が下から平均線に近づくと看板である.

戦略原則

  1. 8日指数移動平均のEMAと過去8日間の最低移動平均のlowestEMAを計算する
  2. 価格と現在の移動平均のdiffを計算する
  3. 0より小さいdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で,上向きdiffは下向きの信号で.
  4. この1週間で最大値を下げた数値とdiffの大きさを比較して,取引のシグナルを出します.

優位分析

  1. 偽突破を効率的にフィルタリングする双対線システム
  2. 最小価格理論を用いて底辺のシグナルを発見
  3. 値の比較で超値の判断,超値の追及を避ける

リスク分析

  1. 双方向戦略は,ウィップソー効果を生じさせる可能性が高い.
  2. 取引頻度の高さに注目する
  3. 移動平均のパラメータを合理的に設定することが重要です.

最適化の方向

  1. 移動平均の周期パラメータを異なる周期に対応するように調整する
  2. 偽突破信号をフィルタリングする取引量指数を増やす
  3. ストキャスティック指数と併用して,超落下や超買いを避ける

要約する

本策は均線差値法とゼロ軸交差判断システムを統合し,買賣点検出の精度を向上させる目的である。しかし,パラメータ設定をさらに最適化し,他の指標のフィルター信号と連携させる必要がある。全体的に,この策は,単純な指標の判断を活用した効果はまだある.基本策の1つとして実盤に適用できる。

ストラテジーソースコード
/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Estratégia diferença menor preço de 8")

// Configuração da Média Móvel
emaPeriod = 8

ema= ema(close, emaPeriod)
ema1= ema(close[1], emaPeriod)
lowestEMA = lowest(ema, 8)

// Calcula a diferença entre o preço e a média móvel
diff = close - ema
diff1 = close[1] - ema1
diffLow = ema - lowestEMA

//Condições
diffZero = diff < 0
diffUnder = diff < diffLow
diffUm = diff > 0
Low0 = diffLow == 0




// Sinais de entrada
buy_signal = diffUnder and crossover(diff, diff1) 
sell_signal = diffUm and diffUnder and crossunder(diff, diff1)

// Executa as operações de compra/venda
if buy_signal
    strategy.entry("Buy", strategy.long)
if sell_signal
    strategy.exit("Buy")

// Plota as linhas
plot(0, title="Linha Zero", color=color.gray)
plot(diff, title="Diferença", color=color.blue, linewidth=2)

plot(diffLow, title="Diferença", color=color.red, linewidth=2)