
이 전략은 단순 이동 평균 ((SMA) 과 지수 이동 평균 ((EMA) 이 두 지표에 기초하여 단선 거래를 한다. SMA를 통과할 때 구매를 하고, EMA를 통과할 때 판매를 한다. 이 전략은 1분 레벨의 고주파 거래에 적합하다.
이 전략의 핵심 지표는 20 주기의 SMA와 21 주기의 EMA이다. SMA 지표는 가격의 무작위적 변동을 효과적으로어내어, 더 긴 기간의 트렌드를 캡처한다. EMA는 SMA에 비해 최근의 가격 변화에 더 민감하며, 새로운 트렌드의 출현을 더 일찍 발견할 수 있다.
SMA 위를 통과하면 단기 평균선 위에 장기 평균선 을 통과하면 가격이 상승하기 시작하며, 금포 신호에 속하며, 이는 구매 신호이다. SMA 아래를 통과하면 장기 평균선 아래에 단기 평균선 을 통과하면 가격이 하락하기 시작하며, 사망포 신호에 속하며, 이는 판매 신호이다.
이 전략은 간단하고 직설적이며, 이해하기 쉽고, 실행하기 쉽습니다. EMA와 SMA의 골드 포크를 잡으면 거래가 가능합니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
SMA와 EMA 두 가지 널리 사용되는 간단한 지표가 사용되어 이해하기 쉽고 구현하기 쉽습니다.
SMA와 EMA 지표의 조합을 사용하여 거래 신호를 더 명확하게합니다.
단선에서의 고주파 트레이딩에 적합하며, 단기 가격 변동을 포착할 수 있다.
거래 논리는 매우 간단하고 명확하며, 파라미터 최적화를 쉽게 할 수 있다.
코드가 간결하고, 확장 및 최적화하기 쉽도록 구현한다.
이 전략에는 몇 가지 위험도 있습니다.
작용 효과는 매개 변수 선택에 의존하며, 매개 변수 선택이 잘못되면 과도한 거래 또는 거래 기회를 놓치는 상황이 발생할 수 있다.
시장이 급격히 변동할 때 거래 신호가 불명확하거나 잘못된 신호가 발생할 수 있습니다.
단기 지표는 가짜 돌파에 취약하여 불필요한 손실을 초래할 수 있습니다.
고주파 거래는 충분한 자금 지원이 필요하며, 그렇지 않으면 최대 손실을 초과할 위험이 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
SMA와 EMA의 주기 변수를 최적화하여 최적의 변수 조합을 찾는다. 횡단, 유전적 알고리즘 등의 방법으로 최적화할 수 있다.
단편적 손실을 통제하고 수익을 늘리기 위해 스톱로스 스 전략에 참여하십시오.
KDJ, RSI 등과 같은 다른 지표의 필터링 가짜 돌파구와 결합하여 불필요한 거래를 피하십시오.
적당히 포지션 컨트롤을 추가하여 최대 손실을 방지한다.
이 전략은 SMA와 EMA의 두 가지 간단한 효과적인 지표를 기반으로 하고, 조합 지표의 방법을 사용하여 비교적 명확한 거래 신호를 형성한다. 간단한 거래 논리는 구현 및 테스트를 쉽게 만든다. 동시에 이 전략에는 약간의 위험이 있으며, 실제 적용되기 전에 추가 테스트 및 최적화가 필요합니다.
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Cruce de SMA y EMA - Estrategia", overlay=true)
// Definición de variables
smaLength = 20
emaLength = 21
sma = ta.sma(close, smaLength)
ema = ta.ema(close, emaLength)
// Cruce de SMA y EMA hacia arriba (orden de compra)
buySignal = ta.crossover(ema, sma)
// Cruce de EMA y SMA hacia arriba (orden de venta)
sellSignal = ta.crossover(sma, ema)
// Configuración de la relación riesgo/recompensa
stopLoss = input(1, title="Stop Loss")
takeProfit = input(2, title="Take Profit")
// Gestión de órdenes
strategy.entry("Buy", strategy.long, when = buySignal)
strategy.entry("Sell", strategy.short, when = sellSignal)
strategy.exit("Take Profit/Stop Loss", from_entry = "Buy", stop = close * (1 - stopLoss/100), limit = close * (1 + takeProfit/100))
strategy.exit("Take Profit/Stop Loss", from_entry = "Sell", stop = close * (1 + stopLoss/100), limit = close * (1 - takeProfit/100))
// Marcado de señales en el gráfico
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Buy Signal")
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Sell Signal")