복합적인 탈출 전략

저자:차오장, 날짜: 2024-02-29 14:07:54
태그:

img

전반적인 설명

이 전략은 최근 N 바의 가장 높고 가장 낮은 가격을 계산하여 이동 평균 라인과 결합하여 낮은 구매 및 높은 판매 거래 전략을 구현하기 위해 이중 브레이크 아웃 조건을 설정합니다.

전략 원칙

이 전략은 주로 다음과 같은 원칙에 기초합니다.

  1. 최근 7 바의 최소 낮은 가격 minLow를 계산하여 브레이크아웃 구매 조건을 결정합니다.
  2. 최근 7 바의 최대 높은 가격 maxHigh을 계산하여 브레이크오웃 판매 조건을 결정합니다.
  3. 트렌드 방향과 함께 트렌드 방향을 결정하기 위해 200 기간 간단한 이동 평균 라인 mma를 계산
  4. 구매 조건: 폐쇄 가격은 minLow를 통과하고 mma보다 높습니다.
  5. 판매 조건: 닫기 가격은 maxHigh을 통과하거나 maxHigh보다 높습니다.

최근 N 바의 극한을 계산함으로써 시장이 극도로 과판되거나 과반 구매되었는지 판단합니다. 트렌드 방향을 결정하기 위해 이동 평균선과 결합하여 낮은 구매 및 높은 판매의 브레이크아웃 거래 전략을 달성하기 위해 두 가지 조건을 설정합니다.

이점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 이중 조건 설정은 전략의 거래 신호를 더 신뢰할 수 있습니다.
  2. 과반 판매 및 과반 구매 상태를 판단하기 위해 K 라인의 극단을 사용하면 역전 가능성을 포착 할 수 있습니다.
  3. 트렌드 방향을 결정하기 위해 이동 평균선을 결합하면 역작업이 피됩니다.
  4. 그것은 대부분의 거래자의 거래 심리학과 일치하는 낮은 구매와 높은 판매의 아이디어를 구현합니다.
  5. 전략의 논리는 간단하고 명확하며 이해하기 쉽고 실행하기 쉽습니다.

이중 확인을 통해 전략의 신호 품질은 상대적으로 높고 매개 변수 최적화 공간은 넓으며 다른 시장 환경에 적합합니다.

위험 분석

이 전략은 또한 몇 가지 위험을 안고 있습니다.

  1. 이중 조건은 신호의 주파수를 제한하고, 일부 거래 기회를 놓칠 수도 있습니다.
  2. K 라인 극단에 대한 계산 주기의 부적절한 설정은 과반 판매 및 과반 구매 상태를 정확하게 결정할 수 없습니다.
  3. 이동 평균 라인의 잘못된 매개 변수 설정은 트렌드 방향을 잘못 결정할 수 있습니다.
  4. 동시에 여러 매개 변수를 최적화해야 합니다. 매개 변수 최적화를 더 어렵게 만듭니다.

이러한 위험은 컴퓨팅 주기를 조정하고 매개 변수 조합을 최적화하고 다른 방법을 통해 감소 할 수 있습니다. 또한 최적화를 위해 다른 지표와 결합하는 것을 고려합니다.

최적화 방향

이 전략은 주로 다음과 같은 방향으로 최적화 될 수 있습니다.

  1. 과잉 구매와 과잉 판매를 결정하기 위해 가장 적절한 사이클 매개 변수를 찾기 위해 K 라인 극단의 계산 주기를 최적화
  2. 다른 길이의 이동 평균 선의 효과를 테스트
  3. BOLL 채널, KD 지표 등과 같은 다른 결합된 지표를 증가시킵니다.
  4. 단일 스톱 손실을 통제하기 위해 스톱 손실 전략을 증가
  5. 신호 품질을 향상시키기 위해 입출구 조건을 최적화

매개 변수 최적화, 지표 최적화, 위험 통제 최적화 등으로 전략의 수익률을 크게 향상시킬 수 있습니다.

요약

일반적으로, 이것은 매우 실용적인 브레이크아웃 전략이다. 과판 및 과입 상태를 결정하기 위해 K 라인의 극한을 계산하고, 트렌드 방향을 결정하기 위해 이동 평균 라인을 사용하여, 잘못된 신호를 필터하기 위해 이중 필터링 조건을 설정하여, 고품질의 낮은 구매 및 높은 판매 전략을 구현합니다. 컴퓨팅 주기를 최적화하고, 다른 지표 및 기타 방법을 추가함으로써 전략 효과를 더욱 향상시킬 수 있습니다. 이 전략은 초보자와 전문 상인이 모두 배우기 위해 최적화하고 사용할 수 있습니다.


/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Larry Connors por RON", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

value1 = input(7, title="Quantity of day low")
value2 = input(7, title="Quantity of day high")
entry = lowest(close[1], value1)
exit = highest(close[1], value2)

lengthMMA = input(200, title="Length of SMA", minval=1)
mma = sma(close, lengthMMA)

// Calcular el mínimo de los precios bajos de las últimas 'value1' velas
minLow = lowest(low, value1)

// Calcular el máximo de los precios altos de las últimas 'value2' velas
maxHigh = highest(high, value2)

// Test Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)

testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

testPeriod() => true

if testPeriod()
    // Condiciones de entrada
    conditionMet = (close > mma) and (close < entry) and (low == minLow)
    strategy.entry("Buy", strategy.long, when=conditionMet)
    
    if conditionMet
        label.new(bar_index, entry, text="↑", style=label.style_arrowup, color=color.green, size=size.small, yloc=yloc.belowbar)
    
    // Condiciones de salida
    conditionExit = close > exit or close > maxHigh
    strategy.close("Buy", when=conditionExit)


더 많은