
A estratégia é uma estratégia de julgamento de tendências de cruzamento de duas linhas baseada na linha média EMA. Utiliza duas linhas médias EMA de diferentes comprimentos, determina a relação de posição da linha média EMA para determinar a tendência ascendente no período de liquidação e emite um sinal de compra no período de ruptura, julgando o cruzamento do preço com a linha média EMA. A estratégia simultaneamente define um ponto de parada para bloquear o lucro e controlar o risco.
A estratégia usa duas médias EMA de 30 e 60 períodos. A média EMA é uma média móvel suave, que dá maior peso aos preços mais recentes, para que a média EMA possa responder mais rapidamente às mudanças de preço.
Quando o EMA de curto prazo atravessa o EMA de longo prazo, um sinal de compra é gerado, indicando que o preço está em uma tendência ascendente. Quando o preço atravessa o EMA de curto prazo de baixo para cima, com o apoio da tendência de longo prazo, o preço continuará a operar para cima.
A estratégia simultaneamente estabelece um ponto de parada. O ponto de parada é definido como o ponto mais alto entre os últimos 10 K-lines, para bloquear o máximo de lucro. O ponto de parada é definido como a média do EMA de longo prazo, para controlar o risco.
As principais vantagens desta estratégia são:
Os principais riscos desta estratégia são:
Resolução:
As principais melhorias da estratégia incluem:
A estratégia em geral é uma estratégia mais típica baseada em EMA para determinar a direção da tendência e sinalizar o cruzamento de duas linhas. Ela usa a EMA para determinar a tendência maior e o cruzamento de duas linhas para melhorar a precisão do sinal.
/*backtest
start: 2023-12-23 00:00:00
end: 2024-01-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Cross Strategy", overlay=true)
// 输入设置
ema30_length = input.int(30, title="EMA 30 Length", minval=1)
ema60_length = input.int(60, title="EMA 60 Length", minval=1)
// 计算EMA
ema30 = ta.ema(close, ema30_length)
ema60 = ta.ema(close, ema60_length)
// 绘制EMA
plot(ema30, title="EMA 30", color=color.blue, linewidth=2)
plot(ema60, title="EMA 60", color=color.red, linewidth=2)
// 判断上升趋势
uptrend = close > ema30 and ema30 > ema60
// 买入条件
buy_signal = ta.crossover(close, ema30) and close[1] < ema30[1] and close[1] > ema60[1] and uptrend
// 止盈止损
take_profit_level = ta.highest(high, 10)
stop_loss_level = ema60
// 执行交易
if (buy_signal)
strategy.entry("Long", strategy.long)
strategy.exit("Exit", "Long", stop=stop_loss_level, limit=take_profit_level)