초단기 모멘텀 돌파 트레이딩 전략


생성 날짜: 2023-10-25 17:40:37 마지막으로 수정됨: 2023-10-25 17:40:37
복사: 0 클릭수: 712
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

초단기 모멘텀 돌파 트레이딩 전략

개요

이 전략은 SSL 통로 지표에 기반하여, 브레이크 신호와 결합하여 초단기 동력 거래를 한다. 가격이 SSL 상도를 뚫었을 때, 더 많이 하고, 가격이 SSL 하도를 뚫었을 때, 공백을 한다. 동시에 이동 스톱과 추적 스톱을 설정하여 위험을 통제한다.

전략 원칙

  1. SSL 통로의 상단 트랙과 하단 트랙으로 N 길이의 높은 가격 SMA와 낮은 가격 SMA를 계산합니다.

  2. 마감값이 상반기보다 크면 구매 신호를 설정; 마감값이 하반기보다 작으면 판매 신호를 설정

  3. 입력 후 SSL 통로의 다른 끝에 고정된 스톱로스를 설정하여 위험을 제어합니다.

  4. 진입 후 트래킹 스톱로스를 설정하여 가격 변동에 따라 수익을 고정합니다.

  5. 가격이 트래킹 스톱 또는 고정 스톱 지점을 뚫을 때, 평형 포지션은 종료됩니다.

우위 분석

  1. 통로 지표에 따라 길고 짧은 방향을 판단하여 가짜 돌파구를 피하십시오.

  2. 두 가지의 스톱을 결합하여 수익을 고정하고 위험을 통제합니다.

  3. 트레이딩 주파수 높고, 초단계 운영에 적합하다

  4. 자신의 거래 스타일에 맞게 조정할 수 있는 유연한 변수 설정

  5. 자동으로 공백을 인식하고 방향을 판단할 필요가 없습니다.

위험 분석

  1. 단선 운영은 갑작스러운 사건에 취약하며, 높은 변동성을 경계해야 합니다.

  2. SSL 해킹 후 고정 정지 손실이 발생하여 너무 큰 정지 손실이 발생할 수 있습니다.

  3. 추적 중지 설정이 잘못되면 조기 종료될 수 있습니다.

  4. 통로 침입은 가짜 신호를 생성할 수 있으며, 다른 지표의 필터링이 필요합니다.

  5. 경험있는 단선 거래자에만 적합하며, 장기 투자자에게는 적합하지 않습니다.

해결책:

  1. 고정 손실 비율을 합리적으로 설정하여 단 단 한번의 손실을 제어합니다.

  2. 상쇄 설정의 합리적인 폭을 추적하여 조기 출구를 피하십시오.

  3. 융합 에너지 지표와 같은 필터로 진정한 트렌드 돌파구를 식별할 수 있습니다.

  4. 자금 관리를 잘하고, 매장을 세분화하고, 위험을 통제합니다.

최적화 방향

  1. 최적의 길이로 조정하기 위한 SMA 사이클 변수를 최적화합니다.

  2. BB, KD 등과 같은 다른 통로 지표를 시도하십시오.

  3. 신뢰성을 판단하는 수량 증가

  4. 낮은 환율의 가짜 돌파구를 피하기 위해 환율을 고려하십시오.

  5. 다양한 포지션 기간을 테스트하여 최적의 출전 시점을 찾아보세요.

  6. 고정 중지 및 이동 중지 설정을 테스트

  7. 포지션 관리 전략을 조정하고 자금 사용 효율성을 최적화

요약하다

이 전략은 SSL 통로 지표를 통합하여 트렌드 방향을 판단하고, 진입을 신호하기 위해 돌파구를 사용하며, 두 개의 스톱 리스크 관리를 사용합니다. 이 전략은 반응성이 뛰어나고, 트렌드를 쉽게 파악할 수 있으며, 고주파 거래에 적합합니다. 가짜 돌파구를 예방하고, 손해 차단 장치를 개선하고, 포지션을 잘 제어하는 데 주의를 기울여야 합니다.

전략 소스 코드
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SSL Channel Cross with Trailing Stop and Stop Loss", overlay=true)

period = input(title="Period", defval=10)
len = input(title="Length", defval=10)
smaHigh = sma(high, len)
smaLow = sma(low, len)

Hlv = 0
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : 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(sslUp, sslDown)
shortCondition = crossunder(sslUp, sslDown)

// Define el tamaño del trailing stop en puntos (ajusta según tu preferencia)
trailingStopSize = input(title="Trailing Stop Size (in Points)", defval=10)

var float trailingStopPrice = na
var float stopLossPrice = na

if (longCondition)
    // Si se cumple la condición de compra, configura la posición larga, el trailing stop y el stop loss
    strategy.entry("Long", strategy.long)
    trailingStopPrice := low - trailingStopSize
    stopLossPrice := sslDown

if (shortCondition)
    // Si se cumple la condición de venta corta, configura la posición corta, el trailing stop y el stop loss
    strategy.entry("Short", strategy.short)
    trailingStopPrice := high + trailingStopSize
    stopLossPrice := sslUp

// Calcula el trailing stop
if (strategy.position_size > 0)
    trailingStopPrice := max(trailingStopPrice, stopLossPrice)
    if (close < trailingStopPrice)
        strategy.close("ExitLong", comment="Trailing Stop Long")

if (strategy.position_size < 0)
    trailingStopPrice := min(trailingStopPrice, stopLossPrice)
    if (close > trailingStopPrice)
        strategy.close("ExitShort", comment="Trailing Stop Short")