리소스 로딩... 로딩...

이중 촛불 예측 폐쇄 전략

저자:차오장, 날짜: 2024-01-26 10:58:03
태그:

img

전반적인 설명

이 전략의 목적은 지난 2 개의 30 분 촛불의 오픈 및 클로즈 가격을 분석하여 다음 15 분 촛불의 폐쇄 가격을 예측하는 것입니다. 트렌드를 기반으로 다음 15 분 촛불의 트렌드가 계속 상승, 하락 또는 옆으로 갈 것인지 판단합니다.

전략 원칙

이 전략의 핵심 논리는 predictNextCandleClose 함수에 있습니다. 이 함수는 이전 두 개의 30 분 촛불의 오픈 및 폐쇄 가격을 입력 매개 변수로 사용합니다.

마지막 30분 촛불의 폐쇄 가격은 오픈 가격보다 높으면 상승 추세로 판단됩니다. 닫는 가격이 오픈 가격보다 낮다면 하향 추세로 판단됩니다. 두 번째 마지막 30분 촛불도 같은 상승 또는 하향 추세를 보이는 경우 추세가 더 강하다고 간주되며 다음 15분 촛불은 아마도 추세를 계속할 것입니다.

구체적으로, 가장 최근의 두 개의 30분 촛불이 상승세를 보인다면 (폐쇄 가격은 오픈 가격보다 높습니다), 다음 15분 촛불의 예상 폐쇄 가격은 마지막 30분 촛불의 폐쇄 가격과 오픈 가격의 차이로 현재 촛불의 폐쇄 가격보다 높을 것입니다.

가장 최근의 두 개의 30분 촛불 모두 하향 (폐기 가격은 오픈 가격보다 낮습니다) 이면 다음 15분 촛불의 예상 폐쇄 가격은 마지막 30분 촛불의 오픈 가격과 폐쇄 가격의 차이로 현재 촛불의 폐쇄 가격보다 낮을 것입니다.

최근 두 개의 30분 촛불 중 하나가 상승하고 다른 하나는 하락하는 경우 명확한 추세가 없다는 것을 나타냅니다. 이 경우 다음 15분 촛불의 예상 폐쇄 가격은 마지막 30분 촛불의 폐쇄 가격과 동일합니다.

이 방법으로, 그것은 과거의 촛불 정보에 기초하여 미래에 단기 가격 움직임을 예측하고, 거래 결정에 대한 참조로 사용됩니다.

이점 분석

이 이중 촛불 예측 전략은 다음과 같은 장점을 가지고 있습니다:

  1. 간단하고 직관적이며 이해하기 쉽고 구현하기 쉽고 양자 거래 초보자에게 적합합니다.

  2. 이중 촛불을 사용하여 추세를 판단함으로써 소음을 필터링하고 정확도를 향상시킬 수 있습니다.

  3. 15분 레벨 예측은 짧은 시간대를 가지고 있어, 순위를 적시에 조정하는 데 도움이 됩니다.

  4. 현재 가격과 예측된 가격과 결합하여 거래 신호를 결정하면 예상치 못한 사건에 신속하게 대응할 수 있습니다.

  5. 역사적인 데이터가 덜 필요해서 데이터 필요성을 줄이고 불완전한 데이터나 실시간 거래 시나리오에 적합합니다.

위험 분석

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

  1. 그것은 단지 개방 및 폐쇄 가격을 고려하고, 보조 판단으로 더 많은 촛불 세부 사항이 부족하므로 중요한 신호를 놓칠 수 있습니다.

  2. 두 촛불 사이의 간격은 길고, 단기 가격 변동에 적시에 대응할 수 없기 때문에 시간 지연 위험이 있습니다.

  3. 예측은 역사적인 데이터에만 의존하고 있으며, 더 높은 위험을 가진 중요한 예기치 않은 사건의 영향을 판단할 수 없습니다.

  4. 올림/하림 규칙은 매우 간단하고 잘못된 신호를 생성하는 경향이 있으며 신호 품질은 개선되어야합니다.

  5. 실제 거래 데이터에는 종종 틈이 있고, 이는 판단 논리의 정확성에 영향을 줄 수 있습니다.

최적화 방향

위의 위험성들을 고려할 때, 전략은 다음 측면에서 최적화 될 수 있습니다.

  1. 예측 정확성을 향상시키기 위해 MACD, KD 등과 같은 더 많은 보조 지표를 추가하십시오.

  2. 그림자, 실제 몸 등과 같은 더 많은 촛불 세부 사항을 결합하여 중요한 가격 수준을 결정하고 상승 / 하락 규칙을 정제합니다.

  3. 표본 크기를 늘리고 판단 촛불의 시간 범위를 넓혀서 단기적인 소음으로 인한 간섭을 피합니다.

  4. 단일 거래 손실을 제어하기 위해 이동 스톱 손실, 시간 스톱 손실 등과 같은 스톱 손실 메커니즘을 추가하십시오.

  5. 진입 규칙을 최적화하여 트렌드가 명확할 때만 포지션을 열고 불확실한 시장 변동을 피합니다.

  6. 실제 거래 데이터로 백테스트, 실제 가격 움직임에 맞지 않는 논리를 수정하여 전략 매개 변수를 실제 시장에 더 가깝게 만듭니다.

결론

이 전략은 이중 촛불의 개방 및 폐쇄 가격을 분석하여 단기 트렌드를 예측하고 이를 기반으로 거래 신호를 생성합니다. 그것은 역사적 데이터에 기반한 예측 전략에 속합니다. 이 전략은 간단하고 사용하기 쉽습니다. 양자 거래 초보자에게 적합하지만 비교적 간단한 판단 규칙과 제한된 신호 품질과 같은 위험이 있습니다. 우리는 실용적인 성능을 향상시키기 위해 보조 지표, 촛불 세부 사항, 스톱 손실 메커니즘 등 측면으로 최적화 할 수 있습니다. 요약하자면, 이중 촛불 예측 전략은 최적화와 반복 가치가있는 기본 스키마를 제공합니다.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Sosawolf

//@version=5
strategy("Predict Next Candle Close Strategy", overlay=true)

// Function to predict next candle close based on previous two candles
predictNextCandleClose(open1, close1, open2, close2) =>
    if close1 > open1 and close2 > open2
        // Bullish trend, predict next candle close to be bullish
        close1 + (close1 - open1)
    else if close1 < open1 and close2 < open2
        // Bearish trend, predict next candle close to be bearish
        close1 - (open1 - close1)
    else
        // Indecisive or ranging market, predict next candle close to be neutral
        close1

// Get previous two 30-minute candles' open and close prices
open1 = request.security(syminfo.tickerid, "30", open[1])
close1 = request.security(syminfo.tickerid, "30", close[1])
open2 = request.security(syminfo.tickerid, "30", open[2])
close2 = request.security(syminfo.tickerid, "30", close[2])

// Predict next 15-minute candle close
predictedClose = predictNextCandleClose(open1, close1, open2, close2)

// Plot the predicted close as a line
plot(predictedClose, color=color.blue, linewidth=2, title="Predicted Close")

// Buy condition: Predicted close is higher than the current close
buyCondition = predictedClose > close
strategy.entry("Buy", strategy.long, when=buyCondition)

// Sell condition: Predicted close is lower than the current close
sellCondition = predictedClose < close
strategy.entry("Sell", strategy.short, when=sellCondition)


더 많은