격차 감소 역전 전략

저자:차오장, 날짜: 2023-09-19 16:19:51
태그:

전반적인 설명

이 전략은 격차 다운 역전을 거래합니다. 현재 촛불이 이전 클로즈보다 낮게 열리고 오픈보다 더 큰 클로즈로 하루를 마칠 때, 전략은 다음 날 오픈 또는 클로즈에 긴 시간을 입력합니다.

전략 원칙

  1. 아래로 간격이 발생하는지 확인합니다. 즉, 이전 닫기 아래로 현재 열립니다.

  2. 아래로 갈라지면, 현재 닫는 것이 열려있는 것보다 높는지 관찰하여 상향 반전을 나타냅니다.

  3. 격차 상하 회전 조건이 충족되면 다음 날 오픈 또는 닫을 때 길게 가십시오.

  4. 엔트리 후 5%의 비율로 마감 손실을 설정합니다. 마감 수준은 가격과 함께 상승합니다.

  5. 가격이 스톱 로스를 타기 위해 떨어지면 포지션은 닫습니다.

이점 분석

이 전략의 주요 장점:

  1. 격차 아래 패턴에서 역전 거래 기회를 포착합니다.

  2. 높은 확률의 반전 패턴은 두려움과 탐욕의 교류와 일치합니다.

  3. 수동 모니터링이 필요없이 수익을 올릴 수 있습니다.

  4. 유연한 입시 설정과 개별 주식에 맞는 스톱 손실

  5. 자동 실행 및 쉬운 백테스트 / 최적화

위험 분석

이 전략의 주요 위험은:

  1. 실패한 다운 역행이 발생할 수 있습니다. 패턴 검증이 필요합니다.

  2. 너무 큰 스톱 손실이 발생해서 손실이 커집니다.

  3. 부적절한 조류 선택은 심각한 반전으로 이어질 수 있습니다.

  4. 백테스트 데이터가 부족하면 부적절한 체력 위험도 발생합니다.

  5. 실행은 백테스트와 라이브에서 다릅니다.

해결책:

  1. 스톱 로스 레벨과 트레이드 당 최대 손실 비율을 최적화합니다.

  2. 전체적인 시장 추세를 측정하여 재고를 넘기지 않도록 합니다.

  3. 패턴과 음량 변경을 확인하세요.

  4. 백테스트를 위한 샘플 크기를 확장하고 실시간 거래를 시뮬레이션합니다.

최적화 방향

전략을 개선할 수 있는 몇 가지 방법:

  1. 트렌드 필터를 추가하여 역 트렌드 항목을 피합니다.

  2. 수익을 보호하기 위해 스톱 로스 비율을 동적으로 조정합니다.

  3. 특정 날짜에 거래에 시간 필터를 추가하는 것을 고려하십시오.

  4. 위치 크기를 측정하기 위해 패턴의 강도를 평가합니다.

  5. 최적의 출구점을 찾기 위해 다른 대기 기간을 테스트합니다.

요약

격차 아래 역전 전략은 높은 확률의 역전 패턴을 활용합니다. 중지 효과적으로 위험을 제어하지만 잘못된 반등 및 변화하는 시장 조건에 주의하십시오. 라이브 거래시 지속적인 최적화와 함께 패턴과 트렌드를 신중하게 평가하는 것이 좋습니다.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RolandoSantos

//@version=2

strategy(title="Gap Down reversal strat", overlay=true, pyramiding=1, default_qty_type =  strategy.cash, default_qty_value = 10000, initial_capital = 10000 )

/// Start date

startDate = input(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", defval=2009, minval=1800, maxval=2100)


// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0))

// STEP 1:
// Configure trail stop level with input options (optional)
longTrailPerc = input(title="Trail Long Loss (%)",
     type=float, minval=0.0, step=0.1, defval=5.0) * 0.01


// Calculate trading conditions
gap_d_r = open < close[1] and close > open


// Plot Shapes
plotshape(gap_d_r, style=shape.triangleup, location=location.belowbar)
///plotshape(gap_u_r, style=shape.triangledown, location=location.abovebar)

///// Use Low, or close/////

//hlco = input(title="Stop Modifier", defval="close", options=["open", "high", "low"])


// STEP 2:
// Determine trail stop loss prices
longStopPrice = 0.0   ///, shortStopPrice = 0.0

longStopPrice := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopPrice[1])
else
    0


// Plot stop loss values for confirmation
plot(series=(strategy.position_size > 0) ? longStopPrice : na,
     color=red, style=circles,
     linewidth=1, title="Long Trail Stop")


// Submit entry orders
if (afterStartDate and gap_d_r)
    strategy.entry(id="EL", long=true)


// Submit exit orders for trail stop loss price
if (strategy.position_size > 0)
    strategy.exit(id="Stop out", stop=longStopPrice)















더 많은