Les ressources ont été chargées... Je charge...

Stratégie de suivi des tendances basée sur la SMA et l'ATR

Auteur:ChaoZhang est là., Date: 2024-01-18 16:04:51 Je suis désolé
Les étiquettes:

img

Nom de la stratégie

La stratégie est nomméeStratégie de suivi des tendances basée sur la SMA et l'ATR.

II. Vue d'ensemble de la stratégie

Cette stratégie utilise l'indicateur SMA pour déterminer la direction de la tendance des prix et définit des positions stop-loss avec l'indicateur ATR pour suivre la tendance.

III. Principe de stratégie

1. Les signaux d'entrée

(1) Passez long lorsque le prix de clôture augmente et est supérieur à la SMA.
2) Faire du short lorsque le prix de clôture baisse et est inférieur à la SMA.

2. Arrêtez le réglage des pertes

Utiliser la valeur de l'indicateur ATR multipliée par le multiple de la perte d'arrêt définie comme position de la perte d'arrêt.

3. Arrêtez la mise à jour avec perte

Après la fermeture de chaque barre, vérifiez la position stop loss et mettez-la à jour à une valeur de stop loss plus proche du prix actuel.

4. Signaux de sortie

Activement arrêter la perte lorsque le prix touche la ligne de stop-loss.

IV. Avantages de la stratégie

1. Une forte capacité de suivi des tendances

Le réglage dynamique de stop loss de l'indicateur ATR permet de suivre automatiquement les tendances.

2. Une bonne maîtrise de la consommation

Des règles de stop loss strictes aident à contrôler le tirage maximum par transaction.

3. Paramètres simples à définir

Seulement 3 paramètres permettent un ajustement et une optimisation faciles.

V. Risques liés à la stratégie

1. le risque d'un stop-loss trop lâche

Si le multiple stop loss est trop élevé, la position stop loss peut être trop lâche, ce qui augmente le drawdown.

2. Risques de fausse éruption

Les faux écarts de prix peuvent conduire à manquer la direction de la tendance.

3. Risques liés à l'optimisation des paramètres

Une dépendance excessive à l'optimisation des paramètres peut entraîner un ajustement des courbes.

VI. Directions de l'optimisation de la stratégie

1. Optimisation de l'algorithme de stop loss

D'autres types d'algorithmes de stop loss peuvent être testés, tels que le stop loss mobile, le stop loss proportionnel, etc.

2. Ajout de signaux filtrants

D'autres indicateurs peuvent être ajoutés pour filtrer les fausses ruptures, par exemple en ajoutant des conditions de volume de négociation.

3. Évaluation de la stabilité des paramètres

Historique des tests antérieurs pour évaluer les paramètres adaptabilité à différents produits et délais.

VII. Résumé

L'idée générale de cette stratégie est claire. Elle juge la direction de la tendance à travers la SMA et utilise l'ATR pour suivre les tendances avec un bon contrôle du retrait. Elle convient au trading de tendance à moyen et long terme. Mais les paramètres doivent encore être correctement ajustés dans le trading en direct et les risques de sur-optimisation doivent être évités.


/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-16 17:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omererkan

//@version=5
strategy(title="SMA with ATR", overlay=true)

smaLen = input.int(100, title="SMA Length")

atrLen     = input.int(10, title="ATR Length")
stopOffset = input.float(4, title="Stop Offset Multiple", step=0.25)


smaValue  = ta.sma(close, smaLen)
stopValue = ta.atr(atrLen) * stopOffset


lowerCloses = close < close[1] and 
     close[1] < close[2] and
     close[2] < close[3]

enterLong = close > smaValue and 
     lowerCloses


longStop = 0.0
longStop := if enterLong and strategy.position_size < 1
    close - stopValue
else
    math.max(close - stopValue, longStop[1])


higherCloses = close > close[1] and 
     close[1] > close[2] and
     close[2] > close[3]

enterShort = close < smaValue and 
     higherCloses


shortStop = 0.0
shortStop := if enterShort and strategy.position_size > -1
    close + stopValue
else
    math.min(close + stopValue, shortStop[1])


plot(smaValue, color=#4169e1, linewidth=2, title="SMA")

plot(strategy.position_size > 0 ? longStop : na, color=color.lime,
     style=plot.style_linebr, title="Long stop", linewidth=2)

plot(strategy.position_size < 0 ? shortStop : na, color=color.red,
     style=plot.style_linebr, title="Short stop", linewidth=2)


if enterLong
    strategy.entry("EL", strategy.long)

if enterShort
    strategy.entry("ES", strategy.short)


if strategy.position_size > 0
    strategy.exit("SL Long", from_entry="EL", stop=longStop)

if strategy.position_size < 0
    strategy.exit("SL Short", from_entry="ES", stop=shortStop)


if enterLong
    strategy.cancel("Exit Short")

if enterShort
    strategy.cancel("Exit Long")


Plus de