거래 전략에 따른 EMA의 크로스오버 트렌드

저자:차오장, 날짜: 2024-02-19 10:39:22
태그:

img

전반적인 설명

이 전략은 트렌드를 결정하기 위해 빠르고 느린 EMA 라인의 황금 십자가와 죽음의 십자가를 사용하여 거래 후 트렌드를 구현하기 위해 수익 비율을 취득 규칙으로 설정합니다. 그것은 모든 시간 프레임에 적용되며 지수 및 주식 모두에서 트렌드를 포착 할 수 있습니다.

전략 논리

이 전략은 3 및 30 기간 EMA를 거래 신호로 사용합니다. 3EMA가 30EMA를 넘을 때, 그것은 구매 조건에 따라 가격이 상승하기 시작한다는 신호입니다. 3EMA가 30EMA를 넘을 때, 그것은 판매 조건에 따라 가격이 떨어지기 시작한다는 신호입니다.

또한 이윤 목표가 전략에 구성되어 있습니다. 가격이 수익률에 곱한 입시 가격으로 상승하면 더 많은 이윤을 확보하고 거래 후 트렌드를 달성하기 위해 포지션이 폐쇄됩니다.

이점 분석

  1. 트렌드를 결정하기 위해 EMA를 사용하는 것은 간단하고 이해하기 쉽습니다.
  2. 트렌드 지표와 영업률을 결합하면 위험을 효과적으로 통제하고 수익을 확보할 수 있습니다.
  3. 모든 기간에 적용되고 거래 가능하며 큰 유연성

위험 분석

  1. EMA 자체는 가격 변화에 지연적인 영향을 미치며 잘못된 판단을 일으킬 수 있습니다.
  2. 너무 큰 수익 목표가 적시에 수익을 얻지 못하도록 만들 수 있고, 회수 기회를 놓칠 수 있습니다.
  3. 너무 일찍 추적을 중단하면 트렌드 움직임의 일부가 빠질 수 있습니다.

최적화 방향

  1. 최적의 매개 변수를 찾기 위해 다양한 EMA 조합을 테스트 할 수 있습니다.
  2. 다른 지표는 EMA 신호를 확인하고 정확성을 향상시키기 위해 결합 될 수 있습니다.
  3. 이윤 비율은 동적으로 조정될 수 있고, 황금시장에서는 느려지고, 하락시장에서는 강화될 수 있습니다.

결론

결론적으로, 이것은 매우 실용적인 트렌드 다음 전략이다. 트렌드 방향을 결정하기 위해 간단한 EMA 지표를 채택하고 장기간에 걸쳐 주식 및 지표 중장기 트렌드를 추적하는 데 적합한 위험을 효과적으로 제어하기 위해 합리적인 수익을 취하는 규칙을 설정합니다. 매개 변수 최적화 및 보충 신호 확인 지표를 통해 안정성과 수익 요인에 대한 추가 개선이 가능합니다.


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with Target", shorttitle="EMACross", overlay=true)

// Define input parameters
fastLength = input(3, title="Fast EMA Length")
slowLength = input(30, title="Slow EMA Length")
profitPercentage = input(100.0, title="Profit Percentage")

// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)

// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")

// Buy condition: 3EMA crosses above 30EMA
buyCondition = ta.crossover(fastEMA, slowEMA)

// Sell condition: 3EMA crosses below 30EMA or profit target is reached
sellCondition = ta.crossunder(fastEMA, slowEMA) or close >= (strategy.position_avg_price * (1 + profitPercentage / 100))

// Target condition: 50 points profit
//targetCondition = close >= (strategy.position_avg_price + 50)

// Execute orders
// strategy.entry("Buy", strategy.long, when=buyCondition)
// strategy.close("Buy", when=sellCondition )
if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.close("Buy")

// // Execute sell orders
// strategy.entry("Sell", strategy.short, when=sellCondition)
// strategy.close("Sell", when=buyCondition)

// Plot buy and sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)


더 많은