
이 전략은 XAUUSD의 30일 간소 이동 평균 (MA30) 과 200일 간소 이동 평균 (MA200) 의 교차 상황을 계산하여 금색 포크를 구매하고 사형 포크를 판매하는 양적 거래를 구현합니다. 이 전략은 동시에 중지 손실과 중지 가격을 설정하여 자동으로 청산 할 수 있습니다.
이 전략의 핵심 지표는 MA30과 MA200이다. MA30에서 MA200을 통과하면 구매 신호가 발생하고, MA30 아래에서 MA200을 통과하면 판매 신호가 발생한다. 이 교차는 황금 포크와 황금 사다리 포크라고 불린다.
구체적으로, 이 전략은 ta库를 사용하여 MA30과 MA200을 계산한다. 그리고 ta.crossover와 ta.crossunder 함수를 통해 그들의 교차 상황을 판단한다. 상향 교차 (金叉) 가 발생하면 longCondition 값을 true로 설정하여 구매 작업을 수행한다.
거래 실행에 있어, 구매 및 판매 주문은 각각 4만 점의 중지 및 중지 가격을 설정했다. 이것은 XAUUSD에서 4000 점의 가격 변화에 해당한다. 가격이 중지 또는 중지 시, 주문은 자동으로 청산된다.
또한, 전략은 보호 장치도 설정한다. 현재 다수 상위 포지션을 보유하고 있다면, 그 다음에는 사다리 신호가 발생하면, 직접 평위 포지션 전환을 할 것이다. 현재 공백 포지션을 보유하고 있다면, 그 다음에는 금 포크 신호가 발생하면, 또한 직접 평위 포지션 전환을 할 것이다. 이것은 추세 역전 시 큰 손실을 입는 것을 피할 수 있다.
이것은 매우 간단하고 직관적인 트렌드 추적 전략입니다. 다음과 같은 장점이 있습니다:
이 전략에는 몇 가지 위험도 있습니다.
이러한 위험을 제어하기 위해, 매개 변수를 최적화하고, 스톱 손실을 조정하고, 반전 신호를 필터링할 수 있다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
매개 변수 조정, 필터, 포지션 관리 등의 수단으로 전략 안정성을 더욱 높일 수 있다.
이 전략은 간단하고 실용적인 이동 평균 교차 전략이다. 그것은 시장의 주기에 따라 작동하며, 자동으로 중지 손실을 저지하고 경화 포지션과 보호 장치를 설정하여 위험을 통제한다. 이 전략은 이해하기 쉽고 구현할 수 있으며, 여러 가지 거래 품종과 시간 기간에 적용된다. 추가 최적화를 통해 더 나은 위험 수익률을 얻을 수 있으며, 권장되는 양적 거래 전략이다.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia de Cruce de Medias Móviles", overlay=true)
// Medias móviles
ma30 = ta.sma(close, 30)
ma60 = ta.sma(close, 60)
ma200 = ta.sma(close, 200)
// Cruce de medias móviles
crossoverUp = ta.crossover(ma30, ma200)
crossoverDown = ta.crossunder(ma30, ma200)
// Señales de compra y venta
longCondition = crossoverUp
shortCondition = crossoverDown
// Ejecución de órdenes
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Cover", "Buy", stop=close - 40.000, limit=close + 40.000)
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", stop=close + 40.000, limit=close - 40.000)
// Plot de las medias móviles
plot(ma30, color=color.blue, title="MA 30")
plot(ma60, color=color.orange, title="MA 60")
plot(ma200, color=color.green, title="MA 200")
// Condiciones para cerrar la posición contraria
if (strategy.position_size > 0)
if (crossoverDown)
strategy.close("Buy")
if (strategy.position_size < 0)
if (crossoverUp)
strategy.close("Sell")