이 문서에서는 비율의 임계치를 기반으로 한 양적 거래 전략을 소개합니다. 이 전략은 비율의 임계치를 설정하고 적절한 기간을 선택함으로써 구매 및 판매의 시기를 결정합니다. 가격이 이전 폐쇄 가격에 비해 지정된 비율 임계치를 상하 또는 하락하면 구매 또는 판매 신호를 유발합니다. 이 전략은 사용자의 위험 선호도 및 시장 조건에 따라 유연하게 조정 될 수 있으며 다양한 금융 도구 거래에 적합합니다.
이 전략의 핵심은 가격의 비율 변화를 기반으로 거래 신호를 생성하는 것입니다. 첫째, 사용자는 이전 폐쇄 가격에 대한 가격 변화의 크기를 나타내는 비율 임계치를 설정해야합니다. 동시에 사용자는 또한 1 분, 1 시간, 1 일 등과 같은 기간을 선택하여 그 시간 프레임 내에서 높은 가격, 낮은 가격 및 폐쇄 가격을 계산해야합니다. 전략은 실시간으로 시장 가격을 모니터링합니다. 현재 기간의 가장 높은 가격이 이전 폐쇄 가격과 임계치를 초과하면 구매 신호를 유발합니다. 현재 기간의 가장 낮은 가격이 이전 폐쇄 가격 빼기 임계값 아래로 떨어지면 판매 신호를 유발합니다. 장기 포지션을 보유하는 동안 판매 신호가 유발되면 장기 포지션은 종료됩니다; 짧은 포지션을 보유하는 동안 구매 신호가 종료되면 잠재적인 가격 변동이 발생합니다. 이러한 방법으로 전략은 거래가 큰 수익을 얻을 수 있습니다.
이 문서에서는 가격 변화와 시간 기간에 대한 비율의 임계치를 설정하여 자동으로 구매 및 판매 신호를 생성하는 비율의 임계치를 기반으로 한 양적 거래 전략을 소개합니다. 전략은 작동하기 쉽고 매우 유연하며 광범위하게 적용되지만 시장 변동성, 매개 변수 설정 및 과도한 적합성과 같은 위험에 직면합니다. 스톱 로스 및 영리 메커니즘을 통합하여 매개 변수를 동적으로 조정하고 다른 기술 지표와 결합하여 전략의 성능을 더 이상 최적화하여 실제 거래에서 효과를 높일 수 있습니다.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("GBS Percentage", overlay=true) // Define input options for percentage settings and timeframe percentage = input.float(1.04, title="Percentage Threshold", minval=0.01, step=0.01) / 100 timeframe = input.timeframe("D", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"]) // Calculate high, low, and close of the selected timeframe high_timeframe = request.security(syminfo.tickerid, timeframe, high) low_timeframe = request.security(syminfo.tickerid, timeframe, low) close_timeframe = request.security(syminfo.tickerid, timeframe, close) // Calculate the percentage threshold based on the previous close threshold = close_timeframe[1] * percentage // Define conditions for Buy and Sell buyCondition = high_timeframe > (close_timeframe[1] + threshold) sellCondition = low_timeframe < (close_timeframe[1] - threshold) // Entry and exit rules if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Close the positions based on the conditions if (sellCondition) strategy.close("Buy") if (buyCondition) strategy.close("Sell") // Plot Buy and Sell signals on the chart plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar) // Plot the equity curve of the strategy plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)