어부 회전 EMA 다중 정지 다중 정지 전략은 지표 EMA와 사용자 정의 된 어부 회전 신호를 결합하여 트렌드 추적 거래를 구현합니다. 짧은 주기의 EMA에서 긴 주기의 EMA를 통과하고 어부 회전 신호가 0보다 크면 구매 신호가 발생합니다. 이 전략은 수익을 잠금하고 위험을 제어하기 위해 두 개의 정지 포인트와 한 개의 동적 정지 포인트를 설정합니다.
이 전략은 크게 두 가지 기술적인 지표에 기초하고 있습니다.
단기 EMA에서 장기 EMA를 통과하면 구매 신호가 발생한다. 또한, 어부 회전 신호선은 0보다 크어야 하며, 현재 상승 추세에 있음을 나타낸다.
정지 및 중단 규칙은 다음과 같습니다.
이 전략은 EMA 주기, 어부 회전 신호 주기, ATR 주기 등의 파라미터를 조정하여 최적화할 수 있다.
이 전략은 트렌드 추적 지표와 리스크 관리 지표를 결합하여 다음과 같은 장점을 가지고 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
이러한 위험은 최적화 매개 변수, 다른 지표의 조합, 그리고 인적 개입과 같은 방법으로 줄일 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
다양한 매개 변수 설정과 지표 조합을 테스트함으로써 전략 성능을 지속적으로 향상시킬 수 있습니다.
어부들이 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")