
이 전략은 통로 지표와 돌파구 원칙에 기반한 효율적인 쌍방향 거래 전략이다. 그것은 주식과 디지털 화폐의 1 분 시간 프레임에 높은 승률의 쌍방향 거래를 구현할 수 있다.
전략은 SMA 지표를 사용하여 채널을 구축한다. 가격이 채널을 뚫을 때 구매하거나 판매한다. 동시에 수익을 잠금하고 위험을 제어하기 위해 스톱 및 스톱을 설정한다.
구체적으로, 전략 계산 채널의 상반기 및 하반기 △ 상반기는 종결 가격의 10주기 간단한 이동 평균을 곱한 1.02; 하반기는 최저 가격의 10주기 간단한 이동 평균을 다시 나누는 1.02 △ 종결 가격이 상반기를 돌파할 때 더하고, 종결 가격이 하반기를 돌파할 때 공백한다.
더 많이 하면 두 개의 스톱 가격 위치를 설정합니다. 첫 번째는 1%, 두 번째는 3%, 동시에 3%의 스톱 손실을 설정합니다. 포디는 손실을 설정하는 것과 동일합니다. 이 전략은 돌파구 원칙을 통해 더 높은 진입 승률을 달성 할 수 있으며, 더 많은 이익을 잠금 할 수 있습니다.
통로 지표에 기반한 이 돌파 전략은 입력 신호의 명확성, 동작의 높은 빈도, 다단계 수익을 잠금할 수 있는 등의 장점이 있다. 구체적인 장점은 다음과 같다:
통로 지표를 사용하여 주가 변동 범위를 식별하고, 돌파구 입장을 선택하여 더 높은 승률을 얻을 수 있습니다.
1분 수준으로 조작하면 더 많은 기회를 잡을 수 있고, 속도 거래자의 요구를 충족시킬 수 있다.
두 개의 스톱포인트를 설정하면 시장 상황이 좋아지면 더 많은 수익을 잠금 할 수 있습니다. 일반적인 단일 스톱포인트보다 더 높은 수익을 얻습니다.
손해 중지 설정이 크다, 동작을 일정하게 운영할 수 있는 공간을 주어, 조기 중단을 방지한다.
이러한 돌파 전략의 가장 큰 위험은 가짜 돌파구가 손실로 이어질 수 있다는 것입니다. 또한, 큰 정지 손실은 손실의 위험을 증가시킵니다. 주요 위험점은 다음과 같습니다:
브레이크 신호는 가짜 브레이크가 될 수 있으며, 정지 또는 정지까지 계속 작동할 수 없다. 이것은 기술 분석에서 흔히 발생하는 문제이다. 최적화 매개 변수를 사용하여 가능한 한 피할 수 있다.
3%의 단독 손실은 일부 사람들에게는 견딜 수 없을 수도 있다. 자신의 상황에 따라 적절히 조정할 수 있다.
이 전략은 짧은 라인 거래와 마이너스 운영에 더 적합하다. 시장을 제때 감시할 수 없다면, 포지션 크기를 줄이는 것이 좋습니다.
이러한 트렌드 기반의 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
더 많은 지표들을 테스트하여 통로를 구축하고, 더 신뢰할 수 있는 통로 지표들을 찾아서 가짜 돌파구를 줄여라.
이동 평균 주기 변수를 최적화하여 최적의 변수 조합을 찾는다.
더 복잡한 입수 메커니즘을 테스트합니다. 예를 들어, 증가량 에너지 지표와 같은 필터링 조건을 테스트합니다.
다양한 품종의 특성에 따라 다른 파라미터 조합을 설정하여 적응할 수 있으며, 파라미터 자조를 실현한다.
자동 스톱 로즈 보너스 메커니즘을 추가하여, 상황에 따라 동적으로 스톱 로즈를 조정할 수 있다.
이것은 통로 지표에 기반한 고효율의 양방향 거래 전략이다. 그것은 돌파 원칙을 이용하여 시장에 진입하고, 이윤을 잠금하는 이중 스톱, 손실을 제어하는 위험, 최적화하여 더 나은 투자 효과를 얻을 수 있다. 그러나 거래자는 여전히 가짜 돌파구와 같은 기술 분석 위험을 경계해야 한다.
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Erweiterte SSL Channel Strategy mit 2 TPs, SL und BE", overlay=true)
period = input(title="Period", defval=10)
len = input(title="Length", defval=10)
multiplier = input(title="Multiplier", defval=1.0, minval=1.0)
tp1Percent = input(title="Take Profit 1 (%)", defval=1.0) / 100
tp2Percent = input(title="Take Profit 2 (%)", defval=20.0) / 100
slPercent = input(title="Stop Loss (%)", defval=3.0) / 100
var float tp1Price = na
var float tp2Price = na
var float slPrice = na
var bool tp1Reached = false
smaHigh = sma(high * multiplier, len)
smaLow = sma(low / multiplier, len)
Hlv = 0
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : nz(Hlv[1])
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh
plot(sslDown, linewidth=2, color=color.red)
plot(sslUp, linewidth=2, color=color.lime)
longCondition = crossover(close, sslUp)
shortCondition = crossunder(close, sslDown)
if (longCondition)
strategy.entry("Long", strategy.long)
tp1Price := strategy.position_avg_price * (1 + tp1Percent)
tp2Price := strategy.position_avg_price * (1 + tp2Percent)
slPrice := strategy.position_avg_price * (1 - slPercent)
tp1Reached := false
if (shortCondition)
strategy.entry("Short", strategy.short)
tp1Price := strategy.position_avg_price * (1 - tp1Percent)
tp2Price := strategy.position_avg_price * (1 - tp2Percent)
slPrice := strategy.position_avg_price * (1 + slPercent)
tp1Reached := false
// Take Profit, Break-even und Stop-Loss Logik
if (strategy.position_size > 0) // Long-Positionen
if (not tp1Reached and close >= tp1Price)
strategy.close("Long", qty_percent = 50)
strategy.exit("BE Long", "Long", stop = strategy.position_avg_price)
tp1Reached := true
if (tp1Reached and close < tp1Price)
strategy.exit("BE Long", "Long", stop = strategy.position_avg_price)
if (close >= tp2Price)
strategy.close("Long", qty_percent = 100)
if (not tp1Reached)
strategy.exit("SL Long", "Long", stop = slPrice)
if (strategy.position_size < 0) // Short-Positionen
if (not tp1Reached and close <= tp1Price)
strategy.close("Short", qty_percent = 50)
strategy.exit("BE Short", "Short", stop = strategy.position_avg_price)
tp1Reached := true
if (tp1Reached and close > tp1Price)
strategy.exit("BE Short", "Short", stop = strategy.position_avg_price)
if (close <= tp2Price)
strategy.close("Short", qty_percent = 100)
if (not tp1Reached)
strategy.exit("SL Short", "Short", stop = slPrice)