
A estratégia de stop multiple multiple multiple stop combinando o EMA do indicador e o sinal de stop customizado do pescador permite a negociação de seguimento de tendência. A estratégia gera um sinal de compra quando o EMA de curto período atravessa o EMA de longo período e o sinal de stop é maior que 0. A estratégia configura dois pontos de parada e um ponto de parada dinâmico para bloquear o lucro e controlar o risco.
A estratégia baseia-se em dois indicadores técnicos:
Quando um EMA de curto período atravessa um EMA de longo período, um sinal de compra é gerado. Além disso, a linha de sinal de retorno do pescador também deve ser maior que 0, indicando que está em uma tendência ascendente.
As regras de stop loss e stop loss são as seguintes:
A estratégia pode ser otimizada por meio de ajustes em parâmetros como o ciclo EMA, o ciclo do sinal de rotação do pescador e o ciclo ATR.
A estratégia, combinada com indicadores de rastreamento de tendências e de gestão de riscos, tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
Estes riscos podem ser reduzidos por meio de parâmetros de otimização, combinação de outros indicadores e intervenções humanas.
A estratégia pode ser melhorada em vários aspectos:
O desempenho da estratégia pode ser continuamente melhorado testando diferentes configurações de parâmetros e combinações de indicadores.
A estratégia de pescadores que se voltam para a EMA Multiple Stop Loss Multiple Stop Out, que integra os benefícios do acompanhamento de tendências e do gerenciamento de riscos, é uma estratégia com potencial para otimização de longo prazo que vale a pena ser comprovada. Há muito espaço para otimização de ajustes de parâmetros e combinações de indicadores, esperamos que você obtenha um ganho excedente estável na verificação em campo!
/*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")