저자:차오장, 날짜: 2024-01-19 15:14:23
태그:

img

전반적인 설명

이 전략은 듀얼 앙벨로프 트렌드 포워킹 전략이라고 불린다. 트렌드 포워킹을 위해 나다라야-워튼 (NW) 앙벨로프와 ROC 지표를 사용하여 트렌드 방향을 식별한다. NW 앙벨로프가 확장되고 ROC가 긍정적일 때 길게 갈 것이고, NW 앙벨로프가 수축되고 ROC가 부정적일 때 짧게 갈 것이다. 스톱 손실 및 영업 조건도 위험을 제어하기 위해 구성된다.

전략 논리

이중 봉투 트렌드를 따르는 전략은 주로 NW 봉투와 ROC 지표를 사용하여 입시 신호를 결정합니다. NW 봉투는 가격 높고 낮은 범위를 나타내는 비 파라미터 매끄러운 기술입니다. ROC 지표는 가격 변화 속도와 강도를 식별합니다.

구체적으로, 이 전략은 먼저 NW 봉투의 상단과 하단 한도를 계산합니다. 가격이 NW 상단 한도를 넘어서 ROC>0을 넘으면 상승 추세를 나타냅니다. 가격이 NW 하단 한도를 넘어서 ROC<0을 넘어서 하단 추세를 나타냅니다.

긴 또는 짧은 입력 후, 스톱 손실 및 이익 취득 포인트가 설정됩니다. 스톱 손실은 입력 가격 아래 피프 고정됩니다. 취득은 입력 가격 위의 스톱 손실 피프의 특정 곱셈입니다. 이것은 효과적으로 각 거래의 위험을 제어합니다.

요약하자면, 이중 포지션 트렌드 다음 전략은 트렌드 방향을 판단하기 위해 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")



더 많은