La stratégie de rupture de la ligne K est une stratégie de négociation quantitative qui utilise la forme de la ligne K et l’indicateur de force pour acheter et vendre des actions. La stratégie combine plusieurs indicateurs techniques pour identifier la tendance des cours des actions et les signaux de force, pour faire une position à la rupture, pour définir un arrêt de perte et un arrêt de sortie, pour contrôler efficacement le risque de négociation.
La stratégie de percée de la ligne K repose principalement sur les points suivants:
Utilisez l’indice CCI pour déterminer si le cours de l’action est en zone de survente. Considérez comme un signal de survente lorsque le CCI est supérieur à 100 et comme un signal de survente lorsque le CCI est inférieur à 100.
Déterminez la forme de la ligne K et identifiez les signaux de rupture. Lorsque le prix de clôture est supérieur au prix d’ouverture, la ligne K rouge est considérée comme une tendance à la hausse, tandis que la ligne K verte est considérée comme une tendance à la baisse.
Les signaux d’achat et de vente ne sont envisagés que dans le cas d’une augmentation du volume des transactions.
Lorsque la tendance à la hausse est identifiée et que l’indicateur CCI indique une survente, effectuez une opération d’achat. Lorsque la tendance à la baisse est identifiée et que l’indicateur CCI indique une survente, effectuez une opération de vente.
Le stop loss est un point d’arrêt. Après avoir acheté, le stop loss est un point d’arrêt proportionnel pour contrôler le risque de baisse, et le stop stop est également un point d’arrêt proportionnel pour bloquer le profit.
Plus précisément, la stratégie utilise l’indicateur CCI pour juger de la survente, la forme de la ligne K pour juger de la direction de la tendance et le jugement de l’indicateur de volume. Lorsque les conditions sont remplies, effectuez des opérations de longing (acheter pour ouvrir plus de têtes) ou de shorting (vendre pour ouvrir des têtes vides).
La stratégie de perte de la ligne K présente les avantages suivants:
Le CCI permet de déterminer le point d’achat et de vente, la ligne K détermine la direction de la tendance et le volume reflète la direction du marché.
La forme de la ligne K aide à déterminer la direction de la tendance et permet de saisir plus précisément les occasions de reprise des prix. Par exemple, la ligne K rouge combinée au CCI est une survente et une opportunité d’achat.
La mise en place d’un mécanisme de blocage des pertes permet de contrôler efficacement les risques, d’empêcher l’expansion des pertes et de bloquer les bénéfices.
Les signaux de transaction sont pris en compte uniquement lorsque le volume de transactions est élevé, ce qui permet de filtrer les signaux faux.
La stratégie est claire et compréhensible, les paramètres sont flexibles et peuvent être optimisés pour différents stocks et environnements de marché.
Les stratégies peuvent être optimisées à l’échelle, par exemple en ajoutant plus de facteurs, en apprenant à la machine, etc., pour améliorer la stabilité et la rentabilité des stratégies.
La stratégie de perte de la ligne K comporte également les risques suivants:
Les signaux d’achat et de vente émis par l’indicateur CCI peuvent être retardés, ce qui entraîne la perte de l’optimisation de l’entrée. Les paramètres de l’indicateur CCI peuvent être optimisés de manière appropriée pour améliorer la sensibilité.
Les faux signaux de rupture de la forme de la ligne K peuvent entraîner des pertes inutiles. Des indicateurs supplémentaires peuvent être ajoutés pour la confirmation ou pour ajuster le taux d’arrêt.
L’augmentation des volumes de transactions peut aussi être le reflet d’une manipulation du marché, et il est nécessaire de prêter attention à la relation entre les volumes de prix pour éviter d’entrer dans le piège.
Les paramètres statiques de stop-loss peuvent entraîner une perte de vitesse prématurée ou une perte de vitesse plus importante. Il est possible d’ajuster dynamiquement le ratio de stop-loss.
Les paramètres définis pour une action ne s’appliquent pas nécessairement à d’autres actions et doivent être testés et optimisés en fonction des caractéristiques des différentes actions.
Les données de retracement à long terme ne sont pas nécessairement représentatives de la performance du marché réel, et le marché réel doit faire attention aux risques de manipulation.
Cette stratégie peut être optimisée dans les domaines suivants:
Optimisation des paramètres du CCI pour améliorer la sensibilité de l’indicateur CCI aux points d’achat et de vente.
L’ajout d’autres indicateurs auxiliaires, tels que MACD, Bollinger Band, etc., améliore la précision des signaux d’achat et de vente.
L’utilisation d’algorithmes d’apprentissage automatique pour la prévision des points d’achat et de vente est basée sur des données historiques.
La méthode d’arrêt de perte dynamique est utilisée pour ajuster le pourcentage d’arrêt de perte en fonction de la volatilité du marché.
Optimiser la logique de jugement pour augmenter le volume des transactions et éviter les écarts de prix.
Optimiser les paramètres en fonction des différentes caractéristiques des actions et de l’environnement du marché, améliorer la stabilité de la stratégie.
Ajout d’un mécanisme de suivi des tendances pour optimiser les performances des stratégies à différents stades.
Amélioration de la structure des stratégies, introduction de la gestion modulaire et amélioration de la flexibilité et de l’extensibilité du code.
La stratégie de rupture de la ligne K de force est une stratégie de négociation de courte ligne relativement simple et claire dans son ensemble. Elle combine les avantages de plusieurs indicateurs techniques courants, la clarté de la logique de jugement et la facilité de compréhension, le contrôle du risque par le stop loss. La stratégie peut être optimisée de manière flexible en fonction de ses propres besoins pour capturer les retournements de prix de la ligne courte et suivre la tendance à moyen terme.
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 2h
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]War Machine PAT Intra", overlay=true, calc_on_every_tick = false)
// ********** 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=5.0) * 0.01
shortProfitPerc = input(title="Short Take Profit (%)",
type=input.float, minval=0.0, step=0.1, defval=5.0) * 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=5.0) * 0.01
shortLossPerc = input(title="Short Stop Loss (%)",
type=input.float, minval=0.0, step=0.1, defval=5.0) * 0.01
trendFactor = input(title="Trend Factor(Lower means trending)", type=input.integer, minval=1, step=1, defval=50)
oversold = input(title="Oversold", type=input.integer, minval=1, step=1, defval=25)
overbought = input(title="Overbought", type=input.integer, minval=1, step=1, defval=75)
// ********** 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===========================
//Vol Confirmation
vol = volume > volume[1]
//Engulfing candle confirm
bullishEC = close > open[1] and close[1] < open[1]
bearishEC = close < open[1] and close[1] > open[1]
//Candles colors
greenCandle = (close > open)
redCandle = (close < open)
length = input(title="Length", type=input.integer, defval=14, minval=1, maxval=2000)
src = hlc3
upper = sum(volume * (change(src) <= 0 ? 0 : src), length)
lower = sum(volume * (change(src) >= 0 ? 0 : src), length)
_rsi(upper, lower) =>
100.0 - (100.0 / (1.0 + upper / lower))
mf = _rsi(upper, lower)
ci = 100 * log10(sum(atr(1), length) / (highest(length) - lowest(length))) / log10(length)
//tradeSignal = ((rsiOS or rsiOS[1]) and bullishEC) or ((rsiOB or rsiOB[1]) and bearishEC)
//Final Long/Short Condition
longCondition = redCandle and mf < oversold and ci <trendFactor and vol
shortCondition = greenCandle and mf >overbought and ci <trendFactor and vol
//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 **********