점진적 축적 브레이크아웃 거래 전략

저자:차오장, 날짜: 2023-10-25 17:34:41
태그:

img

전반적인 설명

점진적 축적 브레이크오웃 거래 전략은 바이코프 분석의 원칙을 사용하여 잠재적인 축적 및 유통 단계를 파악하고, 잠재적인 구매 및 판매 기회를 찾기 위해 봄 및 상승 패턴을 탐지하는 것으로 보완됩니다.

전략 논리

  1. 축적 및 유통 단계를 식별하기 위해 서로 다른 길이의 이동 평균 크로스오버를 사용하십시오. 닫기 가격이 길이 축적 길이의 MA를 넘으면 축적 단계를 나타냅니다. 닫기 가격이 길이 유통 길이의 MA를 넘으면 유통 단계를 나타냅니다.

  2. 각기 다른 길이의 이동 평균 크로스오버를 사용하여 스프링 및 상승 패턴을 식별합니다. 낮은 가격이 길이 스프링레인지의 MA를 넘으면 스프링을 나타냅니다. 높은 가격이 길이 업트러스트레인지의 MA를 넘으면 상승을 나타냅니다.

  3. 축적 단계에서 스프링이 관찰되면 길게 이동합니다. 분배 단계에서 상승 추진력이 관찰되면 짧게 이동합니다.

  4. 스톱 로스 레벨을 설정합니다. 긴 스톱 로스는 Close * (1 - Stop %) 로 설정됩니다. 짧은 스톱 로스는 Close * (1 + Stop %) 로 설정됩니다.

  5. 그래프에 그래프 모양을 표시하여 쉽게 시각적으로 인식하기 위해 확인 된 축적, 분포, 스프링 및 상승 패턴을 표시하십시오.

이점 분석

  1. 와이커프 분석을 사용하여 축적 및 분배 단계를 식별하면 거래 신호의 신뢰성이 향상됩니다.

  2. 스프링 및 상승 추진 패턴으로 신호를 확인하면 추가 검증을 제공합니다.

  3. 스톱 로스는 단일 거래 손실을 조절하는 데 도움이 됩니다.

  4. 차트 설명은 가격 롤링의 전체 과정을 명확하게 보여줍니다.

  5. 조정 가능한 매개 변수들은 이 전략을 시장과 시간 틀에 맞게 최적화할 수 있게 합니다.

위험 분석

  1. 위프사우가 불황스러운 가격 행동 중에 잘못된 신호를 생성할 수 있습니다.

  2. 스프링과 상승 추진력은 때때로 실패 할 수 있습니다.

  3. 스톱 손실을 제거하면 손실이 증가할 수 있습니다.

  4. 서로 다른 시장에 대한 불협화 매개 변수는 잘못된 신호를 일으킬 수 있습니다.

  5. 기계 시스템은 유연한 재량 제어 기능이 부족합니다.

최적화 방향

  1. 시장과 기간에 최적의 매개 변수 조합을 테스트합니다.

  2. 신호 확인을 위해 음을 포함하는 것을 고려하십시오.

  3. 시장의 변동성에 따라 동적 정지를 설정합니다.

  4. 중요한 사건에서 신호를 피하기 위해 근본적인 요소를 포함하십시오.

  5. 매개 변수를 동적으로 최적화하기 위해 기계 학습을 적용합니다.

요약

점진적 축적 브레이크아웃 거래 전략은 와이커프 분석, 이동 평균, 패턴 인식 및 기타 기술을 통합하여 코일링 가격 동작을 효과적으로 식별하고 거래 신호를 생성합니다. 신뢰할 수있는 신호, 제어 된 위험, 명확한 시각 및 기타 장점을 가지고 있습니다. 기계 시스템으로서 자율성과 적응력이 개선되어야합니다. 미래 최적화는 매개 변수 최적화, 볼륨 확인, 스톱 손실 향상, 기본 필터 및 기타를 포함합니다. 전반적으로이 전략은 내일 거래에 효과적인 의사 결정 지원을 제공합니다.


/*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"}]
*/

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

//@version=5
strategy("Wyckoff Range Strategy",  overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)

// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")

// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))

// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))

// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))

// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust

enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring

// Entry and Exit Conditions
if (enterLong)
    strategy.entry("Long", strategy.long)
    
if (exitLong)
    strategy.close("Long")

if (enterShort)
    strategy.entry("Short", strategy.short)

if (exitShort)
    strategy.close("Short")

// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)

// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)

더 많은