Règles de trading du chaos Stratégie Stop Loss


Date de création: 2023-11-07 16:44:31 Dernière modification: 2023-11-07 16:44:31
Copier: 0 Nombre de clics: 598
1
Suivre
1617
Abonnés

Règles de trading du chaos Stratégie Stop Loss

Aperçu

L’idée centrale de cette stratégie est basée sur la stratégie RSI, avec l’ajout de règles clés de gestion des transactions, y compris les arrêts de perte, les arrêts de rupture, le suivi des arrêts de rupture et le suivi des arrêts de rupture. Cela permet à la stratégie d’obtenir des rendements plus élevés dans des conditions de tendance pendant la période de retracement, tout en minimisant les pertes dans des conditions de choc.

Principe de stratégie

La stratégie commence par calculer l’indicateur RSI, en faisant plus lorsque le RSI est inférieur à la ligne de survente et en faisant moins lorsque le RSI est supérieur à la ligne de survente.

Après plusieurs signaux de déclenchement, le prix le plus élevé à ce moment-là est enregistré comme point de référence pour le suivi du stop loss. Si le prix est inférieur au point de stop loss suivi moins l’amplitude de stop loss, le stop loss est plafonné.

Après le déclenchement du signal d’arrêt, le prix le plus bas à ce moment-là est enregistré comme point de référence pour le suivi du stop loss. Si le prix est supérieur au point d’arrêt de suivi plus l’amplitude du stop loss, le stop loss est placé.

Si le prix atteint la distance d’arrêt, le stop est le dépôt; si la distance d’arrêt est atteinte, le stop est le dépôt.

En outre, il y a une ligne de stop-loss de suivi du levier en fonction de la position du levier. Si le prix touche la ligne de stop-loss de suivi du levier, il y a une rupture de position.

En suivant les arrêts de prix les plus élevés dans une tendance à la hausse et les arrêts de prix les plus bas dans une tendance à la baisse, et en utilisant une distance d’arrêt-stop fixe, vous pouvez obtenir des gains plus élevés dans une tendance à la hausse. En mettant en place un arrêt de suivi de levier, vous pouvez éviter l’expansion des pertes.

Analyse des avantages

Le plus grand avantage de cette stratégie est l’introduction de plusieurs règles de gestion des transactions, qui permettent de mieux contrôler les risques tout en jouant sur les avantages de la stratégie RSI.

Plus précisément, les avantages de la stratégie sont:

  1. Dans une situation de tendance, le suivi des arrêts de perte permet de suivre en permanence les gains de tendance et de générer ainsi des gains plus élevés.

  2. Les stop-loss fixes permettent de bloquer une partie des bénéfices et d’éviter que tous les bénéfices ne soient emprisonnés si la tendance est inversée.

  3. Le suivi des pertes par levier permet d’éviter l’expansion des pertes et de contrôler les risques.

  4. La combinaison de plusieurs méthodes de coupe de perte peut jouer sur leurs propres avantages dans différents environnements de marché, améliorant la stabilité de la stratégie dans son ensemble.

  5. Les paramètres de la stratégie peuvent être adaptés de manière flexible aux différentes variétés de transactions et aux différents environnements de marché.

  6. La logique de la stratégie est claire et facile à comprendre, facile à vérifier, à optimiser et à appliquer.

Analyse des risques

Les principaux risques de cette stratégie proviennent de:

  1. La stratégie RSI elle-même présente un certain risque d’erreur de transaction, et peut être déclenchée par un arrêt de perte. Elle peut être optimisée en ajustant les paramètres RSI.

  2. Les vibrations près du point d’arrêt peuvent déclencher fréquemment l’arrêt. La distance d’arrêt peut être étendue de manière appropriée pour éviter.

  3. La distance d’arrêt ne peut pas être utilisée pour déterminer la valeur de la tendance. Elle peut être combinée avec d’autres indicateurs pour déterminer la fin de la tendance.

  4. L’arrêt fixe peut être trop petit pour éviter complètement les pertes. L’arrêt oscillant ou l’arrêt dynamique peuvent être envisagés.

  5. Un effet de levier trop élevé peut entraîner un stop loss trop proche du prix d’ouverture de la position. Le niveau de levier doit être réduit de manière appropriée.

  6. Les périodes de rétroaction ne peuvent pas être représentatives de la situation future du marché. Il faut bien maîtriser les risques et vérifier l’efficacité des différentes périodes de temps.

Les risques ci-dessus peuvent être atténués par l’ajustement des paramètres, l’optimisation des mécanismes d’arrêt des pertes, le contrôle des risques, etc. Cependant, aucune stratégie ne peut éviter complètement les risques du marché.

Direction d’optimisation

Cette stratégie peut être optimisée dans les directions suivantes:

  1. Optimiser les paramètres RSI et réduire la probabilité de transactions erronées. Les meilleures combinaisons de paramètres pour différents marchés peuvent être testées.

  2. Essayez d’utiliser d’autres indicateurs comme le KD, le MACD, etc. pour déterminer le moment de l’entrée.

  3. Optimisation dynamique des paramètres de stop-loss par l’utilisation de méthodes telles que l’apprentissage automatique.

  4. Essayez des méthodes plus sophistiquées comme l’arrêt oscillant, l’arrêt moyen, l’arrêt dynamique.

  5. Optimiser les paramètres de niveau de levier et les effets des différents levers sur les gains et le contrôle des risques.

  6. Adapte automatiquement les paramètres en fonction de l’évolution de l’environnement du marché, comme α-Dual Thrust.

  7. La persistance de la tendance est évaluée en fonction d’autres facteurs, tels que l’énergie du volume des transactions.

  8. L’utilisation de technologies telles que l’apprentissage en profondeur pour développer des méthodes d’arrêt des pertes plus stables et plus explicables.

  9. Test des données pour différentes variétés et périodes afin d’évaluer la robustesse de la stratégie

Résumer

Cette stratégie est basée sur la stratégie RSI pour ajouter de multiples méthodes de stop loss, jouant pleinement le double rôle de stop loss dans la prise de profit de la tendance et le contrôle du risque. Il y a encore beaucoup d’espace pour l’optimisation de la stratégie, qui peut être abordée de plusieurs façons pour améliorer l’avantage de la stratégie et réduire le risque.

Code source de la stratégie
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Adding some essential components to a prebuilt RSI strategy", overlay=true)

/////////////// Component Code Start ///////////////
testStartYear = input(2011, "Backtest Start Year") 
testStartMonth = input(8, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2016, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(29, "Backtest Stop Day")
// testStopDay = testStartDay + 1
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
/////////////// Component Code Stop ///////////////

///////////// RSI component /////////////
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close

vrsi = rsi(price, length)
notna = not na(vrsi)

/////////////// STRATEGY ///////////////
ts = input(99999, "Trailing Stop") / 100
tp = input(99999, "Take Profit") / 100
sl = input(99999, "Stop Loss") / 100

long = notna and crossover(vrsi, overSold)
short = notna and crossunder(vrsi, overBought)

last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])

long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

last_open_long_signal = long_signal ? open : nz(last_open_long_signal[1])
last_open_short_signal = short_signal ? open : nz(last_open_short_signal[1])

last_long_signal = long_signal ? time : nz(last_long_signal[1])
last_short_signal = short_signal ? time : nz(last_short_signal[1])

in_long_signal = last_long_signal > last_short_signal
in_short_signal = last_short_signal > last_long_signal

last_high = not in_long_signal ? na : in_long_signal and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1])
last_low = not in_short_signal ? na : in_short_signal and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1])

long_ts = not na(last_high) and high <= (last_high - ts) //and high >= last_open_long_signal
short_ts = not na(last_low) and low >= (last_low + ts) //and low <= last_open_short_signal

long_tp = high >= (last_open_long_signal + tp)
short_tp = low <= (last_open_short_signal - tp)

long_sl = low <= (last_open_long_signal - sl)
short_sl = high >= (last_open_short_signal + sl)

leverage = input(200, "Leverage")
long_call = last_open_long_signal - (0.8 + 0.2 * (1/leverage)) / leverage * last_open_long_signal
short_call = last_open_short_signal + (0.78 + 0.2 * (1/leverage)) / leverage * last_open_short_signal
long_call_signal = low <= long_call
short_call_signal = high >= short_call

if testPeriod()
    strategy.entry("Long", strategy.long, when=long_signal)
    strategy.entry("Short", strategy.short, when=short_signal)

    // plot(long_call, color=red)
    // plot(short_call, color=green)
    strategy.close("Long", when=long_call_signal)
    strategy.close("Short", when=short_call_signal)
    strategy.close("Long", when=long_tp)
    strategy.close("Short", when=short_tp)
    strategy.close("Long", when=long_sl)
    strategy.close("Short", when=short_sl)
    strategy.close("Long", when=long_ts)
    strategy.close("Short", when=short_ts)