Il s'agit d'une stratégie de trading basée sur les lignes K et D de l'indicateur de l'oscillateur stochastique lissé.
La stratégie est composée des éléments suivants:
Paramètres de l'indicateur
Utilisation d'un RSI à 14 périodes pour générer des lignes K et D de l'indicateur d'oscillateur stochastique lissé, avec une SMA à 3 périodes appliquée sur les lignes K et D.
Génération du signal
Lorsque la ligne K franchit le niveau 20, un signal d'achat est généré pour une entrée longue.
Arrêtez la perte
Le prix d'arrêt de perte est utilisé avec une distance d'arrêt de perte fixe.
Taille de la position
Le nombre de points entre le prix du stop loss et la clôture actuelle est calculé en utilisant le plus bas de la dernière période 20.
De cette façon, la stratégie identifie l'éclatement de l'élan lors d'un renversement de la survente comme signal d'entrée et adopte une taille de position précise et un stop loss de suivi pour l'inversion de l'élan de la transaction, avec un contrôle efficace du risque.
La stratégie présente les avantages suivants:
Signal d'entrée clair sur la sortie de la zone de surachat avec une forte dynamique.
Des mouvements d'arrêt flexibles avec les fluctuations du marché.
La taille précise de la position contrôle le risque de transaction unique.
Stop-loss précis basé sur le plus bas historique.
Une logique de dimensionnement de position simple et claire.
Une logique stratégique simple et claire, facile à comprendre.
Structure de code propre, facile à lire et à modifier.
Il y a quelques risques à cette stratégie:
Fluctuations des prix sous-jacents, déclenchements fréquents de stop loss pendant les marchés volatils.
Le potentiel sur le trading.
Une directionnelle, incapable de profiter d'un mouvement inverse des prix.
Filtrage inefficace des conditions du marché.
Les optimisations suivantes peuvent aider à gérer les risques:
Optimiser les paramètres pour éviter le sur-échange.
Utilisez des entrées par étapes pour réduire le risque d'une direction.
Ajouter une analyse de l'évolution de l'évolution dans un délai plus long pour éviter des conditions de marché défavorables.
Optimiser la stratégie de stop loss pour éviter une sensibilité excessive.
Les aspects suivants de la stratégie peuvent être optimisés:
Optimiser le stop loss en utilisant le stop trailing dynamique, le stop loss par étapes, la moyenne mobile, etc. pour le rendre plus fluide.
Ajoutez l'analyse de la tendance de plus grande période pour éviter les transactions sur les marchés latéraux.
Considérons deux positions directionnelles pour tirer profit des retraits.
Utiliser l'apprentissage automatique pour l'optimisation des paramètres automatiques afin de trouver des paramètres optimaux pour les conditions changeantes du marché.
Optimiser la taille des positions en utilisant des pourcentages fixes, du capital fixe, etc. pour améliorer l'utilisation du capital.
Ajoutez plus de filtres avec des indicateurs comme le volume, les bandes de Bollinger pour améliorer la qualité des signaux de trading.
Dans l'ensemble, il s'agit d'une stratégie de rupture de momentum simple et claire. Elle adopte une approche prudente de stop loss pour contrôler efficacement le risque d'une seule transaction. Mais des optimisations sont encore nécessaires pour mieux adapter la stratégie aux conditions spécifiques du marché, filtrer les signaux inefficaces et atteindre un meilleur équilibre entre rendement et risque.
//@version=2 //descripcion: //entrada en saturacion oscilador estocastico //salida por trailing strategy("MomentumBreak#1", overlay=true,calc_on_every_tick=true, default_qty_type=strategy.fixed,currency="USD") //entradas y variables de indicadores smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) overbought=input(80) oversold=input(20) //entradas de stop , trail, profit stop=input(1500) stop_dentro_de_los_ultimos_lows=input(20) trail_points=input(500) trail_offset=input(100) profit=input(1000) riesgo_en_dolares=input(15) //condicion de compra: k>80 buycondition=crossover(k,oversold) //entrada a la posicion posicionabierta=0 if year>2015 if buycondition stoplow=lowest(stop_dentro_de_los_ultimos_lows) riesgo_en_pips = (close - stoplow) valor_del_pip = (riesgo_en_dolares / riesgo_en_pips) tamanio_de_la_posicion= ( valor_del_pip) //la posicion la esta calculando bien strategy.entry("buy",strategy.long) strategy.exit("salida","buy",trail_points=trail_points,trail_offset=trail_offset,stop=stoplow,comment=tostring(stoplow)) //////////////////////////////////condicion de stop por drodown 10% equity //strategy.risk.max_drawdown(15,strategy.cash) // condicion de stop por perdida mayor a $15 en op abierta //strategy.risk.max_intraday_loss(15,strategy.cash) //formas de tomar stop: // cuando llega a una media movil: strategy.close o strategyentry o strategy.exit o strategy.order // determinado por un numero de pips strategy.exit // determinado por el calculo de la posicion: //tomar el minimo minimo de los ultimos 20 periodos, guardarlo como nivel de stop //calcular la posicion en base a ese stop: //prcio de entrada - precio de stop = pips_en-reisgo //riesgo_e_dolares / pips_en_riesgo = pip_value //position_size=10000 * pip_value