Nadaraya-Watson 봉투와 ROC 지표를 기반으로 한 추세 추종 전략


생성 날짜: 2024-01-19 15:14:23 마지막으로 수정됨: 2024-01-19 15:14:23
복사: 1 클릭수: 2141
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

Nadaraya-Watson 봉투와 ROC 지표를 기반으로 한 추세 추종 전략

개요

이 전략의 이름은 ?? 이중 봉투 트렌드 추적 전략 ?? 이다. 이 전략은 Nadaraya-Watson (NW) 봉투 라인 및 ROC 지표를 사용하여 트렌드 방향을 식별하여 트렌드 추적을 구현한다. NW 봉투 라인이 확장되고 ROC가 긍정할 때 더 많이하고; NW 봉투 라인이 수축하고 ROC가 부정할 때 공백한다. 이 전략은 동시에 손실과 중지 조건을 설정하여 위험을 제어한다.

전략 원칙

이중 봉투 트렌드 추적 전략은 주로 NW 봉투 라인과 ROC 지표에 기반하여 입시 시기를 판단한다. NW 봉투 라인은 가격의 높고 낮은 범위를 묘사하는 데 사용할 수있는 비변수 평준화 기술이다. ROC 지표는 가격 변화의 속도와 강도를 식별 할 수 있습니다.

구체적으로, 이 전략은 먼저 NW 상한선과 하한선을 계산한다. 가격이 NW 상한선을 뚫고 ROC>0일 때, 상향 추세에 있다는 것을 의미하며, 이 때 더 많이 한다. 가격이 NW 하한선을 뚫고 ROC일 때, 하향 추세에 있다는 것을 의미하며, 이 때 공을 한다.

더 많은 상장 후, 이 전략은 중지 손실 및 중지 조건을 설정한다. 중지 손실은 입시 가격 이하의 고정 포인트이며, 중지 손실은 입시 가격 위의 중지 손실 포인트의 일정한 배수이다. 이것은 단일 거래의 위험을 효과적으로 제어 할 수 있다.

전체적으로 볼 때, 이중 봉투 트렌드 추적 전략은 NW 봉투 라인과 ROC 지표의 트렌드 방향을 판단하고, 위험을 제어하기 위해 스톱 스톱을 사용하여 트렌드 추적 거래를 구현합니다.

우위 분석

이중 봉투 트렌드 추적 전략에는 다음과 같은 장점이 있습니다.

  1. NW 봉투선을 사용하여 트렌드 방향을 판단하여 가격 트렌드를 효과적으로 식별하고 가짜 신호를 줄일 수 있습니다.

  2. ROC 지표와 함께 트렌드 강도를 판단하여 불안정한 시장에서 잘못된 거래를 피하십시오.

  3. 스톱로스 을 설정하여 위험을 통제하여 손실이 확대되기 전에 손실을 중지 할 수 있습니다. 또한 일부 수익을 보장합니다.

  4. 이 전략은 적은 매개 변수를 가지고 있으며, 단순하고 이해하기 쉽고 최적화 할 수 있습니다.

  5. 모든 종류의 시장에 적용할 수 있습니다. 외환, 디지털 화폐, 주식 시장 등에도 적용할 수 있습니다.

위험 분석

이중 봉투 트렌드 추적 전략에는 다음과 같은 위험도 있습니다.

  1. 추세를 따라가는 전략은 추세가 역전될 때 큰 손실을 입을 수 있다. 적절한 매개 변수 조정이나 인적 개입으로 탈퇴가 필요하다.

  2. 스톱포인트가 너무 느슨하면 손실이 증가한다. 스톱포인트 수를 적절히 줄일 수 있다.

  3. 높은 변동성이 있는 시장에서, 스톱로스는 돌파될 수 있으며, 이로 인해 손실을 통제할 수 없다. 실시간 스톱로스 또는 동적 스톱로스는 고려할 수 있다.

  4. 이 전략은 거래 비용과 슬라이드 포인트를 고려하지 않습니다. 이것은 고주파 거래에서 손실을 가중시킵니다.

일반적으로, 변수 조정, 최적화된 스톱 로즈 전략, 그리고 적절한 인적 개입을 통해 이러한 위험을 줄일 수 있습니다.

전략 최적화 방향

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

  1. 창 주기, 대역폭 크기 등과 같은 NW 변수를 최적화하여 최적의 변수 조합을 찾습니다.

  2. 창 크기와 같은 ROC 파라미터를 최적화하여 가짜 신호를 줄인다.

  3. KDJ, MACD 등과 같은 다른 지표들을 사용해 트렌드와 입시를 판단하세요.

  4. 기계 학습 알고리즘과 결합된 동적으로 최적화된 스톱 로즈 전략.

  5. 트렌드 반전 신호를 증가시키고 트렌드 반전 시 적극적으로 퇴장한다.

  6. 실전에서의 슬라이드, 수수료, 스톱 로즈 실패 확률 등의 세부사항을 고려하여 실전보다 더 가까운 전략을 수립한다.

매개 변수 최적화, 지표 및 알고리즘의 도입을 통해 전략의 안정성과 수익성을 더욱 높일 수 있습니다.

요약하다

이 전략의 이름은 ?? 이중 서체 트렌드 추적 전략 ?? 이다. 이 전략은 NW 서체 라인 및 ROC 지표를 사용하여 트렌드 방향을 판단하여 진입을 하고, 동시에 스톱 로스 스톱을 설정하여 트렌드 추적 거래를 구현한다. 전략은 간단하고 효과적이며, 장점은 트렌드에 순응할 수 있고, 위험을 통제할 수 있으며, 여러 가지 시장에 적용된다. 단점은 트렌드 반전 중에 손실이 쉽고 반전을 잡기 어려운 것이다.

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

//@version=5
strategy("Combined Strategy", overlay=true)

// --- Nadaraya-Watson Envelope [LUX] ---
length_NW = input.float(500, title='NW Window Size', maxval=500, minval=0)
h_NW = input.float(8.0, title='NW Bandwidth')
mult_NW = input.float(3.0, title='NW Multiplier')
src_NW = input(close, title='NW Source')
up_col_NW = input.color(#39ff14, title='NW Upper Color', inline='col')
dn_col_NW = input.color(#ff1100, title='NW Lower Color', inline='col')
disclaimer_NW = input(false, title='NW Hide Disclaimer')

// --- Rate Of Change (ROC) ---
length_ROC = input.int(9, title='ROC Window Size', minval=1)
source_ROC = input(close, title='ROC Source')

roc = 100 * (source_ROC - source_ROC[length_ROC]) / source_ROC[length_ROC]

// --- Calcola Stop Loss e Take Profit in Pips ---
pip_multiplier = input(0.0001, title="PIP Multiplier")  // Moltiplicatore per convertire da pips a valore numerico

stop_loss_pips = 4
take_profit_multiplier = 2.1

stop_loss_value = close - stop_loss_pips * pip_multiplier
take_profit_value = close + stop_loss_pips * take_profit_multiplier * pip_multiplier

// --- Conditions for Entry ---
entry_condition_long = src_NW + mult_NW * mult_NW > 0 and roc > 0 and close > close[1]
entry_condition_short = src_NW - mult_NW * mult_NW < 0 and roc < 0 and close < close[1]

// --- Strategy Logic ---
if (entry_condition_long)
    strategy.entry("Buy", strategy.long)

if (entry_condition_short)
    strategy.entry("Sell", strategy.short)

if (strategy.position_size > 0)
    strategy.exit("Stop Loss/Profit", from_entry="Buy", loss=stop_loss_value, profit=take_profit_value)

if (strategy.position_size < 0)
    strategy.exit("Stop Loss/Profit", from_entry="Sell", loss=stop_loss_value, profit=take_profit_value)

// --- Plotting ---
plot(roc, color=#2962FF, title="ROC")
hline(0, color=#787B86, title="Zero Line")