
이 전략은 이동 평균과 거래량이라는 두 가지 핵심 기술 지표를 결합하여, 장점과 단점의 입점과 퇴출 규칙을 설계하여 완전한 양적 거래 전략을 형성한다.
장점 입점 조건:
단기 입점 조건:
빠르게 움직이는 평균 아래로 천천히 움직이는 평균을 가로질러
“이봐, 이봐, 이봐.장점 입시 조건을 충족할 때 더 많이 한다.
단기 입점:단위 입점 조건을 만족할 때 공백
정지 및 손실: 더 많은 일을 한 후의 중지 위치와 중지 위치를 표시합니다
개선 방법:
이 전략은 이동 평균 지표와 거래량 지표를 통합하여 쌍 확인 메커니즘을 통해 완전한 양적 거래 전략을 설계했습니다. 입시 조건이 명확하고, 스톱 로즈가 있고, 간단하게 작동 할 수 있는 장점이 있습니다. 또한 쌍 평행 전략의 빈번한 거래 문제를 방지하고, 거래량 데이터 품질에 관심을 기울이고, 파라미터의 과도한 최적화를 방지합니다.
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA and Volume Strategy", overlay=true)
// Input parameters
fastLength = input(9, title="Fast MA Length")
slowLength = input(21, title="Slow MA Length")
volumePercentageThreshold = input(50, title="Volume Percentage Threshold")
// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// Calculate 24-hour volume and weekly volume average
dailyVolume = request.security(syminfo.tickerid, "D", volume)
weeklyVolumeAvg = ta.sma(request.security(syminfo.tickerid, "W", volume), 7)
// Strategy conditions
longCondition = ta.crossover(fastMA, slowMA) and dailyVolume < (weeklyVolumeAvg * volumePercentageThreshold / 100)
shortCondition = ta.crossunder(fastMA, slowMA)
// Set take profit and stop loss levels
takeProfitLong = close * 1.50
stopLossLong = close * 0.90
// Strategy orders
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
// Plot moving averages
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
// Plot 24-hour volume and weekly volume average
plot(dailyVolume, color=color.purple, title="24-Hour Volume", transp=0)
plot(weeklyVolumeAvg, color=color.orange, title="Weekly Volume Average")
// Plot entry signals
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)
// Plot take profit and stop loss levels only when a valid trade is active
plotshape(series=longCondition, title="Take Profit Long", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=longCondition, title="Stop Loss Long", color=color.red, style=shape.triangledown, size=size.small)