Stratégie de pause et de retournement


Date de création: 2023-11-03 17:26:53 Dernière modification: 2023-11-03 17:26:53
Copier: 0 Nombre de clics: 633
1
Suivre
1617
Abonnés

Stratégie de pause et de retournement

Aperçu

L’idée principale de cette stratégie est de déterminer la prochaine étape possible du cours après une apparente pause de courte durée dans le cours des actions, puis de déterminer la tendance de consolidation qui s’est formée au cours de la phase d’arrêt de la courbe, afin d’effectuer des opérations de co-opération en conséquence.

Principe de stratégie

  1. La stratégie utilise l’indicateur de l’oscillateur stochastique pour déterminer si le cours d’une action est entré dans la consolidation. L’oscillateur stochastique indique que le cours d’une action est entré dans la consolidation lors d’une zone de survente ou de survente.

  2. Lorsque l’indicateur de l’oscillateur stochastique se déplace, jugez le point de basculement de la tendance en fonction de la direction de l’entité de la ligne K. Lorsque la ligne K passe du négatif au solstice, jugez la fin de la correction, faites plus; lorsque la ligne K passe du négatif au solstice, jugez la fin de la correction, faites moins.

  3. Le stop-loss après avoir fait plus de temps libre est réglé en fonction du point d’entrée, avec un stop-loss mobile.

  4. La stratégie prend en charge les opérations de plein stock et les opérations de fractionnement. Le point de stop-loss fixe est défini pour le plein stock; le point de stop-loss mobile est défini pour le fractionnement.

  5. La stratégie définit également les heures de négociation quotidiennes, et les transactions sont effectuées uniquement pendant la période de temps définie.

Analyse des avantages

  1. L’indicateur Stochastic Oscillator est utilisé pour évaluer les fluctuations du cours d’une action, ce qui permet d’évaluer avec précision la composition à court terme du cours de l’action.

  2. La précision de l’opération peut être améliorée en opérant sur les points de virage de la ligne K après le tremblement.

  3. L’utilisation d’un stop-loss mobile permet de traîner les points de perte en fonction de l’évolution du cours de l’action et de bloquer davantage de bénéfices.

  4. Prise en charge des opérations de plein portefeuille et de fractionnement, en choisissant le mode d’opération approprié en fonction de vos préférences en matière de risque.

  5. Le réglage des heures de négociation permet d’éviter les erreurs lors des fluctuations inhabituelles des cours.

Analyse des risques

  1. L’indicateur stochastique est plus susceptible d’émettre de faux signaux, de manquer des points d’achat et de vente ou de se tromper.

  2. Le point de virage de la ligne K n’est pas précis et peut être utilisé pour des opérations non viratoires.

  3. Les points de rupture mobiles sont des points de rupture qui peuvent être dépassés en fonction des fluctuations du cours de l’action.

  4. Les opérations de fractionnement sont plus risquées, et la reprise du cours des actions peut entraîner une expansion des pertes.

  5. Il est nécessaire d’ajuster les points de rupture et les mouvements en fonction des caractéristiques des différentes actions.

  6. Il est nécessaire d’éviter les effets sur la stratégie des fluctuations anormales du cours des actions causées par des événements majeurs.

Direction d’optimisation

  1. Optimisation des paramètres de l’oscillateur stochastique pour identifier plus précisément les intervalles de correction.

  2. En combinaison avec d’autres indicateurs, confirmer le signal de virage de la ligne K améliore la précision de l’opération.

  3. Optimisation des algorithmes mobiles de stop-loss pour permettre aux points de stop-loss de mieux suivre le cours des actions.

  4. Ajout d’un contrôle de position pour éviter de perdre trop d’actions.

  5. Les prix des actions ont évolué de manière inhabituelle en raison de la publication d’événements majeurs.

  6. L’optimisation des modèles de répartition des positions pour suivre les grandes tendances.

Résumer

La stratégie d’arrêt et de reprise utilise l’indicateur de l’oscillateur stochastique pour identifier le raccourcissement des lignes courtes et effectuer des opérations à un point de basculement du prix après une secousse. Cette stratégie a un taux de victoire élevé et peut être utilisée pour bloquer les gains dans la tendance. Cependant, il existe une possibilité que l’oscillateur stochastique émette un faux signal.

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

//@version=5
strategy('Cross', overlay=true, initial_capital=1000 )

// Creditos : Cleber.martinelli
////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                    CALENDARIO                      //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////

//052)
// trading view solicita que se ja informado data para gerar backtest a partir de tal data
//começa backtest do trading sistem em qual data ?

ano = input.int(2022, minval=1, title="Ano")
mes = input.int(1, minval=1, maxval=12, title="Mes")
dia = input.int(1, minval=1, maxval=31, title="Dia")
hora = input.int(1, minval=1, maxval=23, title="hora")
minuto = input.int(0, minval=0, maxval=59, title="minuto")
horaabertura = input.int(10, minval=1, maxval=23, title="hora Inicio Operacao Robo")
minutoabertura = input.int(40, minval=1, maxval=59, title="Minuto Encerra Tudo")
horaencerra = input.int(17, minval=1, maxval=23, title="hora Fechamento")
minutoencerra = input.int(50, minval=1, maxval=59, title="Minuto Encerra Novas Operacoes")
minutofinaliza = input.int(50, minval=1, maxval=59, title="Minuto Encerra Tudo")

//valida se o dia de hoje é posterior ao dia informado acima
Validadia = year >= ano and month >= mes and dayofmonth >= dia

//cria horario de abertura de negociaçao, considerar default 10 hs, pois os indicadores ja estarão corrigidos
abreloja = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaabertura
//and minute >= minutoabertura)

//cria horario de fechamento de todas as negociaçoes, considerar default 17:00 hs
//nenhuma ordem pode ser aberta depois dessa data e as abertas devem ser fechadas
fechaloja = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaencerra
//and minute >= minutoencerra)

fechaloja2 = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaencerra
//and minute >= minutofinaliza)

//valida horario de negociação, pra liberar as operacoes.
lojaaberta = abreloja == true and fechaloja == false and fechaloja2 == false

////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                 Codigo Operacional                 //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////

// Inputs da Estratégia
pmax = input.int(90, minval=0, maxval=100, title="Estocastico Alvo - Para Short")
pmin = input.int(10, minval=0, maxval=100, title="Estocastico Alvo - Para Buy ")

parcial = input(title="Parcial ? ", defval=true)
p_gain = input.int(150, minval=0, maxval=1000, title="Pontos para Gain ")
p_loss = input.int(150, minval=0, maxval=1000, title="Pontos para Loss")
p_parcial = input.int(50, minval=0, maxval=100, title="Pontos para Parcial ")

// puxando os indicadores que usaremos 
estoc = ta.stoch(close,high,low,5)

if (estoc >=pmax and close < open)
    strategy.entry("Vende", strategy.short ,qty = 2)


if (estoc <=pmax and close > open)
    strategy.entry("Compra", strategy.long ,qty  =  2 )


pm_ativo = strategy.opentrades.entry_price(0)

if strategy.position_size > 0 and parcial// Posicionado na compra 
    if strategy.position_size == 2 // Mão cheia
        if close < pm_ativo - 100
            strategy.exit("Fecha Compra", "Compra", loss=p_loss , qty  =  2 )
        if close > pm_ativo + 50
            strategy.exit("Fecha Compra", "Compra", profit=p_gain , qty  =  1 )
    if strategy.position_size == 1// Mão cheia
        if close < pm_ativo 
            strategy.exit("Fecha Compra", "Compra", loss=0 , qty  =  1 )
        if close > pm_ativo + 100
            strategy.exit("Fecha Compra", "Compra", profit= p_gain * 1.5 , qty  =  1 )    
    
if strategy.position_size < 0 and parcial // Posicionado na Venda 
    if strategy.position_size == -2 // Mão cheia
        if close > pm_ativo - 100
            strategy.exit("Fecha Venda", "Vende", loss=p_loss , qty  =  2 )
        if close < pm_ativo + 50
            strategy.exit("Fecha Venda", "Vende", profit=p_gain , qty  =  1 )
    if strategy.position_size == -1// Mão cheia
        if close > pm_ativo 
            strategy.exit("Fecha Venda", "Vende", loss=0 , qty  =  1 )
        if close < pm_ativo + 100
            strategy.exit("Fecha Venda", "Vende", profit=p_gain*1.5 , qty  =  1 )    
    
if strategy.position_size > 0 and parcial == false // Sem Parcial 
    strategy.exit("Fecha Compra", "Compra", loss=p_loss , profit = p_gain , qty  =  2 )
if strategy.position_size < 0 and parcial == false // Sem Parcial 
    strategy.exit("Fecha Venda", "Vende", loss=p_loss , profit = p_gain , qty  =  2 )