첫 번째 캔들 돌파 - 손절매 또는 자동 포지션 마감 전략

ATR EMA SMA MACD RSI FIBONACCI BREAKOUT momentum volatility TREND FOLLOWING OHLC
생성 날짜: 2025-04-01 13:51:36 마지막으로 수정됨: 2025-04-01 13:51:36
복사: 0 클릭수: 431
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

첫 번째 캔들 돌파 - 손절매 또는 자동 포지션 마감 전략 첫 번째 캔들 돌파 - 손절매 또는 자동 포지션 마감 전략

개요

첫 브레이크-스트로스 또는 클로즈 자동 평지 전략은 거래일 첫 라인의 높고 낮은 점을 기반으로 잠재적인 입문 신호를 식별하는 일간 거래 전략이다. 이 전략은 가격이 첫 라인 범위를 돌파했을 때의 동력을 포착하여 하루가 끝나기 전에 또는 스톱 손실을 만질 때 평지를 설정하여 단기 파동 수익을 달성합니다. 전략은 간결하게 설계되어 있으며, 일간 가격 움직임의 초기 방향성 돌파에 초점을 맞추고 있으며, 명확한 스톱 및 평화 포지션 규칙을 설정하여 위험을 효과적으로 제어합니다.

전략 원칙

이 전략의 핵심 원칙은 거래일의 초기 단계의 가격 운동과 돌파 신호를 사용하여 후속 움직임을 예측하는 것입니다. 구체적인 운영 과정은 다음과 같습니다:

  1. 우선, 전략은 거래가 시작되는 시간을 정의하고, 첫 번째 줄의 최고 가격과 최저 가격을 기록한다.
  2. 가격이 첫 번째 줄의 가장 높은 가격을 돌파 할 때, 전략은 더 많은 신호를 유발합니다. 가격이 첫 번째 줄의 가장 낮은 가격을 넘어서는 경우, 마이너스 신호를 유발합니다.
  3. 이 전략은 엄격한 단일 거래 메커니즘을 적용하여 거래 당 하루에 한 번의 거래만 수행되도록합니다.
  4. 다중 거래의 경우, 중지 손실은 첫 번째 라인에서 가장 낮은 지점에 설정; 공백 거래의 경우, 중지 손실은 첫 번째 라인에서 가장 높은 지점에 설정.
  5. 거래가 스톱로스를 만지든 아니든, 모든 매매가 매매일 종료 시간에 (기본 15: 30) 자동으로 매매된다.

변수를 통해 전략tradeTaken하루에 한 번만 거래할 수 있도록tradeDirection현재 거래 방향에 대한 기록 ((1은 더 많은 것을 의미하며, -1은 더 적은 것을 의미하며), 거래 상태를 효과적으로 관리하고 스톱 손실 조건을 적용한다.

전략적 이점

  1. 간결하고 효율적입니다.전략적 논리는 간단하고 이해하기 쉽고 실행하기 쉬우며, 복잡한 기술 지표나 매개 변수 최적화가 필요하지 않습니다.
  2. 명확한 진입 신호가격 돌파를 기반으로 명확한 거래 신호를 제공하여 주관적인 판단 요소를 줄여줍니다.
  3. 엄격한 위험 관리첫 번째 줄의 반대 극한값을 스톱로스로 설정하여 거래당 최대 손실을 제한합니다.
  4. 시간제 청산기구모든 거래가 하루 안에 이루어지도록 보장하고, 밤새의 위험을 피하십시오.
  5. 매우 적응력이 좋다: 전략은 다양한 거래 종류와 시간 프레임에 적용되며, 시작 및 종료 시간 매개 변수를 조정하여 다른 시장에 적응 할 수 있습니다.
  6. 감정적 중립성자동화 된 거래 신호는 거래자의 감정 변동이 의사 결정에 영향을 줄 수 있습니다.
  7. 하루의 움직임을 포착합니다.시장 개시 후의 초기 동력과 방향성 돌파구를 효과적으로 활용하십시오.

전략적 위험

  1. 가짜 침입 위험: 시장은 돌파구 이후 급격하게 반전되어 스톱 손실이 유발 될 수 있습니다. 이 위험을 줄이기 위해 거래량 확인 또는 다중 시간 프레임 분석과 같은 확인 지표를 추가하는 것이 고려 될 수 있습니다.
  2. 슬라이드 포인트 및 실행 지연: 높은 변동성 시장에서, 주문 실행은 실제 진입 가격과 중지 손실 실행에 영향을 미치는 슬라이드 또는 지연에 직면 할 수 있습니다. 시장 가격 대신 제한 가격을 사용하는 것이 권장되며, 더 느슨한 중지 손실을 설정하는 것이 좋습니다.
  3. 단일 기준점 위험첫 번째 선에 대한 판단 기준으로만 의존하고, 더 넓은 시장 환경과 추세를 무시합니다. 시장 추세와 지지부진 분석을 결합하여 거래 신호를 필터링하는 것이 좋습니다.
  4. 고정 시간 프레임 제한: 전략은 고정된 시작 및 종료 시간을 기반으로, 다른 시간대의 좋은 기회를 놓칠 수 있습니다. 다른 시간대에 대한 역검사를 고려하여 최적의 거래 시간 창을 찾을 수 있습니다.
  5. 수익 목표의 부재전략은 명확한 정지 목표를 설정하지 않았기 때문에 시장 유리한 수익을 극대화 할 수 없습니다. 역동적인 정지 목표를 설정하는 것이 좋습니다.
  6. 일일 변동 제한: 낮은 변동성이 있는 시장은 첫 번째 라인 간격이 너무 작고, 스톱피스가 너무 가깝게 되어 쉽게 트리거될 가능성이 높아진다.

전략 최적화 방향

  1. 필터링 조건을 추가: 트렌드 지표와 결합하여 거래 방향을 가하고, 트렌드 방향이 일치할 때만 입문하여 성공률을 높인다.
  2. 동적 중지 손해 설정: ATR (평균 실제 진폭) 에 기반한 동적 정지 손실을 고려할 수 있으며, 단순히 첫 번째 선의 높낮이를 사용하여 다양한 진동 환경에 적응하는 것이 아닙니다.
  3. 제 장치 도입: 위험과 수익의 비율을 기반으로 설계된 중지 규칙, 예를 들어 이익이 중지 손실의 1.5배 또는 2배에 도달했을 때 자동으로 청산 부분 포지션.
  4. 거래 시간을 최적화다양한 시장과 품종에 대한 최적의 거래 시간 창을 분석하고, 최적의 결과를 얻기 위해 시작 및 종료 시간을 조정합니다.
  5. 을 세분화: 단일 거래를 여러 차례에 걸쳐 실행하는 것을 고려하고, 다른 가격 수준에서 포지션 및 포지션을 구축하여 타이밍 선택의 위험을 줄이십시오.
  6. 수량 확인: 돌파 신호가 발동될 때, 거래량 확인 요구사항을 증가시키고, 거래량이 낮은 가짜 돌파를 필터링한다.
  7. 적응성 변수 조정: 시장 상황에 따라 전략의 매개 변수를 동적으로 조정하여 전략의 적응성을 향상시킵니다.
  8. 시장 환경 필터에 가입하세요: 극단적인 시장 상황 (비정상적으로 높은 변동이나 중요한 보도 발표일과 같은) 에서 전략 실행을 일시 중지하여 불필요한 위험을 피한다.

요약하다

첫 번째 브레이크-손실 또는 종결 자동 평정 전략은 시장 개장 후 방향적 돌파구를 포착하여 이익을 얻는 간결하고 효율적인 일일 거래 방법입니다. 이 전략의 주요 장점은 작동이 간단하고, 위험이 통제 가능하며, 일일 거래자에 적합합니다. 그러나, 전략에는 가짜 돌파구 위험과 단일 기준점의 한계가 있습니다. 필터링 조건을 추가하고, 손실을 막는 장치를 최적화하고, 시장 환경 분석과 같은 방법을 결합하여 전략의 안정성과 수익성을 크게 향상시킬 수 있습니다.

전략 소스 코드
/*backtest
start: 2025-03-28 00:00:00
end: 2025-03-31 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("First Candle Breakout - Close on SL or EOD", overlay=true)

// User Inputs
startHour = input(9, "Start Hour (Exchange Time)")
startMinute = input(15, "Start Minute (Exchange Time)")
endHour = input(15, "End Hour (Exchange Time)")  // Market closing hour
endMinute = input(30, "End Minute (Exchange Time)")

// Variables to store the first candle's high & low
var float firstCandleHigh = na
var float firstCandleLow = na
var bool tradeTaken = false  // Ensures only one trade per day
var int tradeDirection = 0   // 1 for long, -1 for short

// Identify first candle's high & low
if (hour == startHour and minute == startMinute and bar_index > 1)
    firstCandleHigh := high
    firstCandleLow := low
    tradeTaken := false  // Reset trade flag at start of day
    tradeDirection := 0   // Reset trade direction

// Buy condition: Close above first candle high AFTER the first candle closes
longCondition = not na(firstCandleHigh) and close > firstCandleHigh and not tradeTaken and hour > startHour
if (longCondition)
    strategy.entry("Buy", strategy.long, comment="Buy")
    tradeTaken := true  // Mark trade as taken
    tradeDirection := 1  // Mark trade as long

// Sell condition: Close below first candle low AFTER the first candle closes
shortCondition = not na(firstCandleLow) and close < firstCandleLow and not tradeTaken and hour > startHour
if (shortCondition)
    strategy.entry("Sell", strategy.short, comment="Sell")
    tradeTaken := true  // Mark trade as taken
    tradeDirection := -1  // Mark trade as short

// Stop loss for long trades (first candle low)
if (tradeDirection == 1 and close <= firstCandleLow)
    strategy.close("Buy", comment="SL Hit")

// Stop loss for short trades (first candle high)
if (tradeDirection == -1 and close >= firstCandleHigh)
    strategy.close("Sell", comment="SL Hit")

// Close trade at end of day if still open
if (tradeTaken and hour == endHour and minute == endMinute)
    strategy.close_all(comment="EOD Close")