
이 전략은 통로 평균선을 계산하여 가격이 통로 평균선을 돌파할 때 다단 또는 공단 포지션을 설정하고, 주식 가격 추세를 추적하는 전략에 속한다.
이 전략은 먼저 20일 고점의 평균값을 통로 상향 궤도로, 20일 저점의 평균값을 통로 하향 궤도로 계산하고, 통로 중선을 계산한다. 통로 중선은 최근의 가격 평균 경향을 나타낸다. 가격이 위쪽에서 통로 중선을 통과하면 다단위 포지션을 설정하고, 가격이 아래쪽에서 통로 중선을 통과하면 공백 포지션을 설정한다. 가격 추세를 추적하여 가격이 통로 간 반향으로 다시 내려가기 전까지 평점 포지션을 설정한다.
이 전략은 전반적으로 단순하고 직접적이며, 기본 가격 통로를 통해 주식 가격 동향을 판단하며, 트렌드 추적 유형 전략에 속한다. 장점은 조작이 쉽고, 가격 동향으로 인한 투자 기회를 최대한 활용하고, 자금이 잠금되는 것을 피한다. 단점은 파라미터 설정을 잘못하면 효과에 영향을 미칠 수 있으며, 일정 조정 테스트의 위험이 있다. 합리적인 최적화를 통해 전략의 안정성을 높이고 실적 실적을 향상시킬 수 있다.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2)
//stock strategy
strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=20)
testStartYear = input(2000, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testEndYear = input(2019, "Backtest Start Year")
testEndMonth = input(3)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testPeriod() =>
true
//time >= testPeriodStart ? true : false
dcPeriod = 20
dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2
plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)
plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")
strategy.entry("simpleBuy", strategy.long, when=close > dcAverage)
strategy.close("simpleBuy",when=close < dcLower)
strategy.entry("simpleSell", strategy.short,when=close < dcAverage)
strategy.close("simpleSell",when=close > dcAverage)