
“短期・長期の三重移動平均トレンド追跡戦略”は,異なる周期の移動平均の組み合わせを使用して市場トレンドを捉え,取引を行う定量投資戦略である.この戦略は,3日間の最低価格の短期移動平均,3日間の最高価格の短期移動平均および30日間の閉店価格の中間移動平均に基づいており,閉店価格とこれらの3つの平均線の相対的な位置を比較してトレンド方向を判断し,取引シグナルを発信する.閉店価格が3日間の最低値を下回り,30日間の閉店価格よりも高い時線を多く行う.
この戦略の核心原則は,移動平均のトレンド特性と異なる周期平均の交差関係を利用して市場動向を捉えることです.短期間の3日間の最低価格と最高価格の移動平均は,価格の短期的な変動に迅速に反応し,中期間の30日間の閉店価格の移動平均は,より大きなレベルのトレンド方向を反映します.
閉盘価格が3日間の最低価格平均線を下回り,30日間の閉盘価格平均線より上にあるとき,短期的な引き戻りが起こっているが,中期的なトレンドは依然として看板であることを示す.このとき入場は多すぎる.閉盘価格が3日間の最高価格平均線を破ったとき,短期的な振動力は衰退し,このとき平仓は終了する.短期中期平均線の配合の使用により,戦略はトレンドの初期に介入し,トレンドの終了前に及ばて退出することができる.
“短期・中長期の三重移動平均線トレンド追跡戦略”は,異なる周期平均線を利用してトレンドを捕捉する量化取引戦略である.これは,3日間の最低価格平均線,3日間の最高価格平均線および30日間の平均線との位置関係を比較して,トレンドが発生する初期に介入し,終了する前に退出する.戦略の論理は簡単で理解しやすい,適応性が強いが,また,頻繁な取引,ポジション管理の欠陥などのリスクも存在します.
/*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")