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

移動平均差ゼロクロス戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-26 15:45:03
タグ:

img

概要

戦略原則

  1. 8 期間の指数関数移動平均EMAと過去8日間の最低移動平均EMAを計算します.
  2. 価格と現在の移動平均EMAの差を計算します.
  3. 取引シグナルを生成するために,過去1週間における最大減少を比較するために,diffの数値値を組み合わせます.

利点分析

  1. 二重移動平均のシステムを使うと,誤った突破を効果的にフィルタリングできます.
  2. 最低価格理論を適用して底線信号を検出する
  3. 値上げを追いかけるのを避け,値下げを打つのを避け,過売りと過買いの条件を判断する数値比較

リスク分析

  1. 二重移動平均戦略は,ウィップソー効果に易しい
  2. 過剰な取引頻度の問題に注意を払う必要がある
  3. 移動平均のパラメータを合理的に設定することが重要です

オプティマイゼーションの方向性

  1. 移動平均周期パラメータを調整し,異なるサイクルに適応する
  2. 誤った突破信号をフィルタリングするために音量指標を増加
  3. ストカスティック指標を組み合わせて,過剰販売と過剰購入を避ける

概要


/*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)


もっと