Fisherman Turn EMA 다중 손절매 다중 이익 실현 전략


생성 날짜: 2024-01-05 15:40:28 마지막으로 수정됨: 2024-01-05 15:40:28
복사: 0 클릭수: 421
1
집중하다
1214
수행원

Fisherman Turn EMA 다중 손절매 다중 이익 실현 전략

개요

어부 회전 EMA 다중 정지 다중 정지 전략은 지표 EMA와 사용자 정의 된 어부 회전 신호를 결합하여 트렌드 추적 거래를 구현합니다. 짧은 주기의 EMA에서 긴 주기의 EMA를 통과하고 어부 회전 신호가 0보다 크면 구매 신호가 발생합니다. 이 전략은 수익을 잠금하고 위험을 제어하기 위해 두 개의 정지 포인트와 한 개의 동적 정지 포인트를 설정합니다.

전략 원칙

이 전략은 크게 두 가지 기술적인 지표에 기초하고 있습니다.

  1. EMA: 지수 이동 평균. 전략에서 12주기 및 26주기 EMA를 사용한다.
  2. 사용자 정의 된 낚시꾼 회전 신호. 이 신호는 일정 주기 동안의 가격의 최고점과 최저점의 차이에 기초하여 계산된다.

단기 EMA에서 장기 EMA를 통과하면 구매 신호가 발생한다. 또한, 어부 회전 신호선은 0보다 크어야 하며, 현재 상승 추세에 있음을 나타낸다.

정지 및 중단 규칙은 다음과 같습니다.

  1. 첫 번째 정지점은 2배의 ATR입니다.
  2. 두 번째 정지점은 ATR의 3배입니다.
  3. ATR의 1배로
  4. 첫 번째 스톱포인트가 트리거되면 스톱포인트는 입시 가격으로 이동합니다.

이 전략은 EMA 주기, 어부 회전 신호 주기, ATR 주기 등의 파라미터를 조정하여 최적화할 수 있다.

전략적 이점

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

  1. 트렌드 방향을 잡기 위해 EMA를 사용합니다.
  2. 사용자 정의 어부 회전 신호 필터링 가짜 돌파구
  3. 이윤을 고정하는 여러 정지점
  4. 동적 정지 제어 위험
  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")