촛불 방향에 기반한 트렌드를 따르는 전략

저자:차오장, 날짜: 2024-02-19 10:36:00
태그:

img

전반적인 설명

이 전략은 현재 트렌드 방향을 결정하기 위해 촛불의 종료 가격과 개막 가격 사이의 관계를 기반으로 긴 또는 짧은 신호를 생성합니다. 구체적으로, 종료 가격이 개막 가격보다 높으면 긴 신호가 생성됩니다. 종료 가격이 개막 가격보다 낮으면 짧은 신호가 생성됩니다.

전략 논리

이 전략은 주로 다음 두 가지 조건에 의존하여 거래 신호를 생성합니다.

  1. 엔트리 신호 로직: 닫기 가격이 오픈 가격 (클로즈 > 오픈) 보다 높고 오픈 시간까지 도달하면 긴 신호가 생성됩니다. 닫기 가격이 오픈 가격 (클로즈 < 오픈) 보다 낮고 오픈 시간까지 도달하면 짧은 신호가 생성됩니다.

  2. 출구 조건: 엔트리 신호와 달리, 이미 긴 경우 손실 조건은 개시 가격보다 낮은 폐쇄 가격 더 ATR 값, 이익 조건은 개시 가격보다 높은 폐쇄 가격 더 ATR 및 이익 비율로 곱합니다. 반대로 이미 짧은 경우.

이 설계로, 이 전략은 촛불로부터의 방향 정보를 활용하여 트렌드 방향을 결정하고 트렌드를 시기적으로 따라간다. 또한, 스톱 로스 및 취리 기준은 ATR에 기반하여 동적으로 적응하여 고정 값의 문제를 피한다.

장점

이 전략의 가장 큰 장점은 촛불 방향을 활용한 강력한 트렌드를 따르는 능력입니다. 입시 신호는 간단하고 명확하며, 하루 종일 위험을 피하기 위해 오픈 시간 조건과 결합됩니다. 스톱 손실 및 수익 기준은 자동 조정 위치 크기를 동적으로 변경합니다.

전체적으로, 이 전략은 빠른 반응과 강력한 추적 능력을 가지고 있으며, 1H, 4H와 같은 중간 시간 프레임에서 트렌드를 포착하기에 적합합니다.

위험성

이 전략의 주요 위험은 다음과 같습니다.

  1. 높은 거래 빈도, 거래 비용과 미끄러짐에 의해 쉽게 영향을받습니다. 수익 비율을 조정함으로써 최적화 할 수 있습니다.

  2. 촛불이 다른 지표로 필터될 수 있습니다.

  3. ATR 매개 변수 설정은 스톱 로스/프로프트 취업 성과에 영향을 미칩니다. ATR 길이가나 수익률은 시장 조정이 필요합니다.

  4. 영업시간 설정 또한 신호 품질에 영향을 미칩니다. 다른 시장에는 다른 영업시간이 필요합니다.

최적화

이 전략은 다음의 측면을 더 최적화 할 수 있습니다.

  1. 가격 변동의 잘못된 신호를 처리하기 위해 이동 평균과 같은 필터를 추가합니다.

  2. 변동성에 기초한 단일 베팅 크기를 제어하기 위해 포지션 크기를 포함합니다.

  3. 기계 학습을 활용하여 시장에 적응하기 위해 스톱 로스/프로피트 매개 변수를 동적으로 최적화합니다.

  4. 전체적인 위치를 관리하기 위해 지표를 사용하여 시장 정서를 판단하십시오.

결론

요약하자면, 이 전략은 빠른 반응을 가지고 있으며 트렌드를 효과적으로 잡는다. 그것은 촛불 닫기 및 열기 가격 사이의 관계에 기초하여 방향을 결정하고 신호를 생성한다. 또한, 동적 ATR은 변동성에 기초한 포지션 사이징을 조정하기 위해 스톱 로스/프로프트 스탠더드에 사용됩니다. 필터와 미세 조정 매개 변수를 추가하여 추가로 최적화 할 수있는 엄청난 잠재력.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Go with Trend Strategy", overlay=true)

// Input settings
startHour = input(9, title="Start Hour for Entries")
activateLong = input(true, title="Activate Long")
activateShort = input(true, title="Activate Short")
takeProfitRatio = input(1.5, title="Take Profit Ratio")

// Calculate ATR
atrLength = 14  // You can change this value as needed
atrValue = ta.atr(atrLength)

// Calculate entry conditions
enterLong = close > open and hour >= startHour
enterShort = close < open and hour >= startHour

// Strategy logic
if (activateLong and enterLong)
    strategy.entry("Long", strategy.long)

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

// Stop loss and take profit conditions
strategy.exit("Exit Long", from_entry="Long", loss=close - atrValue, profit=close + takeProfitRatio * atrValue)
strategy.exit("Exit Short", from_entry="Short", loss=close + atrValue, profit=close - takeProfitRatio * atrValue)


더 많은