
La stratégie de dépassement des prix les plus élevés d’hier est une stratégie de suivi des tendances qui ouvre des positions multiples lorsque le prix dépasse les prix les plus élevés d’hier, même si plusieurs dépassements sont effectués dans la journée. Elle est principalement caractérisée par le suivi des tendances et s’applique aux situations où le marché présente une tendance évidente et une volatilité élevée.
La stratégie consiste à identifier les moments d’entrée et de sortie en introduisant une série d’indicateurs.
Filtreur de courbe ROC - Une stratégie est déclenchée lorsque la hausse ou la baisse du prix de clôture du jour par rapport au prix de clôture du jour de négociation précédent dépasse le seuil fixé. L’indicateur est utilisé pour filtrer les marchés volatiles qui ne correspondent pas à la stratégie.
Le point de rupture - indique le prix le plus élevé, le prix le plus bas et le prix d’ouverture du jour.
Conditions d’entrée et de sortie - Réglez les stop-loss et les stop-loss après l’entrée, et vous pouvez activer le stop-loss tracking pour verrouiller les bénéfices. Vous pouvez également avoir des stop-loss conditionnels pour des EMA spécifiques.
Optimisation de la configuration - la proportion d’espacement avant l’entrée peut être réglée pour personnaliser le timing de l’entrée, éviter les fausses percées. Les paramètres dynamiques d’arrêt, d’arrêt et de suivi des pertes peuvent être définis.
Plus précisément, la stratégie juge le moment d’entrée en enregistrant le prix le plus élevé de la journée. Lorsque le prix dépasse le prix le plus élevé de la journée, il y a plusieurs entrées. Après cela, un arrêt de perte et un arrêt de sortie sont définis, et un arrêt de suivi peut être activé.
Cette stratégie présente les avantages suivants:
Le but de ce blog est de suivre les tendances et d’en tirer profit.
La stratégie de percée, le signal d’entrée est clair.
En fonction du prix le plus élevé du jour, évitez les entrées consécutives.
Le réglage de l’arrêt des dommages aide à la maîtrise des risques.
Suivez les paramètres de stop-loss et verrouillez les bénéfices.
Les paramètres d’optimisation permettent d’ajuster le temps d’entrée et de contrôler les risques.
La mise en œuvre est simple, intuitive et facile à comprendre.
Les deux directions de la multi-espace sont disponibles.
La stratégie présente également les risques suivants:
Les stratégies de rupture sont facilement emprisonnées. Les prix peuvent revenir immédiatement après l’entrée.
Le taux d’inflation est basé sur les tendances, mais il est faible en cas de choc.
Il est nécessaire d’établir un ratio de stop-loss raisonnable, car une trop grande flexibilité peut augmenter les pertes.
Il est nécessaire d’avoir un ratio raisonnable d’intervalle entre les parties, trop radical peut augmenter les pertes.
La fausse percée peut entraîner des pertes inutiles et nécessite des ajustements et des optimisations.
Il est important de se demander si le volume de transactions atteint par la rupture est suffisant pour soutenir la tendance à venir.
Attention à la coordination entre les paramètres des différentes périodes.
Cette stratégie peut être optimisée dans les domaines suivants:
Ajouter d’autres indicateurs techniques, tels que le volume des transactions, les indicateurs de choc, etc., afin d’éviter d’être piégé dans une situation de choc.
Augmenter les indicateurs de correspondance de la courbe pour juger de la qualité de la tendance et éviter de suivre une fausse tendance.
Optimisation dynamique des paramètres d’intervalles d’entrée, en ajustant les intervalles requis en fonction des fluctuations du marché.
Optimisation dynamique des paramètres de l’arrêt de perte, suivant les paramètres d’ajustement du marché.
Les paramètres sont différents selon les variétés et selon les périodes.
La méthode d’apprentissage automatique TRAINING est utilisée pour tester l’impact de différents paramètres sur la stratégie.
Ajout d’options pour optimiser la configuration
Les chercheurs ont étudié comment appliquer cette stratégie en cas de tremblement de terre.
Étendre la stratégie de combinaison à travers les périodes et les variétés.
Cette stratégie est basée sur la méthode de suivi de la tendance qui consiste à dépasser le sommet de la journée précédente. Elle fonctionne bien dans la tendance. Cependant, il existe des problèmes d’optimisation des paramètres et des risques.
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
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/
// Author: © tumiza 999
// © TheSocialCryptoClub
//@version=5
strategy("Yesterday's High v.17.07", overlay=true, pyramiding = 1,
initial_capital=10000,
default_qty_type=strategy.percent_of_equity, default_qty_value=10,
slippage=1, backtest_fill_limits_assumption=1, use_bar_magnifier=true,
commission_type=strategy.commission.percent, commission_value=0.075
)
// -----------------------------------------------------------------------------
// ROC Filter
// -----------------------------------------------------------------------------
// f_security function by LucF for PineCoders available here: https://www.tradingview.com/script/cyPWY96u-How-to-avoid-repainting-when-using-security-PineCoders-FAQ/
f_security(_sym, _res, _src, _rep) => request.security(_sym, _res, _src[not _rep and barstate.isrealtime ? 1 : 0])[_rep or barstate.isrealtime ? 0 : 1]
high_daily = f_security(syminfo.tickerid, "D", high, false)
roc_enable = input.bool(false, "", group="ROC Filter from CloseD", inline="roc")
roc_threshold = input.float(1, "Treshold", step=0.5, group="ROC Filter from CloseD", inline="roc")
closed = f_security(syminfo.tickerid,"1D",close, false)
roc_filter= roc_enable ? (close-closed)/closed*100 > roc_threshold : true
// -----------------------------------------------------------------------------
// Trigger Point
// -----------------------------------------------------------------------------
open_session = ta.change(time('D'))
price_session = ta.valuewhen(open_session, open, 0)
tf_session = timeframe.multiplier <= 60
bgcolor(open_session and tf_session ?color.new(color.blue,80):na, title = "Session")
first_bar = 0
if open_session
first_bar := bar_index
var max_today = 0.0
var min_today = 0.0
var high_daily1 = 0.0
var low_daily1 = 0.0
var today_open = 0.0
if first_bar
high_daily1 := max_today
low_daily1 := min_today
today_open := open
max_today := high
min_today := low
if high >= max_today
max_today := high
if low < min_today
min_today := low
same_day = today_open == today_open[1]
plot( timeframe.multiplier <= 240 and same_day ? high_daily1 : na, color= color.yellow , style=plot.style_linebr, linewidth=1, title='High line')
plot( timeframe.multiplier <= 240 and same_day ? low_daily1 : na, color= #E8000D , style=plot.style_linebr, linewidth=1, title='Low line')
// -----------------------------------------------------------------------------
// Strategy settings
// -----------------------------------------------------------------------------
Gap = input.float(1,"Gap%", step=0.5, tooltip="Gap di entrata su entry_price -n anticipa entrata, con +n posticipa entrata", group = "Entry")
Gap2 = (high_daily1 * Gap)/100
sl = input.float(3, "Stop-loss", step= 0.5, group = "Entry")
tp = input.float(9, "Take-profit", step= 0.5, group = "Entry")
stop_loss_price = strategy.position_avg_price * (1-sl/100)
take_price = strategy.position_avg_price * (1+tp/100)
sl_trl = input.float(2, "Trailing-stop", step = 0.5, tooltip = "Attiva trailing stop dopo che ha raggiunto...",group = "Trailing Stop Settings")//group = "Trailing Stop Settings")
Atrl= input.float(1, "Offset Trailing", step=0.5,tooltip = "Distanza dal prezzo", group = "Trailing Stop Settings")
stop_trl_price_cond = sl_trl * high/syminfo.mintick/100
stop_trl_price_offset_cond = Atrl * high/syminfo.mintick/100
stop_tick = sl * high/syminfo.mintick/100
profit_tick = tp * high/syminfo.mintick/100
mess_buy = "buy"
mess_sell = "sell"
// -----------------------------------------------------------------------------
// Entry - Exit - Close
// -----------------------------------------------------------------------------
if close < high_daily1 and roc_filter
strategy.entry("Entry", strategy.long, stop = high_daily1 + (Gap2), alert_message = mess_buy)
ts_n = input.bool(true, "Trailing-stop", tooltip = "Attiva o disattiva trailing-stop", group = "Trailing Stop Settings")
close_ema = input.bool(false, "Close EMA", tooltip = "Attiva o disattiva chiusura su EMA", group = "Trailing Stop Settings")
len1 = input.int(10, "EMA length", step=1, group = "Trailing Stop Settings")
ma1 = ta.ema(close, len1)
plot(ma1, title='EMA', color=color.new(color.yellow, 0))
if ts_n == true
strategy.exit("Trailing-Stop","Entry",loss= stop_tick, stop= stop_loss_price, limit= take_price, trail_points = stop_trl_price_cond, trail_offset = stop_trl_price_offset_cond, comment_loss="Stop-Loss!!",comment_profit ="CASH!!", comment_trailing = "TRL-Stop!!", alert_message = mess_sell)
else
strategy.exit("TP-SL", "Entry",loss= stop_tick, stop=stop_loss_price, limit= take_price, comment_loss= "Stop-loss!!!", comment_profit = "CASH!!", alert_message = mess_sell)
if close_ema == true and ta.crossunder(close,ma1)
strategy.close("Entry",comment = "Close" , alert_message = mess_sell)