
Cette stratégie est appelée la stratégie de la paire SMA et PSAR. Elle combine les avantages de la moyenne mobile simple (SMA) et de l’indicateur de dérivation parallèle (PSAR) pour déterminer la direction de la tendance du marché et émettre un signal de transaction.
La stratégie utilise le SMA de 100 cycles pour déterminer la direction de la tendance globale. Lorsqu’une hausse du cours de clôture dépasse le SMA 100, elle est définie comme une hausse tendancielle; lorsqu’une baisse du cours de clôture dépasse le SMA 100, elle est définie comme une baisse tendancielle.
En même temps, le calcul de l’indicateur PSAR permet de déterminer les détails du point d’entrée sur le marché. La valeur initiale du PSAR est de 0.02, la valeur croissante est de 0.01, la valeur maximale est de 0.2. Lors d’une tendance haussière, si le PSAR est en dessous du prix de clôture, un signal d’achat est généré; et si le PSAR est supérieur au prix de clôture dans une tendance baissière, un signal de vente est généré.
Dans l’ensemble, si le PSAR est inférieur au prix de clôture, il génère un signal d’achat; si le PSAR est supérieur au prix de clôture, il génère un signal de vente.
Pour réduire le risque de transaction, la stratégie a également mis en place des exits temporels, qui se terminent après 5 minutes de négociation.
Cette stratégie, combinant les indicateurs SMA et PSAR pour déterminer la tendance et le moment de la mise sur le marché, permet d’exploiter efficacement les avantages des deux indicateurs et d’améliorer l’exactitude de la décision. La SMA peut être utilisée pour déterminer les grandes tendances, tandis que le PSAR est plus sensible aux détails des points d’entrée sur le marché.
La mise en place d’une période d’exit permet de maîtriser le risque d’une seule transaction et d’éviter des pertes excessives. Dans l’ensemble, la stratégie est robuste et fiable et convient à la plupart des environnements de marché.
Les indicateurs SMA et PSAR peuvent générer des signaux erronés, entraînant des pertes de trading inutiles.
Le temps de sortie est plus court, ce qui ne permet pas nécessairement de saisir pleinement la tendance.
Les paramètres (paramètres de cycle SMA, paramètres de PSAR, etc.) peuvent ne pas être adaptés à certaines variétés spécifiques et doivent être optimisés.
Risque d’adéquation des données de rétroaction. L’environnement du marché change dans le monde réel et la stratégie peut être moins performante que la rétroaction.
Tester différents paramètres du cycle SMA pour trouver la valeur la plus appropriée pour une variété donnée.
Les tests optimisent les paramètres du PSAR pour qu’il soit plus précis dans le détail de son placement sur le marché.
Paramètre de prolongation de la période d’exit, prolongation appropriée de la période de détention, dans la mesure où la marge est suffisante.
Ajout d’une stratégie de stop loss pour mieux contrôler les pertes maximales sur une seule transaction.
Cette stratégie utilise des indicateurs tels que SMA et PSAR pour déterminer la tendance du marché et le moment de la mise en marché. Elle est solide et fiable et convient à la plupart des environnements de marché.
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="SMA and Parabolic SAR Strategy with Time-Based Exit", shorttitle="SMA+PSAR", overlay=true)
// Define the parameters for the Parabolic SAR
psarStart = 0.02
psarIncrement = 0.01
psarMax = 0.2
// Calculate the 100-period SMA
sma100 = sma(close, 1000)
// Calculate the Parabolic SAR
sar = sar(psarStart, psarIncrement, psarMax)
// Determine the trend direction
isUpTrend = close < sma100
// Buy condition: Up trend and SAR below price
buyCondition = isUpTrend and sar < close
// Sell condition: Down trend and SAR above price
sellCondition = not isUpTrend and sar > close
// Plot the SMA and Parabolic SAR
plot(sma100, color=color.blue, title="100-period SMA")
plot(sar, color=color.red, title="Parabolic SAR")
// Plot buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Strategy entry
strategy.entry("Buy", strategy.long, when = buyCondition)
// Time-based exit after 5 minutes
strategy.exit("Close Buy", from_entry = "Buy", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))
strategy.entry("Sell", strategy.short, when = sellCondition)
// Time-based exit after 5 minutes
strategy.exit("Close Sell", from_entry = "Sell", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))