
La stratégie est un système de négociation basé sur des signaux croisés de moyennes mobiles simples à 1/2/4 cycles (SMA). Elle capte les points de basculement des tendances du marché en observant les courts cycles et les moyennes périodiques intermédiaires par rapport aux moyennes périodiques longues, permettant un suivi de la tendance et un arrêt en temps opportun. La stratégie est conçue pour être simple et efficace, facile à comprendre et à mettre en œuvre.
Le cœur de la stratégie est d’utiliser une moyenne mobile simple de trois périodes différentes (en 1/2/4) pour déterminer un signal d’achat en déterminant si la courte période (en période 1) et la moyenne période (en période 2) traversent simultanément la longue période (en période 4) vers le haut; au contraire, un signal de vente est généré lorsque la courte période et la moyenne période traversent simultanément la longue période vers le bas. Ce mécanisme de confirmation multiple peut réduire efficacement les faux signaux et améliorer l’exactitude des transactions.
La stratégie est conçue pour capturer les tendances du marché par le croisement de multiples moyennes mobiles, la conception est claire, la mise en œuvre est simple et efficace. Bien qu’il existe un certain risque de retard et de faux signaux, il est possible de construire un système de négociation plus complet grâce à une optimisation raisonnable des paramètres et à la complétion d’indicateurs supplémentaires.
/*backtest
start: 2024-10-20 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("1/2/4 Moving Average STR 1.0.0", overlay=true)
o_length = input(1, title="1 Closed")
t_length = input(2, title="2 Closed")
f_length = input(4, title="4 Closed")
// Calculate the simple moving averages.
ma_o = ta.sma(close, o_length)
ma_t = ta.sma(close, t_length)
ma_f = ta.sma(close, f_length)
// Plot the moving averages on the chart.
plot(ma_o, color=color.green, title="1 MA")
plot(ma_t, color=color.red, title="2 MA")
plot(ma_f, color=color.blue, title="4 MA")
// Assign the crossover and crossunder results to global variables.
crossover_o = ta.crossover(ma_o, ma_f)
crossover_t = ta.crossover(ma_t, ma_f)
crossunder_o = ta.crossunder(ma_o, ma_f)
crossunder_t = ta.crossunder(ma_t, ma_f)
// Generate signals based on the global crossover variables.
// Buy signal: both 1 and 2 SMAs cross over the 4 SMA on the same bar.
buy_signal = crossover_o and crossover_t
// Sell signal: both 1 and 2 SMAs cross under the 4 SMA on the same bar.
sell_signal = crossunder_o and crossunder_t
// Enter trades based on the signals.
// For a long position, enter on a buy signal and exit when a sell signal occurs.
if buy_signal
strategy.entry("Long", strategy.long)
if sell_signal
strategy.close("Long")
// For a short position, enter on a sell signal and exit when a buy signal occurs.
if sell_signal
strategy.entry("Short", strategy.short)
if buy_signal
strategy.close("Short")