골든 크로스 전략은 장기 투자자가 입시 시기를 결정하는 데 도움이되는 간단한 시장 지표입니다. 이 전략은 단기 및 장기 이동 평균의 교차를 기반으로 거래 신호를 생성합니다. 단기 이동 평균이 장기 이동 평균을 넘어서 골든 크로스를 형성하면 시장이 황금 추세로 진입하고 긴 포지션을 열 수 있음을 신호합니다. 단기 이동 평균이 장기 이동 평균을 넘어서 죽음의 십자가를 형성하면 시장이 하향 추세로 진입하고 기존 포지션을 닫아야한다는 신호입니다.
이 전략은 단기 및 장기 간 간단한 이동 평균을 계산하기 위해 sma 함수를 사용합니다. 단기 MA 길이는 50 일, 장기 MA 길이는 200 일로 설정됩니다. 전략은 교차 함수와 교차 하 함수를 사용하여 단기 MA가 장기 MA를 넘거나 넘을지 결정합니다. 이는 무역 신호를 생성합니다.
단기 MA가 장기 MA를 넘을 때, 트렌드가 하향에서 상향으로 변화하고 있음을 신호하여 긴 진입 신호인 골든 크로스를 형성합니다. 전략은 strategy.entry를 사용하여 긴 포지션을 열 것입니다. 단기 MA가 장기 MA를 넘을 때, 트렌드가 하향에서 상향으로 변화하고 있음을 신호하여 죽음의 크로스를 형성합니다. 전략은 strategy.close_all을 사용하여 모든 포지션을 닫습니다.
골든/데스 크로스 (Golden/Death Crosses) 에 의해 표시된 트렌드 역전 지점을 캡처하여 진입 및 출입 시기를 결정함으로써 전략은 시장 소음을 효과적으로 필터링 할 수 있으며 간단하고 실용적인 트렌드 다음 전략입니다.
스톱 로스를 추가하고, 잘못된 신호를 줄이기 위해 MA 매개 변수를 최적화하고, 신호를 확인하기 위해 다른 지표와 결합하고, 블랙 스완 이벤트를 처리하는 메커니즘을 개발함으로써 위험을 관리할 수 있습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
다양한 시장 특성에 더 잘 맞추기 위해 단기 및 장기적인 MA 길이를 조정함으로써 MA 매개 변수를 최적화합니다.
부피가 증가할 때만 부피 조건을 추가해서 신호를 트리거합니다.
MACD, RSI와 같은 다른 지표를 포함하여 크로스오버 신호를 확인하고 잘못된 신호를 피합니다.
스톱 로스 전략을 추가합니다. 스톱 로스 후속, 스톱 로스 비율을 추가하여 단일 손실을 제어합니다.
포지션 크기를 조절하기 위한 고정 분수, 기하급수 크기를 조절하기 위한 전략도 추가합니다.
가짜 십자가를 필터하기 위해 교차 후 몇 시간 동안 관찰함으로써 입구를 최적화하십시오.
위의 최적화를 통해 전략 매개 변수는 시장의 통계적 특성을 더 잘 맞추고, 잘못된 신호를 필터하고, 위험을 제어하고, 단순성을 유지하면서 전략의 안정성과 수익성을 더욱 향상시킬 수 있습니다.
골든 크로스 전략은 단순하면서도 실용적인 트렌드 다음 전략이다. 이동 평균 크로스를 통해 시장 트렌드를 직관적으로 파악하고 장기 투자자에게 진입 및 출구 지점을 효과적으로 식별 할 수 있습니다. 구현이 쉽고 초보자 학습에 적합하며 다양한 최적화에 적응 할 수 있으므로 전략은 유연하고 신뢰할 수있는 거래 시스템이 될 수 있습니다. 전반적으로 단순성과 실용성을 결합하여 골든 크로스 전략은 양적 거래 도구 키트에 귀중한 추가입니다.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Dumb strategy 2 - Golden Cross", shorttitle="Golden Cross", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) lShort = input(50, title="short length") lLong = input(200, title="long length") src = input(close, title="Source") smaShort = sma(src, lShort) smaLong = sma(src, lLong) plot(smaShort, title="SMA Short", style=line, linewidth=3, color=lime) plot(smaLong, title="SMA Long", style=line, linewidth=3, color=red) // //Backtest Time Inputs // testStartYear = input(2009, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(1, "Backtest Stop Month") testStopDay = input(01, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? blue : na bgcolor(testPeriodBackgroundColor, transp=80) testPeriod() => true if testPeriod() longCondition = crossover(smaShort, smaLong) if (longCondition) strategy.entry("Long Entry", strategy.long) shortCondition = crossunder(smaShort, smaLong) if (shortCondition) strategy.close_all(true)