
Cette stratégie est une stratégie de trading quantitatif simple et efficace MACD, spécialement conçue pour le marché des crypto-monnaies, adaptée aux transactions sur des périodes de temps plus longues, telles que 1 heure, 4 heures, 1 jour, etc. La stratégie utilise l’indicateur MACD pour déterminer la direction de la tendance du marché, et en combinaison avec une moyenne mobile simple pour générer un signal de trading. Le plus grand avantage de la stratégie est qu’elle est simple et efficace, facile à comprendre et à mettre en œuvre, particulièrement adaptée au marché des crypto-monnaies très volatil.
La stratégie utilise l’indicateur MACD pour déterminer les tendances du marché et générer des signaux de négociation. Le MACD est composé de lignes rapides, lentes et de colonnes MACD. La ligne rapide est la moyenne mobile à court terme et la ligne lente est la moyenne mobile à long terme.
Il s’agit d’une stratégie très simple et efficace qui présente les avantages suivants:
L’utilisation du MACD pour déterminer la direction du marché, un indicateur d’analyse technique éprouvé et fiable qui permet de déterminer avec précision les tendances;
Le filtrage du signal combiné à une moyenne mobile simple permet d’éviter les faux signaux et d’améliorer la précision du signal.
Le MACD est particulièrement adapté aux marchés hautement volatils, tels que les crypto-monnaies, où il est le plus efficace.
La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre, le seuil est bas et facile à appliquer;
Les transactions peuvent être exécutées à des périodes plus longues, ce qui réduit la fréquence des transactions, les coûts de transaction et l’impact des points de glissement.
Mais cette stratégie comporte aussi des risques, principalement en ce qui concerne les aspects suivants:
L’utilisation d’une moyenne mobile simple comme filtre de signal peut, dans certaines circonstances, manquer les meilleurs moments d’entrée;
L’absence d’une stratégie de stop-loss peut entraîner des pertes individuelles importantes pour le compte.
Il est possible que certains signaux de retard et faux signaux soient générés, entraînant des pertes inutiles;
L’impact sur les bénéfices n’est pas pris en compte dans le temps et la fréquence des transactions.
Ces risques nécessitent une amélioration et une optimisation de la stratégie.
D’après l’analyse des risques ci-dessus, la stratégie peut être optimisée davantage dans les directions suivantes:
Essayez différents paramètres et différentes combinaisons d’indicateurs pour trouver le paramètre optimal.
L’augmentation des stratégies de stop-loss, qui limitent le montant maximal de pertes individuelles;
Optimiser la sélection des heures d’entrée, mettre en place des méthodes de vérification des signaux plus strictes pour assurer l’efficacité des signaux;
Prendre en compte l’impact des différentes heures de négociation et de la fréquence des transactions sur le niveau de profit global.
L’optimisation de ces directions peut considérablement améliorer la stabilité, la rentabilité et la faisabilité de cette stratégie.
Dans l’ensemble, il s’agit d’une stratégie de trading MACD qui présente une grande valeur de combat. Elle est simple, efficace et facile à mettre en œuvre. Elle convient parfaitement à ceux qui souhaitent un accès rapide aux transactions quantifiées.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © SoftKill21
//@version=4
strategy("MACD crypto strategy", overlay=true)
// Getting inputs
//fast_length = input(title="Fast Length", type=input.integer, defval=12)
//slow_length = input(title="Slow Length", type=input.integer, defval=26)
//src = input(title="Source", type=input.source, defval=close)
//signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
//sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
//sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
fast_length = 12
slow_length = 26
src = input(title="Source", type=input.source, defval=close)
signal_length = 9
sma_source = true
sma_signal = false
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
longcondition = hist > 0
shortcondition = hist < 0
//sl = input(0.5, title="SL")
//tp = input(0.1, title="tp")
strategy.entry("long",1,when=longcondition)
strategy.entry("short",0,when=shortcondition)
//strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)
//strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick,alert_message = "closeshort")
// risk = input(2, type=input.float,title="Risk percentage of BALANCE")
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)