Stratégie d'engloutissement ouverte inversée


Date de création: 2023-11-22 16:05:24 Dernière modification: 2023-11-22 16:05:24
Copier: 1 Nombre de clics: 615
1
Suivre
1617
Abonnés

Stratégie d’engloutissement ouverte inversée

Aperçu

La stratégie d’opération inverse est une stratégie de trading simple basée sur la première ligne K d’une action. L’idée centrale de cette stratégie est de déterminer la direction de son déclin et de faire des opérations inverses lorsque la première ligne K apparaît après l’ouverture quotidienne.

Principe de stratégie

Le principe de cette stratégie est basé sur la spécificité de la première ligne K après le tirage au sort. Lors du tirage au sort, les forces des deux parties sont les plus intenses et la probabilité d’un renversement est plus élevée. Déterminer la direction de la chute de la première ligne K et faire le contraire est la pensée centrale de la stratégie.

Plus précisément, après l’ouverture d’un nouveau jour, la stratégie enregistre le prix d’ouverture, le prix de clôture et les baisses de la première ligne K. Si le prix d’ouverture est supérieur au prix de clôture (la ligne vert sombre), représentant une victoire de tête blanche, faites plus; si le prix d’ouverture est inférieur au prix de clôture (la ligne rouge) et représente une victoire de tête blanche, faites moins.

Dans le même temps, la stratégie a également mis en place des mécanismes d’arrêt et d’arrêt de perte, y compris le prix d’arrêt plus élevé, le prix d’arrêt plus élevé, le prix d’arrêt de perte et le prix d’arrêt, le contrôle du risque et du profit sur les positions ouvertes, pour éviter des pertes excessives ou une rupture prématurée.

Analyse des avantages

Les avantages d’une stratégie de réciproque de débit et de consommation sont les suivants:

  1. La pensée est simple, claire, facile à comprendre et à mettre en œuvre.

  2. L’opération a été réalisée par l’équipe d’analyse de l’équipe d’analyse de l’équipe d’analyse de l’équipe d’analyse de l’équipe d’analyse.

  3. Le système est équipé d’un stop-loss qui permet de contrôler efficacement les risques.

  4. Les stratégies sont universelles et s’appliquent à la plupart des actions.

  5. Le coût de participation est faible et le contrôle financier facile.

Analyse des risques

Les stratégies de détournement d’actions comportent également des risques, notamment:

  1. Probabilité de défaillance de la rétroaction du disque. Si le signal de rétroaction de la première ligne K ne fonctionne pas, des pertes plus importantes peuvent être causées.

  2. La stratégie ne permet pas de filtrer efficacement les actions de mauvaise qualité. L’analyse fondamentale des actions est insuffisante et il est possible de sélectionner des actions de mauvaise qualité.

  3. L’incapacité à contrôler efficacement les risques systémiques d’événements inattendus, tels que l’impact d’une mauvaise nouvelle majeure.

  4. Un arrêt de perte incorrect peut augmenter les pertes ou réduire les bénéfices.

Direction d’optimisation

Les stratégies de déverrouillage inverse peuvent être optimisées dans les domaines suivants:

  1. Augmentation des tests d’efficacité des signaux de retournement de disque, afin d’éviter les signaux inefficaces. Par exemple, l’analyse de la quantité de trafic combinée.

  2. Le filtrage des stocks de qualité inférieure en combinant les fondamentaux et les indicateurs techniques pour effectuer une sélection optimale des stocks.

  3. Ajout d’un module de surveillance des événements et des informations majeurs pour contrôler les risques systémiques.

  4. L’utilisation d’algorithmes génétiques et d’apprentissage automatique pour optimiser dynamiquement les réglages de l’arrêt de dommages.

Résumer

La stratégie de dévoration du tourbillon inverse consiste à déterminer la direction de la première ligne K et à effectuer des opérations inverses pour tenter de saisir l’occasion de revenir en arrière après l’ouverture du tourbillon. L’idée de la stratégie est simple, le coût de participation est faible et elle a une certaine valeur pratique. Mais nous devons également être vigilants pour en reconnaître les risques et améliorer et optimiser constamment la stratégie dans la pratique pour la rendre plus stable et plus fiable.

Code source de la stratégie
/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © vikris
//@version=4
strategy("[VJ]First Candle Strategy", overlay = true,calc_on_every_tick = true,default_qty_type=strategy.percent_of_equity,default_qty_value=100,initial_capital=750,commission_type=strategy.commission.percent, 
     commission_value=0.02)


// ********** Strategy inputs - Start **********

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
// Important: The end time should be at least 2 minutes before the intraday
// square-off time set by your broker
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Make inputs that set the take profit % (optional)
longProfitPerc = input(title="Long Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01

shortProfitPerc = input(title="Short Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01
     
// Set stop loss level with input options (optional)
longLossPerc = input(title="Long Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01

shortLossPerc = input(title="Short Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01    


// ********** Strategy inputs - End **********


// ********** Supporting functions - Start **********

// A function to check whether the bar or period is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0



// Figure out take profit price
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Determine stop loss price
longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)


// ********** Supporting functions - End **********


// ********** Strategy - Start **********
// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)

// Trade only if intraday session is active

//=================Strategy logic goes in here===========================
 
// If start of the daily session changed, then it's first bar of the new session
isNewDay = time("D") != time("D")[1]
var firstBarCloseValue = close
var firstBarOpenValue = open
if isNewDay
    firstBarCloseValue := close
    firstBarOpenValue := open


greenCandle = firstBarOpenValue < firstBarCloseValue
redCandle = firstBarOpenValue > firstBarCloseValue

buy = redCandle
sell = greenCandle


// plot(firstBarCloseValue)
// plot(firstBarOpenValue)



//Final Long/Short Condition
longCondition = buy
shortCondition =sell
 
//Long Strategy - buy condition and exits with Take profit and SL
if (longCondition and intradaySession)
    stop_level = longStopPrice
    profit_level = longExitPrice
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("TP/SL", "My Long Entry Id", stop=stop_level, limit=profit_level)


//Short Strategy - sell condition and exits with Take profit and SL
if (shortCondition and intradaySession)
    stop_level = shortStopPrice
    profit_level = shortExitPrice
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("TP/SL", "My Short Entry Id", stop=stop_level, limit=profit_level)
 
 
// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")

// ********** Strategy - End **********