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

Tendance à la suite d'une stratégie basée sur les enveloppes Nadaraya-Watson et l'indicateur ROC

Auteur:ChaoZhang est là., Date: 2024-01-19 15h14 et 23h
Les étiquettes:

img

Résumé

La logique de la stratégie

Plus précisément, cette stratégie calcule d'abord la limite supérieure et inférieure des enveloppes NW. Lorsque le prix franchit la limite supérieure NW et que le ROC>0, il indique une tendance haussière, donc il va long. Lorsque le prix franchit la limite inférieure NW et que le ROC<0, il indique une tendance à la baisse, donc il va court.

Après avoir entré long ou court, les points de stop loss et de take profit sont définis. Le stop loss est fixé à des points inférieurs au prix d'entrée. Le take profit est un certain multiplicateur des points de stop loss au-dessus du prix d'entrée. Cela contrôle efficacement les risques pour chaque transaction.

Analyse des avantages

La tendance à la double enveloppe qui suit la stratégie présente les avantages suivants:

  1. L'utilisation d'enveloppes NW pour déterminer la direction de la tendance peut identifier efficacement la tendance des prix et réduire les faux signaux.

  2. La combinaison avec l'indicateur ROC pour juger de la force de la tendance évite de faire des transactions erronées sur des marchés variés.

Analyse des risques

La tendance à la double enveloppe qui suit la stratégie comporte également les risques suivants:

  1. Les stratégies de suivi de tendance sont vulnérables aux pertes importantes lors d'un renversement de tendance.

  2. Dans les marchés à forte volatilité, le stop loss peut être pénétré, ne pouvant pas contrôler les pertes.

  3. Les coûts de transaction et les glissements ne sont pas pris en compte, ce qui peut augmenter les pertes dans le commerce à haute fréquence.

En général, les risques peuvent être réduits par l'optimisation des paramètres, l'amélioration de la stratégie de stop loss et une intervention manuelle appropriée.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Essayez d'autres indicateurs comme le KDJ et le MACD pour juger de la tendance et de l'entrée.

  2. Incorporer des modèles d'apprentissage automatique pour optimiser dynamiquement le stop loss et le profit.

  3. Considérez les détails pratiques comme le glissement, les frais, les probabilités d'échec du stop loss pour rapprocher la stratégie du trading en direct.

Résumé

En résumé, cette stratégie s'appelle Dual Envelope Trend Following Strategy. Elle utilise des enveloppes NW et un indicateur ROC pour déterminer la direction et les entrées de la tendance, et définit un stop loss et un profit pour la tendance après le trading. La stratégie est simple et efficace, bonne pour suivre les tendances et contrôler les risques, et peut être appliquée à divers marchés. Les lacunes sont de graves pertes lors d'inversions de tendance et la difficulté à capturer les inversions. Des améliorations supplémentaires peuvent être apportées grâce à l'optimisation des paramètres, l'intégration d'algorithmes et une intervention manuelle pour améliorer la stabilité.


/*backtest
start: 2023-01-18 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined Strategy", overlay=true)

// --- Nadaraya-Watson Envelope [LUX] ---
length_NW = input.float(500, title='NW Window Size', maxval=500, minval=0)
h_NW = input.float(8.0, title='NW Bandwidth')
mult_NW = input.float(3.0, title='NW Multiplier')
src_NW = input(close, title='NW Source')
up_col_NW = input.color(#39ff14, title='NW Upper Color', inline='col')
dn_col_NW = input.color(#ff1100, title='NW Lower Color', inline='col')
disclaimer_NW = input(false, title='NW Hide Disclaimer')

// --- Rate Of Change (ROC) ---
length_ROC = input.int(9, title='ROC Window Size', minval=1)
source_ROC = input(close, title='ROC Source')

roc = 100 * (source_ROC - source_ROC[length_ROC]) / source_ROC[length_ROC]

// --- Calcola Stop Loss e Take Profit in Pips ---
pip_multiplier = input(0.0001, title="PIP Multiplier")  // Moltiplicatore per convertire da pips a valore numerico

stop_loss_pips = 4
take_profit_multiplier = 2.1

stop_loss_value = close - stop_loss_pips * pip_multiplier
take_profit_value = close + stop_loss_pips * take_profit_multiplier * pip_multiplier

// --- Conditions for Entry ---
entry_condition_long = src_NW + mult_NW * mult_NW > 0 and roc > 0 and close > close[1]
entry_condition_short = src_NW - mult_NW * mult_NW < 0 and roc < 0 and close < close[1]

// --- Strategy Logic ---
if (entry_condition_long)
    strategy.entry("Buy", strategy.long)

if (entry_condition_short)
    strategy.entry("Sell", strategy.short)

if (strategy.position_size > 0)
    strategy.exit("Stop Loss/Profit", from_entry="Buy", loss=stop_loss_value, profit=take_profit_value)

if (strategy.position_size < 0)
    strategy.exit("Stop Loss/Profit", from_entry="Sell", loss=stop_loss_value, profit=take_profit_value)

// --- Plotting ---
plot(roc, color=#2962FF, title="ROC")
hline(0, color=#787B86, title="Zero Line")



Plus de