다단계 가격 돌파 및 되돌림 거래 전략

OHLC SLTP PPV PVT MPB
생성 날짜: 2025-05-13 11:08:10 마지막으로 수정됨: 2025-05-13 11:08:10
복사: 1 클릭수: 290
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다단계 가격 돌파 및 되돌림 거래 전략 다단계 가격 돌파 및 되돌림 거래 전략

개요

다단계 가격 돌파 및 회수 거래 전략은 가격 행동을 기반으로 한 거래 시스템으로, 특정 가격 패턴을 식별하고 돌파 시점에 정확한 입장을 수행합니다. 이 전략은 시점의 동력의 변화를 캡처하기 위해 시점의 차분 분석과 결합하여 시점의 개시 가격, 최고 가격, 최저 가격 및 폐폐 가격 사이의 관계를 모니터링합니다. 전략은 다단계 판단 장치가 있으며, 각각 세 가지 다른 단계의 입시 조건이 설정되어 있으며, 대조적인 다중 공간 쌍방향 거래 논리와 고정 지점의 손해 중지 장치가 있습니다.

전략 원칙

이 전략의 핵심 원칙은 가격의 급격한 변동 이후의 지속 가능 기회를 식별하고 활용하는 것입니다. 코드를 깊이 분석하면 다음과 같은 원칙을 따르는 전략을 볼 수 있습니다.

  1. 위치 인식 시스템전략은 거래 논리를 세 단계로 나누고, 각 단계에 따라 다른 입시 조건을 유발한다.

  2. 브레이크 조건 검출다중 거래의 주요 검사는 다음과 같습니다.

    • 1단계: 이전 K선 고점과 개장값의 차이는 300점인지 판단하고, 최저점이 최상점보다 낮은지 50점 빼고
    • 2단계: 1단계로 들어간 후, 현재 최저점이 기준 개시 가격 + 250점으로 되돌려지지 않는지 확인합니다.
    • 3단계: 현재 최고점과 이전 종결점의 가치 차이가 300점을 넘는지, 그리고 최저점이 철수 조건을 충족하는지 판단
  3. 역 논리: 공허 거래는 다단과 완전히 대칭되는 역 논리를 사용하여, 오픈 가격, 최저 가격 사이의 관계를 모니터링하여 진입 시기를 판단한다.

  4. 손해 차단 설정: 전략은 고정 지점의 손실 중지 전략을 채택하고, 다중 헤드 중지 손실은 입시 가격 아래 301 포인트로 설정하고, 중지 중지 설정은 이전 종료 가격 위 301 포인트로 설정합니다. 공허 거래는 반대로 .

전략적 이점

코드에 대한 심층적인 분석 결과, 이 전략은 다음과 같은 몇 가지 분명한 장점을 보여준다.

  1. 다단계 판단기구: 세 가지 다른 단계의 판단을 통해 단일 조건으로 인한 잘못된 판단을 피하고 입학 정확도를 높였습니다.

  2. 방향과 철회전략은 가격의 돌파동력 (방향) 과 가능한 철수행위에 관심을 두며 공격성과 방어성을 균형을 맞추고 있다.

  3. 매개 변수는 유연하게 조정할 수 있습니다.: 점값 변수 설정을 통해, 전략은 다양한 변동 특성을 가진 시장과 품종에 적응할 수 있으며, 전략의 적용 범위를 높였다.

  4. 양방향 거래전략은 동시에 양방향의 거래 논리를 포함하고, 시장의 기회를 최대한 활용하고, 한방향의 흐름에 제한되지 않는다.

  5. 리스크 관리 내장: 사전 설정된 스톱로스 스톱포인트 (Stop Loss Stop Point) 를 통해, 각 거래의 위험과 잠재적인 수익은 명확하게 통제됩니다.

전략적 위험

이 전략은 세련된 디자인에도 불구하고 다음과 같은 잠재적인 위험들이 있습니다.

  1. 점 설정 고정전략의 300, 50, 250 및 301 포인트와 같은 고정 지점은 모든 시장 환경에 적합하지 않을 수 있습니다. 특히 변동률이 크게 변하는 기간 동안. 해결책은 품종 특성과 현재 시장의 변동성 동력에 따라 이러한 매개 변수를 조정하는 것입니다.

  2. 가짜 침입 위험: 시장이 짧은 돌파구를 따라 급격히 물러나는 가짜 돌파구가 발생할 수 있으며, 이는 잘못된 신호로 이어집니다. 거래량이나 다른 동력 지표와 같은 확인 지표를 추가하여 이러한 위험을 줄일 수 있습니다.

  3. 계속되는 손실 가능성위기 시장에서, 가격이 종종 하락점을 건드렸지만 추세가 형성되지 않아 연속적인 손실을 초래할 수 있습니다. 해결책은 시장 환경 필터를 추가하고 위기 시장에서 거래를 줄이거나 중지하는 것입니다.

  4. 실행 점 영향전략은 정확한 가격 지점에 의존하며 실제 거래에서 슬라이드 문제가 발생할 수 있습니다. 특히 유동성이 낮은 시장에서 슬라이드 상황을 모의하는 것이 좋습니다.

  5. 위상 추적의 복잡성: 다단계 설계는 정확도를 높이는 동시에 논리적 복잡성을 증가시켜 거래 실행에 지연이나 오류를 초래할 수 있다. 정기적인 점검과 단순화된 논리는 실행의 효율성을 높일 수 있다.

전략 최적화 방향

이 전략에 대한 몇 가지 최적화 방향은 다음과 같습니다.

  1. 동적 변수 조정: 고정 포인트 변수를 시장의 변동률에 기반한 동적 변수로 바꾸어 (ATR 지표와 같은) 전략이 다른 시장 환경에 더 잘 적응할 수 있도록 한다. 이렇게 하면 낮은 변동 기간 동안 촉발 값을 줄이고 높은 변동 기간 동안 값을 증가시키고 적응력을 향상시킬 수 있다.

  2. 시장 환경 필터링: 트렌드 판단 지표를 도입 (예를 들어 이동 평균 방향 또는 ADX 지표), 유리한 시장 환경에서만 전략을 실행하고, 불리한 조건에서 거래를 피한다.

  3. 정지 손실을 최적화: 고정된 스톱 대신 추적 스톱을 사용하는 것이 고려될 수 있으며, 이윤 트레이딩에 더 많은 발전 공간을 허용하면서 이미 달성한 이윤을 보호할 수 있습니다.

  4. 확인 요소를 추가합니다.출입시 신호가 발생했을 때 거래량이나 시장 구조 또는 다른 기술 지표의 확인이 증가하고, 가짜 신호의 영향을 줄일 수 있다.

  5. 시간 필터거래 시간 창 필터를 추가하여, 큰 변동이 있지만 방향이 명확하지 않은 시장 개시 및 종료 시기를 피하고, 거래가 더 안정적인 시간대에 집중하십시오.

  6. 위상 변환 논리 간소화: 단계 전환 논리를 재설계하여 불필요한 상태 검사를 줄이고, 코드 구조를 단순화하고, 실행 효율을 높였다.

요약하다

다단계 가격 돌파 및 회수 거래 전략은 다단계 가격 행동 분석을 통해 유리한 거래 기회를 식별하는 구조화된 거래 시스템입니다. 핵심 장점은 다단계 판단 장치, 양방향 거래 능력 및 내장 된 위험 관리 시스템입니다. 고정 파라미터 적응성과 가짜 돌파 위험과 같은 문제가 있지만, 동적 파라미터, 시장 환경 필터링 및 확인 요소와 같은 최적화 조치를 도입하면 전략의 안정성과 수익성이 크게 향상 될 전망입니다.

이 전략은 특히 중·단기 거래자들에게 적합하며, 특히 가격 행동을 관찰하고 동력 변화의 초기 단계에 개입하기를 원하는 거래자들에게 적합합니다. 매개 변수를 신중하게 조정하고 적절한 필터링 조건을 추가하면 이 전략은 신뢰할 수 있는 거래 시스템으로 발전할 수 있으며, 양적 거래 포트폴리오에 안정적인 수익원을 제공합니다.

전략 소스 코드
/*backtest
start: 2024-05-13 00:00:00
end: 2025-05-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("Custom Strategy", overlay=true, margin_long=1, margin_short=1, process_orders_on_close=true)

// 参数设置
point_value = input.float(0.0001, title="点值(例如:0.0001代表1个点)")

// 多单逻辑变量
var float long_ref_open = na
var float long_ref_high = na
var bool long_condition1 = false
var bool long_condition2 = false
var int long_phase = 0

// 空单逻辑变量
var float short_ref_open = na
var float short_ref_high = na
var bool short_condition1 = false
var bool short_condition2 = false
var int short_phase = 0

// 多单条件检查

// 多单第一条件检查
if not long_condition1 and not long_condition2
    if high[1] - open[1] >= 300 * point_value
        if low[1] <= high[1] - 50 * point_value
            strategy.entry("Long", strategy.long)
        else
            long_ref_open := open[1]
            long_ref_high := high[1]
            long_phase := 1

    else if close[1] - open[1] < 300 * point_value
        long_phase := 2

// 多单第二条件检查
if long_phase == 1
    if low <= long_ref_open + 250 * point_value
        strategy.entry("Long", strategy.long)
        long_phase := 0

if long_phase == 2
    if high - close[1] >= 300 * point_value
        if low <= high - 50 * point_value
            strategy.entry("Long", strategy.long)
            long_phase := 0
        else
            long_phase := 3
    else
        long_phase := 0

if long_phase == 3
    if low <= open[2] + 250 * point_value
        strategy.entry("Long", strategy.long)
        long_phase := 0

// 空单条件检查(反向逻辑)

// 空单第一条件检查
if not short_condition1 and not short_condition2
    if open[1] - low[1] >= 300 * point_value
        if high[1] >= low[1] + 50 * point_value
            strategy.entry("Short", strategy.short)
        else
            short_ref_open := open[1]
            short_ref_high := low[1]
            short_phase := 1

    else if open[1] - close[1] < 300 * point_value
        short_phase := 2

// 空单第二条件检查
if short_phase == 1
    if high >= short_ref_open - 250 * point_value
        strategy.entry("Short", strategy.short)
        short_phase := 0

if short_phase == 2
    if close[1] - low >= 300 * point_value
        if high >= low + 50 * point_value
            strategy.entry("Short", strategy.short)
            short_phase := 0
        else
            short_phase := 3
    else
        short_phase := 0

if short_phase == 3
    if high >= open[2] - 250 * point_value
        strategy.entry("Short", strategy.short)
        short_phase := 0

// 止损止盈逻辑
if strategy.position_size > 0
    strategy.exit("Long Exit", "Long", stop = strategy.position_avg_price - 301 * point_value,limit = close[1] + 301 * point_value)

if strategy.position_size < 0
    strategy.exit("Short Exit", "Short",stop = strategy.position_avg_price + 301 * point_value, limit = close[1] - 301 * point_value)