
La stratégie de stop multiple de l’EMA de la pêcheur et de stop multiple de la pêcheur combinent l’EMA de l’indicateur et le signal de tour de pêcheur personnalisé pour réaliser une transaction de suivi de la tendance. La stratégie génère un signal d’achat lorsque l’EMA de la courte période traverse la longue période et que le signal de tour de pêcheur est supérieur à 0. La stratégie définit deux points d’arrêt et un point d’arrêt dynamique pour verrouiller les bénéfices et contrôler les risques.
La stratégie est basée sur deux indicateurs techniques:
Un signal d’achat est généré lorsque l’EMA à courte période traverse l’EMA à longue période. De plus, la ligne de signal de tournage du pêcheur doit être supérieure à 0, indiquant qu’il est actuellement dans une tendance haussière.
Les règles de stop-loss sont les suivantes:
Cette stratégie peut être optimisée en ajustant des paramètres tels que le cycle EMA, le cycle du signal de virage du pêcheur et le cycle ATR.
Cette stratégie, combinée à des indicateurs de suivi des tendances et à des indicateurs de gestion des risques, présente les avantages suivants:
Cette stratégie comporte aussi des risques:
Ces risques peuvent être atténués par l’optimisation des paramètres, la combinaison d’autres indicateurs et des interventions artificielles.
Cette stratégie peut être optimisée dans les domaines suivants:
L’amélioration continue de la performance de la stratégie peut être obtenue en testant différents paramètres et combinaisons d’indicateurs.
La conversion des pêcheurs vers la stratégie de stop multiple multiple EMA, qui intègre les avantages du suivi des tendances et de la gestion des risques, est une stratégie qui a le potentiel d’être optimisée pour une vérification à long terme. Il y a encore beaucoup de place pour l’optimisation des paramètres et des combinaisons d’indicateurs, et nous espérons que vous obtiendrez des gains supplémentaires stables lors de la vérification en direct!
/*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")