この戦略の基本原理は,動向平均の傾向特性と異なる期間の動向平均間の交差関係を活用して市場動向を把握することです.短期低値と高値の動向平均は短期価格変動に迅速に対応することができ,中期30日閉値の動向平均はより高い水準でトレンド方向を反映します.
閉じる価格が3日間の低価格移動平均を下回り,30日間の閉じる価格移動平均を超えると,短期的な引き下げを示しますが,中期的な上昇傾向を示し,長いエントリーを示します.閉じる価格が3日間の高価格移動平均を下回ると,短期的な上昇勢力が枯渇し,ポジション退出を促します.短期的および中期的な移動平均を組み合わせることで,戦略はトレンドの初期段階に入り,トレンド終了前に退出することができます.
/*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"}] */ //@version=5 strategy(title="Estratégia de Médias Móveis - Entrada/Saída Simples", shorttitle="MM3", overlay=true) // Parâmetros de entrada para a data de início e final do backtest var start_date_input = input(title="Data de Início", defval=timestamp("01 Jan 2020 00:00 +0000")) var end_date_input = input(title="Data Final", defval=timestamp("01 Jan 2021 00:00 +0000")) // Convertendo as datas de entrada para formato de tempo start_date = timestamp(year(start_date_input), month(start_date_input), dayofmonth(start_date_input), 0, 0) end_date = timestamp(year(end_date_input), month(end_date_input), dayofmonth(end_date_input), 23, 59) // Definindo as Médias Móveis min_ma_3 = ta.sma(low, 3) max_ma_3 = ta.sma(high, 3) close_ma_30 = ta.sma(close, 30) // Condição de Entrada: Fechamento abaixo da Média de 3 Mínimas e acima da Média de 30 Fechamentos entry_condition = close < min_ma_3 and close > close_ma_30 // Condição de Saída: Fechamento acima da Média de 3 Máximas exit_condition = close > max_ma_3 // Sinal de Compra: Entrada na próxima vela após a condição de entrada ser verdadeira if (entry_condition ) strategy.entry("Buy", strategy.long) // Sinal de Venda: Saída na próxima vela após a condição de saída ser verdadeira if (exit_condition) strategy.close("Buy") // Plotando as Médias Móveis e os Sinais de Entrada/Saída plot(min_ma_3, color=color.red, linewidth=2, title="Média de 3 Mínimas") plot(max_ma_3, color=color.blue, linewidth=2, title="Média de 3 Máximas") plot(close_ma_30, color=color.orange, linewidth=2, title="Média de 30 Fechamentos")