
Cette stratégie est un système de suivi de tendance multi-signaux basé sur des moyennes mobiles doubles et l’indice de force relative (RSI). La stratégie fonctionne sur une période d’une heure et utilise le croisement des moyennes mobiles à court et à long terme ainsi que les niveaux de surachat et de survente du RSI pour déterminer les tendances du marché et les opportunités de trading. Le système utilise une combinaison de moyenne mobile simple (SMA) sur 9 périodes et 21 périodes, combinée à un indicateur RSI sur 14 périodes, pour créer un système de trading complet de suivi des tendances et de confirmation de la dynamique.
La logique fondamentale de la stratégie repose sur les éléments clés suivants :
Cette stratégie construit un système de trading de suivi de tendance relativement complet en combinant le système de moyenne mobile et l’indicateur RSI. Le concept de conception de stratégie se concentre sur la fiabilité du signal et le contrôle des risques, et convient au trading de tendance à moyen et long terme. Bien qu’il existe certaines limites inhérentes, les performances globales de la stratégie devraient être encore améliorées grâce aux orientations d’optimisation suggérées. Le code de la stratégie est standardisé de manière professionnelle et présente une bonne évolutivité. Il s’agit d’un système de trading qui mérite une étude et une pratique approfondies.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-16 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Vitaliby
//@version=5
strategy("Vitaliby MA and RSI Strategy", overlay=true)
// Входные параметры для настройки
shortMALength = input.int(9, title="Short MA Length")
longMALength = input.int(21, title="Long MA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
// Расчет скользящих средних и RSI
shortMA = ta.sma(close, shortMALength)
longMA = ta.sma(close, longMALength)
rsi = ta.rsi(close, rsiLength)
// Определение условий для входа и выхода
longCondition = ta.crossover(shortMA, longMA) and rsi > rsiOversold
shortCondition = ta.crossunder(shortMA, longMA) and rsi < rsiOverbought
// Отображение сигналов на графике
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)
// Отображение скользящих средних на графике
plot(shortMA, color=color.blue, title="Short MA")
plot(longMA, color=color.orange, title="Long MA")
// Отображение RSI на отдельном окне
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")
// Управление позициями
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.close("Long")
if (shortCondition)
strategy.entry("Short", strategy.short)
if (longCondition)
strategy.close("Short")