마지막 촛불 전략

저자:차오장, 날짜: 2023-12-21 12:15:23
태그:

img

전반적인 설명

라스트 촛불 전략은 마지막 촛불의 종료 가격과 개시 가격 사이의 관계를 기반으로 시장 트렌드 방향을 결정하고 그에 따라 거래 신호를 생성하는 트렌드 다음 전략입니다.

전략 논리

이 전략의 핵심 논리는 다음과 같습니다.

  1. 마지막 촛불의 시작 가격과 종료 가격을 계산
  2. 개장 가격이 종료 가격보다 낮다면 상승 추세로 판단하고 구매 신호를 생성합니다.
  3. 개장 가격이 종료 가격보다 높으면 하락 추세로 판단하고 판매 신호를 생성합니다.
  4. 거래 신호에 따라 긴 포지션이나 짧은 포지션
  5. 종료 포지션에 Stop Loss 및 Take Profit 가격을 설정합니다

구체적으로, 전략은 마지막 촛불의 개막 가격과 폐쇄 가격 데이터를 요청하고 가격 비교를 기반으로 트렌드 방향을 결정합니다. 상승 추세라면 촛불이 닫을 때 구매 시장을 주문합니다. 하락 추세라면 판매 시장을 주문합니다.

그 후, 스톱 손실 및 수익을 취하는 가격이 설정됩니다. 긴 포지션의 경우, 스톱 손실 가격은 해당 촛불의 개막 가격으로 계수로 곱하고, 수익을 취하는 가격은 현재 폐쇄 가격입니다. 짧은 포지션의 경우 그 반대입니다. 가격이 스톱 손실 또는 수익을 취하면 해당 포지션이 종료됩니다.

이점 분석

  • 단순하고 명확한 전략 논리, 이해하기 쉽고 실행하기 쉬운
  • 마지막 촛불을 사용하여 최신 가격 변화 트렌드를 캡처합니다
  • 하향 리스크를 제한하기 위해 스톱 로스 및 수익을 모두 가져야 합니다.

위험 분석

  • 마지막 촛불은 후퇴 또는 옆으로있을 수 있습니다, 윙사 확률을 증가
  • 단지 마지막 촛불을 기반으로 추세를 판단 함락 될 수 있습니다, 추세 지표를 포함해야합니다
  • 백트테스팅 데이터가 부족하면 과도한 부착으로 이어질 수 있습니다.

확인을 위한 트렌드 지표를 통합하고, 스톱 로스/프로피트 로직을 최적화하고, 백테스트 기간과 시장 환경을 확장함으로써 위험을 줄일 수 있습니다.

최적화 방향

  • 입시 시기를 필터링하기 위해 MA, MACD 등을 포함
  • ATR를 사용하여 스톱 손실 비율을 설정합니다.
  • 트렌드 방향을 결정하기 위해 기계 학습 모델을 도입
  • 스톱 로스/프로피스 취득 전략 최적화, 후속 스톱 로스, 부분 스톱 로스 등

결론

라스트 촛불 전략은 트렌드를 따르는 간단한 전략이다. 마지막 촛불을 사용하여 트렌드 방향을 빠르게 판단하고 그에 따라 거래한다. 논리는 트렌드를 따르는 아이디어와 일치하여 간단하고 구현하기 쉽습니다. 스톱 손실과 수익을 취하는 것도 위험을 제어하도록 설정되어 있습니다. 그러나 마지막 촛불에만 의존하면 쉽게 함정에 빠질 수 있으므로 트렌드 지표와 함께 사용해야합니다. 또한 더 많은 기술적 지표 또는 기계 학습 모델을 도입함으로써이 전략을 개선하는 데 큰 여지가 있습니다.


/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Last Candle Strategy with Date Range", overlay=true)

// Define the start and end dates for the backtest
startDate = timestamp(2015, 01, 01, 00, 00)
endDate = timestamp(2023, 11, 24, 23, 59)

// Check if the current bar is within the specified date range
withinDateRange = time >= startDate and time <= endDate

// If outside the date range, skip the strategy logic
if (not withinDateRange)
    strategy.close_all()

// Calculate the opening and closing values for the last candle
lastCandleOpen = request.security(syminfo.tickerid, "D", open[1], lookahead=barmerge.lookahead_on)
lastCandleClose = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)

// Determine the trade direction based on the last candle
tradeDirection = lastCandleOpen < lastCandleClose ? 1 : -1  // 1 for buy, -1 for sell

// Plot the last candle's opening and closing values on the chart
plot(lastCandleOpen, color=color.blue, title="Last Candle Open")
plot(lastCandleClose, color=color.red, title="Last Candle Close")

// Execute strategy orders
if (withinDateRange)
    if (tradeDirection == 1)
        strategy.entry("Buy", strategy.long)

    if (tradeDirection == -1)
        strategy.entry("Sell", strategy.short)

// Set stop loss and take profit
stopLoss = 0.01 * lastCandleOpen
takeProfit = close

// Exit strategy
strategy.exit("StopLoss/Profit", from_entry="Buy", loss=stopLoss, profit=takeProfit)
strategy.exit("StopLoss/Profit", from_entry="Sell", loss=stopLoss, profit=takeProfit)



더 많은