Cette stratégie combine les indicateurs Ichimoku et MACD, entrant dans les transactions après avoir confirmé l'inversion de tendance.
Calculer la ligne Ichimoku Tenkan pour mesurer la direction de la tendance. Le prix au-dessus indique une tendance haussière, et en dessous une tendance baissière.
La croix de la mort MACD génère un signal de vente en tendance haussière; la croix dorée génère un signal d'achat en tendance baissière.
Combinez le biais de tendance Ichimoku et les signaux d'inversion du MACD pour négocier des inversions de tendance.
Option permettant de régler les heures de négociation, par exemple pas de négociation la nuit ou le week-end, afin d'éviter les risques associés à certaines heures.
Utilisez un stop-loss et un profit appropriés pour bloquer les bénéfices et contrôler les risques.
Ichimoku affiche intuitivement les tendances et les niveaux de support/résistance.
Le MACD capte de façon sensible les renversements de tendance.
La combinaison du biais de tendance et de l'inversion améliore la qualité du signal.
Des horaires de négociation personnalisables permettent d'éviter les risques liés aux événements majeurs.
Stop loss et take profit gère efficacement les risques en capital.
Ichimoku et MACD peuvent générer de faux signaux.
La force d'inversion est inconnue, risque de courir vers le haut et le bas.
Le contrôle des heures de négociation peut manquer certaines opportunités.
Les paramètres de stop loss et de prise de bénéfices incorrects entraînent une sortie prématurée.
L'optimisation des paramètres peut entraîner un surajustement.
Testez les paramètres Ichimoku et MACD pour les combinaisons optimales.
Ajouter d'autres indicateurs pour confirmer les signaux de négociation.
Optimiser les arrêts et les bénéfices pour équilibrer les risques et les rendements.
Évaluer la nécessité de contrôler les heures de négociation et, le cas échéant, se détendre.
Incorporer un filtre de tendance pour éviter les pertes liées aux transactions de renversement.
Cherchez des moyens de mesurer la force d'inversion et la hauteur potentielle de retrait.
Cette stratégie combine le biais de tendance d'Ichimoku et les signaux d'inversion du MACD pour négocier après les inversions de tendance.
/*backtest start: 2022-09-13 00:00:00 end: 2023-09-19 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/ // © Revazi //@version=5 strategy("The Impeccable by zyberal", overlay = true) // Inputs { // Strategy variables IchimokuTenkanPeriod = input(9) IchimokuKijunPeriod = input(190) IchimokuSenkouPeriod = input(52) MACDMainFast = input(3) MACDMainSlow = input(10) MACDMainSmooth = input(9) ExitAfterBars = input(2) ProfitTarget = input(135) StopLoss = input(70) // Trading Options DontTradeOnWeekends = input(true) ExitAtEndOfDay = input(true) DayExitTimeHour = input(23) DayExitTimeMinute = input(04) ExitOnFriday = input(true) FridayExitTimeHour = input(20) FridayExitTimeMinute = input(40) // } // TRADING OPTIONS LOGIC { OpenOrdersAllowed = true // Dont trade on weekends { if DontTradeOnWeekends if dayofweek == dayofweek.saturday or dayofweek == dayofweek.sunday OpenOrdersAllowed := false // } // Exit on close (end of day) { if ExitAtEndOfDay if timeframe.isintraday and time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), DayExitTimeHour, DayExitTimeMinute) OpenOrdersAllowed := false // } // Exit on Friday { if ExitOnFriday if timeframe.isintraday and time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), FridayExitTimeHour, FridayExitTimeMinute) OpenOrdersAllowed := false // } // Rule: Trading signals { openW3 = request.security(syminfo.tickerid, "W", open)[3] middleDonchian(Length) => math.avg(ta.highest(Length), ta.lowest(Length)) Tenkan = middleDonchian(IchimokuTenkanPeriod)[2] [macdLine, signalLine, _] = ta.macd(close, MACDMainFast, MACDMainSlow, MACDMainSmooth) LongEntrySignal = openW3 > Tenkan and ta.crossunder(macdLine, signalLine)[3] //macdLine[3] < signalLine[3] ShortEntrySignal = openW3 < Tenkan and ta.crossover(macdLine, signalLine)[3] //macdLine[3] > signalLine[3] // } // Calculate conditions { IsFlat() => strategy.position_size == 0 IsLong() => strategy.position_size > 0 IsShort() => strategy.position_size < 0 longCondition = OpenOrdersAllowed and not IsLong() and LongEntrySignal shortCondition = OpenOrdersAllowed and not IsShort() and ShortEntrySignal // } // Open positions based on conditions { strategy.order(id = "buy", direction = strategy.long, qty = 1, when = longCondition) strategy.order(id = "sell", direction = strategy.short, qty = 1, when = shortCondition) // }