- スクエア
- 移動平均差ゼロクロス戦略
移動平均差ゼロクロス戦略
作者: リン・ハーン
チャオチャン,日付: 2024-01-26 15:45:03
タグ:
概要
戦略原則
- 8 期間の指数関数移動平均EMAと過去8日間の最低移動平均EMAを計算します.
- 価格と現在の移動平均EMAの差を計算します.
- 取引シグナルを生成するために,過去1週間における最大減少を比較するために,diffの数値値を組み合わせます.
利点分析
- 二重移動平均のシステムを使うと,誤った突破を効果的にフィルタリングできます.
- 最低価格理論を適用して底線信号を検出する
- 値上げを追いかけるのを避け,値下げを打つのを避け,過売りと過買いの条件を判断する数値比較
リスク分析
- 二重移動平均戦略は,ウィップソー効果に易しい
- 過剰な取引頻度の問題に注意を払う必要がある
- 移動平均のパラメータを合理的に設定することが重要です
オプティマイゼーションの方向性
- 移動平均周期パラメータを調整し,異なるサイクルに適応する
- 誤った突破信号をフィルタリングするために音量指標を増加
- ストカスティック指標を組み合わせて,過剰販売と過剰購入を避ける
概要
/*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)
もっと