Il s'agit d'une stratégie de trading de crypto-monnaie simple basée sur l'indice de force relative (RSI). Il génère des signaux de trading en calculant les valeurs du RSI pour déterminer si le marché est suracheté ou survendu.
La stratégie calcule d'abord la valeur du RSI de 14 jours. Elle juge ensuite si la valeur du RSI est inférieure à 30, la ligne de survente. Si oui, un signal d'achat est généré. Si le RSI dépasse 70, la ligne de surachat, un signal de vente est généré.
Lorsque la valeur du RSI dépasse la ligne de survente, les positions longues sont fermées.
Les risques ci-dessus peuvent être atténués en ajustant dynamiquement les paramètres, en incorporant plusieurs indicateurs et en définissant un stop loss.
La stratégie peut être optimisée par les aspects suivants:
Combiner avec des moyennes mobiles et d'autres indicateurs pour former plusieurs confirmations;
Ajouter des règles de jugement des tendances pour éviter les marchés agités;
définir des règles de taille de transaction ou de stop loss pour contrôler les risques;
Optimiser les paramètres de l'indicateur RSI pour qu'ils s'adaptent à la nature à haute fréquence du crypto trading.
Dans l'ensemble, il s'agit d'une stratégie RSI très basique, générant des signaux de trading en identifiant les niveaux de surachat/survente à l'aide d'un indicateur mature. Les avantages sont la simplicité et des risques pratiques relativement faibles. Mais la dépendance à un seul indicateur rend également les faux signaux probables. Nous pouvons l'étendre et l'optimiser de plusieurs façons pour le rendre plus robuste et adaptatif.
/*backtest start: 2024-02-14 00:00:00 end: 2024-02-21 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Larry Williams Simple Crypto Strategy", overlay=true) // Параметры стратегии length = input(14, title="Length") overboughtLevel = input(70, title="Overbought Level") oversoldLevel = input(30, title="Oversold Level") // Вычисление RSI rsiValue = rsi(close, length) // Определение условий для входа в позицию enterLong = rsiValue < oversoldLevel enterShort = rsiValue > overboughtLevel // Открытие позиции if enterLong strategy.entry("Buy", strategy.long) if enterShort strategy.entry("Sell", strategy.short) // Закрытие позиции if enterLong and rsiValue > oversoldLevel strategy.close("Buy") if enterShort and rsiValue < overboughtLevel strategy.close("Sell") // Отрисовка уровней hline(overboughtLevel, "Overbought", color=color.red) hline(oversoldLevel, "Oversold", color=color.green)