하산의 파괴 조종 전략


생성 날짜: 2023-11-16 15:44:14 마지막으로 수정됨: 2023-11-16 15:44:14
복사: 0 클릭수: 700
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

하산의 파괴 조종 전략

개요

이 전략은 주로 개선된 HA 평균선을 기반으로 가격의 전환점을 식별하기 위해 더 명백한 경향 변화를 포착하기 위해 짧은 라인 거래 전략에 속한다. 전략은 HA를 사용하여 K 라인의 개시, 고, 낮은, 수요를 계산하고 가격의 관계에 따라 최종 K 라인 색을 판단한다. 가격이 상승했을 때, 녹색 기둥 모양의 라인을 표시하고, 가격이 하락했을 때, 빨간 기둥 모양의 라인을 표시한다. 전략 HA는 거래 신호로 기둥 모양의 라인 색을 변경하고, 녹색으로 빨간색으로 갈 때 공백하고, 빨간색으로 초록색으로 갈 때 더 많이하며, 전형적인 반전 전략에 속한다.

전략 원칙

전략의 핵심 논리는 HA 기둥선의 색 변화를 계산하여 가격 반전을 판단하는 데 있습니다.

먼저, 입력 파라미터를 선택하여 HA를 사용할지 여부를 계산한다. 사용 선택하면 HA 데이터에서 열고, 높고, 낮고, 절감값을 얻는다. 사용하지 않으면 K선 원본 데이터에서 직접 얻는다.

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close

haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open  

haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high

haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low

그리고 HA 계산 공식에 따라 이 주기 HA 개시, 인수값을 얻는다.

haclose = (haOpen + haHigh + haLow + haClose) / 4  

haopen := na(haopen[1]) ? (haOpen + haClose) / 2 : (haopen[1] + haclose[1]) / 2

그리고 HA의 최고 가격과 최저 가격을 계산합니다.

hahigh = max(haHigh, max(haopen, haclose))  

halow = min(haLow, min(haopen, haclose))

HA 개수 가격 관계에 따라 이 주기 HA 기둥선 색깔을 판단한다.

hacolor = haclose > haopen ? color.green : color.red

HA 색의 변화에 따라 가격 반전 신호를 판단한다.

turnGreen = haclose > haopen and haclose[1] <= haopen[1]  

turnRed = haclose <= haopen and haclose[1] > haopen[1]

상장과 상하의 신호가 발생했을 때 상장과 상하의 포지션을 각각 열립니다.

strategy.entry("long", 1, when=turnGreen)  

strategy.entry("short", 0, when=turnRed)

반대 신호가 발생했을 때 평행한다.

strategy.close("long", when=turnRed)

따라서 HA 기둥선의 색의 변화를 판단하여 가격 반전의 지점을 포착하여 반전 거래 전략을 수행 할 수 있습니다.

우위 분석

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

  1. 개선된 HA를 사용하여 K선 데이터를 계산하여 일부 잡음을 필터링하고 트렌드 반전을 더 명확하게 식별할 수 있습니다.

  2. 간단한 HA 기둥선 색상의 변화만으로 전환점을 판단하고, 전략 논리는 간단하고 명확하며, 이해하기 쉬운 구현이다.

  3. 반전 거래 방식을 사용하면 트렌드 변화를 적시에 포착하여 빠른 반전 수익을 얻을 수 있습니다.

  4. HA를 사용하여 K선 데이터를 계산할 수 있으며, 다른 시장에 따라 조정할 수 있다.

  5. 도형 표시 촛불은 가격 전환점을 직관적으로 판단하기 편리하다.

  6. 거래주기와 같은 최적화 매개 변수를 통해 조정할 수 있으며, 다른 품종에 적용된다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 반전 거래는 조작되기 쉽기 때문에 반전 신호가 충분히 신뢰할 수 있는지 확인해야 합니다.

  2. 불안한 시장에서는 반전 신호가 자주 발생하여 과도한 거래가 발생할 수 있습니다.

  3. 트렌드가 얼마나 오래 지속될지 판단할 수 없고, 역전 후에도 계속되는 것은 손실을 초래할 수 있다.

  4. 단일 지표는 가짜 돌파구에 취약하며, 다른 지표와 함께 사용한다.

  5. 매개 변수가 충분히 최적화되어 있는지 확인해야 합니다.

대응방법:

  1. 트레이딩 신호의 안정성과 신뢰성을 보장하기 위해 매개 변수를 최적화한다.

  2. 트렌드 필터링과 함께 불안한 시장 거래를 피하십시오.

  3. 단편적 손실을 통제하기 위한 스톱로스 탈퇴 메커니즘을 설정한다.

  4. 다른 지표와 결합하여 확인하여 잘못된 신호를 피하십시오.

  5. 최적화 매개 변수를 충분히 재검토하여 오버피칭을 방지한다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 거래주기 변수를 최적화하여 다양한 품종 특성에 맞게 조정한다.

  2. 거래 품종 특성에 따라 선택하여 HA 값을 사용했는지 테스트하십시오.

  3. 트렌드 필터링 조건을 추가하여 흔들리는 시장의 반전을 방지하십시오.

  4. 동적 스톱로드를 설정하고 시장의 변동에 따라 스톱로드를 조정합니다.

  5. 다른 지표와 결합하여 거래 신호를 확인한다.

  6. 자금 관리 전략을 추가하고 포지션을 조정하십시오.

  7. 다양한 종류의 중도 거래가 가능하도록 확장한다.

  8. 피드백 결과에 따라 변수를 수정하여 과일접합을 방지한다.

요약하다

이 전략은 HA 평행선의 장점을 활용하여 HA 기둥 선의 색 변화를 판단하여 가격의 가능한 반전점을 발견합니다. 직접 K선을 사용하는 것과 비교하여 HA 평행선은 일부 잡음을 필터링하여 반전 신호를 더 명확하게합니다. 이 전략은 간단한 직관적인 방법으로 반전 거래 사고방식을 구현하고, 논리는 간단하고 명확하며, 실내에서 쉽게 작동합니다. 그러나 반전 거래는 더 많은 신호 정확성을 최적화 할 필요가 있습니다.

전략 소스 코드
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Heikin-Ashi Change Strategy", overlay=true)

UseHAcandles    = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===

// === BASE FUNCTIONS ===

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow   = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low

// Calculation HA Values 
haopen = 0.0
haclose = (haOpen + haHigh + haLow + haClose) / 4
haopen := na(haopen[1]) ? (haOpen + haClose) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = max(haHigh, max(haopen, haclose))
halow = min(haLow, min(haopen, haclose))

// HA colors
hacolor = haclose > haopen ? color.green : color.red

// Signals
turnGreen = haclose > haopen and haclose[1] <= haopen[1]
turnRed = haclose <= haopen and haclose[1] > haopen[1]

// Plotting
bgcolor(hacolor)

plotshape(turnGreen, style=shape.arrowup, location=location.belowbar, color=color.green)
plotshape(turnRed, style=shape.arrowdown, location=location.abovebar, color=color.red)

// Alerts
alertcondition(turnGreen, "ha_green", "ha_green")
alertcondition(turnRed, "ha_red", "ha_red")

strategy.entry("long", 1, when=turnGreen)
//strategy.entry("short", 0, when=turnRed)
strategy.close("long", when=turnRed)