피셔 회전 EMA 다중 취득 및 다중 정지 전략

저자:차오장, 날짜: 2024-01-05 15:40:28
태그:

img

전반적인 설명

피셔 턴어워드 EMA 다중 취득 및 다중 중지 전략은 트렌드 추적 거래를 구현하기 위해 EMA 지표와 사용자 지정 피셔 턴 신호를 결합합니다. 짧은 기간 EMA가 긴 기간 EMA를 넘어서고 피셔 턴 신호가 0보다 높을 때 구매 신호를 생성합니다. 이 전략은 이윤을 잠금하고 위험을 제어하기 위해 두 가지 취득 수준과 한 가지 동적 스톱 손실을 설정합니다. 첫 번째 취득은 2xATR이고 두 번째 3xATR이며 스톱 손실은 1xATR입니다. 첫 번째 취득이 활성화되면 스톱 손실이 진입 가격으로 이동합니다. 이것은 잠재적인 트렌드 거래 기회를 찾기 위해 GDAX 거래소에 적합한 전략입니다.

전략 논리

이 전략은 주로 두 가지 기술 지표에 기반합니다.

  1. EMA: 기하급수적인 이동 평균. 전략은 12 및 26 기간 EMA를 사용합니다.
  2. 사용자 정의 피셔 턴 신호. 이 신호는 특정 기간 동안의 최고와 최저 사이의 차이에 기초하여 계산됩니다.

구매 신호는 짧은 기간 EMA가 긴 기간 EMA를 넘을 때 생성됩니다. 또한 피셔 턴 신호 라인은 현재 상승 추세를 나타내는 0보다 커야합니다.

이윤을 취하고 손실을 멈추는 규칙은 다음과 같습니다.

  1. 먼저 2xATR에서 수익을 얻습니다.
  2. 2차 수익 3xATR
  3. 1xATR에서 손실 중지
  4. 첫 번째 취득이 시작되면 스톱 로스는 엔트리 가격으로 이동합니다.

전략은 EMA 기간, 피셔 턴 신호 기간 및 ATR 기간과 같은 매개 변수를 조정하여 최적화 할 수 있습니다.

장점

트렌드 추적 지표와 리스크 관리 지표를 결합함으로써 이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 트렌드 방향을 파악하기 위해 EMA를 사용
  2. 사용자 정의 피셔 턴 신호 필터 가짜 브레이크
  3. 이윤을 확보하기 위해 여러 가지 수익 수준을 취합니다.
  4. 다이내믹 스톱 로스 (Dynamic stop loss)
  5. 조정 가능한 매개 변수는 다른 시장 환경에 적응합니다

위험성

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

  1. 트렌드 역전 시점
  2. 부적절한 매개 변수 설정으로 인해 지나치게 공격적인 입력 또는 조기 출입
  3. 사용자 정의 피셔 턴 신호는 특정 시장 환경에서 실패할 수 있습니다.

이러한 위험은 매개 변수 최적화, 다른 지표 결합, 수동 개입 등으로 감소 할 수 있습니다.

최적화 방향

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

  1. 더 많은 시장 환경에 적응하기 위해 EMA 기간 매개 변수를 최적화
  2. 구매 신호를 확인하기 위해 다른 트렌드 지표를 추가합니다.
  3. 불확실한 환경을 피하기 위해 전반적인 시장 필터를 통합하십시오.
  4. 피셔 회전 신호 매개 변수를 최적화하거나 다른 사용자 지정 표시기를 시도
  5. 더 많은 수익을 확보하기 위해 더 많은 수익 수준을 추가하십시오.
  6. 자동 추적 중지 손실 기능을 통합

다양한 매개 변수 설정과 지표 조합을 테스트함으로써 전략 성능을 지속적으로 향상시킬 수 있습니다.

결론

피셔 턴어 아웃 EMA 멀티 테이크 프로프트 및 멀티 스톱 전략은 트렌드 추적 및 리스크 관리의 장점을 통합합니다. 장기 검증 및 최적화에 대한 큰 잠재력으로 유망한 전략입니다. 라이브 거래에서 안정적인 우수 성과를 달성하기 위해 매개 변수를 최적화하고 지표를 결합하는 데 여전히 충분한 공간이 있습니다.


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Eliebf13
//@version=4
strategy("GDAX EMA & Blackflag FTS Strategy with Multiple Take Profits and Dynamic Stop Loss", overlay=true)

// Input parameters for Blackflag FTS
fts_length = input(14, title="Blackflag FTS Length")
atr_length = input(14, title="ATR Length")

// GDAX EMA calculation
short = ema(close, 12)
long = ema(close, 26)

// Calculate Blackflag FTS signal line manually
up = 0.0
down = 0.0
for i = 0 to fts_length - 1
    up := up + (high[i] - low[i])
    down := down + (high[i] - low[i])

fts_value = down == 0 ? 100 : 100 - (100 / (1 + (up / down)))

// Buy condition: GDAX EMA crossover and Blackflag FTS signal above zero
buy_condition = crossover(short, long) and fts_value > 0

// ATR calculation
atr_value = atr(atr_length)

// Calculate Stop Loss and Take Profit levels
stop_loss_level = close - atr_value
take_profit_level1 = close + 2 * atr_value
take_profit_level2 = close + 3 * atr_value

// Sell condition: GDAX EMA crossunder or Blackflag FTS signal below zero
sell_condition = crossunder(short, long) or fts_value < 0

// Strategy orders with Multiple Take Profits and Dynamic Stop Loss
strategy.entry("Buy", strategy.long, when = buy_condition)

// Calculate position size for 50% closure at each take profit level
position_size = strategy.position_size
target_position_size1 = position_size * 0.5
target_position_size2 = position_size * 1

strategy.exit("Take Profit 1", from_entry="Buy", loss=close, profit=take_profit_level1, qty=target_position_size1)
strategy.exit("Take Profit 2/Move Stop Loss", from_entry="Buy", loss=close, profit=take_profit_level2, qty=target_position_size2)

// Plot GDAX EMA lines
plot(short, color=#6f92ce, linewidth=2, title="Ema 12")
plot(long, color=#e08937, linewidth=2, title="Ema 26")

// Plot Blackflag FTS signal
plot(fts_value, color=color.blue, title="Blackflag FTS Signal")

// Plot buy and sell signals on the chart
plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(series=sell_condition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")

더 많은