
Cette stratégie est une stratégie de scalping Bitcoin basée sur un cycle de 5 minutes. Elle utilise le croisement d’une moyenne mobile de 9 cycles et de 15 cycles ainsi que la forme de la ligne K comme signal de transaction. Plus précisément, elle génère un signal d’achat lorsque la moyenne mobile rapide traverse la moyenne mobile lente vers le haut et que la ligne K forme un sommet ou une ligne pure.
La stratégie utilise deux moyennes mobiles de différentes périodes pour déterminer les tendances. Les moyennes mobiles à 9 périodes sont plus sensibles et peuvent capturer les tendances à court terme. Les moyennes mobiles à 15 périodes sont plus stables et filtrent une partie du bruit.
En outre, la stratégie est filtrée en combinaison avec la forme de la ligne K. Un signal d’achat est généré uniquement lorsque des lignes K fortes, telles que des lignes de tête ou des lignes de soleil, sont formées. Cela évite de générer un signal de transaction erroné lors de la consolidation.
Les signaux et les règles spécifiques sont les suivants:
Une moyenne mobile à 15 cycles sur une moyenne mobile à 9 cycles, et un angle de la moyenne mobile à 15 cycles supérieur à 30 degrés, indique que la tendance à court terme est passée à la hausse;
Si la ligne K est en forme de courbe ou de courbe pure, ce qui indique une forte tendance à la hausse, un signal d’achat est généré.
La traversée de la moyenne mobile à 9 cycles en dessous de la moyenne mobile à 15 cycles indique que la tendance à court terme est passée à la baisse, ce qui génère un signal de vente, sans qu’il soit nécessaire de juger de la forme de la ligne K;
Le stop loss est de 0,5% et le stop loss est de 0,5%.
Cette stratégie présente les avantages suivants:
Les retraits sont petits et les bénéfices stables. En tant que stratégie de scalping, le stop loss est plus petit, les pertes individuelles sont limitées et il n’y a pas de retraits importants, même en cas de revers du marché.
Les signaux sont plus clairs. Le croisement des moyennes mobiles est combiné avec la forme de la ligne K pour identifier les points de basculement de la tendance et éviter les ruptures inefficaces.
Les règles de signaux stratégiques sont claires, les paramètres sont faciles à régler et conviennent aux transactions algorithmiques.
Convient aux conditions de forte volatilité du Bitcoin. En tant que monnaie numérique, le Bitcoin est très volatil, et les ajustements à court terme sont fréquents. Cette stratégie peut être utilisée pour capturer des opportunités de transactions à court terme.
Cette stratégie comporte aussi des risques:
La tendance à produire de petites pertes à plusieurs reprises. La tendance à la volatilité du bitcoin est forte, la probabilité de déclenchement d’un stop loss est élevée et les arrêts consécutifs entraînent des pertes.
Les paramètres doivent être constamment optimisés. Les paramètres des moyennes mobiles et les paramètres de stop-loss doivent être ajustés en fonction du marché, sinon l’effet est réduit.
L’effet dépend de la tendance. Dans un contexte de consolidation, la stratégie peut générer des transactions fréquentes mais des pertes mineures.
La solution est la suivante:
L’augmentation de la taille des commandes individuelles pour assurer un bon rapport bénéfice/perte;
Pour ce qui est de l’utilisation de l’outil, il est important de noter qu’il n’a pas été conçu pour être utilisé comme un outil de trading.
Identifier la situation afin d’éviter les transactions invalides lors de la liquidation.
La stratégie peut également être optimisée dans les directions suivantes:
l’ajout d’un mécanisme d’adaptation aux arrêts de perte. Par exemple, le suivi des moyennes mobiles pour ajuster les arrêts de perte en temps réel, la modification dynamique des objectifs de profit, etc.;
En combinaison avec d’autres indicateurs de filtrage. Par exemple, l’indicateur RSI détermine le surachat, le survente, l’augmentation du volume des transactions, etc.
Tester différents types de contrats. Utiliser cette stratégie pour effectuer des transactions de scalping sur des types tels que le pétrole brut, les futures d’indices boursiers;
Optimisation des paramètres et de la rétroanalyse pour déterminer les meilleurs paramètres.
Dans l’ensemble, la stratégie est une stratégie efficace de scalping de Bitcoin. Elle est simple et facile à mettre en œuvre, et est hautement configurable. Mais il faut aussi être vigilant sur les risques, contrôler raisonnablement les stop-loss et les positions. De plus, il est possible d’optimiser la stratégie en fonction du marché et de sa propre situation pour obtenir de meilleurs résultats.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Moving Average Crossover Strategy with Candlestick Patterns", overlay=true)
// Define input parameters
fast_length = input(9, "Fast MA Length")
slow_length = input(15, "Slow MA Length")
stop_loss_percent = input(0.5, "Stop Loss (%)")
target_percent = input(0.5, "Target (%)")
angle_threshold = input(30, "Angle Threshold (degrees)")
// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)
// Define candlestick patterns
is_pin_bar() =>
pin_bar = abs(open - close) > 2 * abs(open[1] - close[1])
high_tail = max(open, close) - high > abs(open - close) * 1.5
low_tail = low - min(open, close) > abs(open - close) * 1.5
pin_bar and high_tail and low_tail
is_marubozu() =>
marubozu = abs(open - close) > abs(open[1] - close[1]) * 0.75
no_upper_shadow = high == max(open, close)
no_lower_shadow = low == min(open, close)
marubozu and no_upper_shadow and no_lower_shadow
is_full_body() =>
full_body = abs(open - close) > abs(open[1] - close[1]) * 0.95
full_body
// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
// Calculate angle of slow moving average
ma_angle = abs(180 * (atan(slow_ma[1] - slow_ma) / 3.14159))
// Generate buy/sell signals based on angle condition and candlestick patterns
buy_signal = crossover(fast_ma, slow_ma) and ma_angle >= angle_threshold and (is_pin_bar() or is_marubozu() or is_full_body())
sell_signal = crossunder(fast_ma, slow_ma)
// Calculate stop-loss and target levels
stop_loss_level = close * (1 - stop_loss_percent / 100)
target_level = close * (1 + target_percent / 100)
// Execute trades based on signals with stop-loss and target
strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.exit("Exit", "Buy", stop=stop_loss_level, limit=target_level)
// Plot buy/sell signals on chart (optional)
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Plot angle line
hline(angle_threshold, "Angle Threshold", color=color.black, linestyle=hline.style_dashed)