
이 전략은 다중 시간 프레임 평행선 방식을 채택하고, 장기 평균선을 사용하여 큰 트렌드 방향을 판단하고, 단기 평균선을 사용하여 단기 트렌드 방향을 판단하고, 긴 선과 짧은 선이 트렌드를 확인 할 때, 입장이 더 많은 / 빈; 짧은 선이 긴 선 근처로 회전 할 때, 단기 조정 진입 기회가 형성되는 것을 판단하고, 이 때 역행한다. 이 전략은 주로 중간 긴 선의 트렌드 스톡에 적용된다.
이 전략은 200일 간단한 이동 평균을 사용하여 장기 트렌드 방향을 판단하고, 10일 간단한 이동 평균을 사용하여 단기 트렌드 방향을 판단한다. 주가가 200일 평균보다 높고 10일 평균보다 낮으면, 현재 긴 선 상승과 짧은 선 회귀 단계에 있다는 것을 나타냅니다.
구체적으로, 다음 조건이 충족될 때, 더 많은 입장을하십시오: 종결 가격> 200 일 평균선 및 종결 가격> 10 일 평균선; 다음 조건이 충족될 때, 공백 입장을하십시오: 종결 가격<200 일 평균선 및 종결 가격> 10 일 평균선.
입문 후 중지 손실 메커니즘을 설정하고, 구매 가격에서 10% 이상 회수하면 손실을 종료한다. 또한, i_lowerClose 옵션을 설정하면, 낮은 종식 가격이 나타나면 다시 출전을 기다립니다. 이것은 너무 민감한 손실을 방지 할 수 있습니다.
이 전략은 다중 시간 프레임 평균선과 결합하여 중장기 평균선의 추세 방향을 더 큰 확률로 잡을 수 있습니다. 단기 평균선이 장기 평균선으로 회전할 때,utsch 전략은 더 나은 진입 시간을 제공합니다. 단일 평균선 시스템과 비교하여 단기 평균선 조정으로 인해 부착되는 확률을 줄일 수 있습니다.
이 전략의 위험은 제어할 수 있다. 손실을 제어하기 위해 10%의 중지 비율을 설정하고, 특정 시간 동안 거래를 피할 수 있는 시간 필터 조건을 설정한다.
이 전략은 여전히 설정의 위험이 있습니다. 짧은 라인 조정 시간이 너무 길거나 조정 폭이 너무 커지면, 중지 손실을 유발하여 설정됩니다. 이 경우 손실의 위험이 있습니다.
이 전략은 거래 품종에 적합하지 않다. 변동성이 높고 조정 시간이 긴 주식에는 이 전략이 상장 손실에 노출되어 효과가 좋지 않다.
이 전략은 시장 전체의 큰 조정 시에도 큰 손실을 입을 수 있습니다. 예를 들어 금융 위기 동안 이 전략은 수익을 내기 어려울 수 있습니다.
더 많은 평선 시스템을 도입하여 여러 가지 필터링 메커니즘을 형성할 수 있습니다. 예를 들어 50 일 평선에 가입하면 50 일 평선과 200 일 평선 사이의 종료 가격이 있을 때만 입시를 고려합니다. 이것은 추세에 대한 더 나은 품종을 추가적으로 필터링 할 수 있습니다.
부동소수 스톱을 설정할 수 있다. 구체적으로, 입시 후, 주식의 변동 범위에 따라 변동적인 스톱을 설정할 수 있다. 고정된 10% 스톱이 아니라. 이것은 불필요한 스톱이 유발되는 가능성을 줄일 수 있다.
다른 지표와 결합하여 시장 상태를 판단할 수 있다. 예를 들어 MACD, MACD가 시장이 이탈하는 것을 표시할 때, 이 전략을 일시 중지할 수 있다. 손실을 방지할 수 있다. 이것은 큰 시장의 판단에 따라 전략의 시작과 종료를 제어할 수 있다.
이 전략은 전체적으로 전형적인 다중 시간 프레임 평평선 전략이다. 이 전략은 긴 단기 평균선과 결합하여, 중장선 추세를 포착하는 동시에, 짧은 선 회귀 기회를 잡는 것이다. 이 전략의 위험도 통제 가능한 범위 내에 있다. 더 많은 지표, 최적화된 스톱로드 방식 등을 도입함으로써 이 전략의 안정성을 더욱 강화할 수 있다.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © irfanp056
// @version=5
strategy("Simple Pullback Strategy",
overlay=true) // Interactive Brokers rate
// Get user input
i_ma1 = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2 = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")
// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)
// Check filter(s)
f_dateFilter = true
// Check buy/sell conditions
var float buyPrice = 0
buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent
// Enter positions
if buyCondition
strategy.entry(id="Long", direction=strategy.long)
if buyCondition[1]
buyPrice := open
// Exit positions
if sellCondition or stopCondition
strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
buyPrice := na
// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)