
Aperçu
L’idée principale de cette stratégie est d’effectuer des opérations d’achat en surveillant la baisse des prix. Un signal d’achat est déclenché lorsque les prix baissent de plus de 5% par rapport au cycle précédent et un certain nombre de positions sont achetées au prix de clôture actuel.
Principe de stratégie
- Calculer le pourcentage de baisse du cours de clôture actuel par rapport au cours de clôture du cycle précédent.
- Si la baisse est supérieure à 5%, un signal d’achat est déclenché pour acheter un certain nombre de positions au prix de clôture actuel. Le nombre d’achats est calculé en fonction du solde du compte actuel et du prix d’achat.
- Enregistrez le prix et la quantité achetés.
- Le prix actuel étant supérieur au prix d’achat, le placement en position de vente est rentable.
- Calculer les profits et pertes et mettre à jour le solde du compte.
- Les lignes K sont marquées en jaune sur le graphique lorsque le signal d’achat se produit.
Analyse des avantages
- Simple et compréhensible: la logique de la stratégie est claire, facile à comprendre et à mettre en œuvre.
- Capture de tendance: en achetant des variétés à forte baisse, on peut capturer les tendances de rebond à court terme des prix.
- Contrôle des risques: le nombre d’achats est calculé sur la base du solde du compte et du prix actuel, contrôlant la marge de risque de chaque transaction.
- La fin en temps opportun: quand le prix est supérieur au prix d’achat, il faut décider d’aplanir la position, ne pas se battre et maîtriser le risque.
- Intuition: les signaux d’achat sont marqués sur le graphique avec des couleurs spéciales pour faciliter l’observation et l’analyse.
Analyse des risques
- La fréquence des transactions: la stratégie vise principalement les fluctuations à court terme, la fréquence des transactions peut être élevée et l’impact des frais de commission sur les bénéfices doit être pris en compte.
- La profondeur du retrait: il est possible d’être exposé à un certain risque de retrait si le prix baisse de manière significative après l’achat.
- La volatilité des prix: la stratégie dépend principalement de la volatilité des prix, et dans un environnement de marché à faible volatilité, l’efficacité de la stratégie peut être réduite.
- L’équilibre des pertes et des gains: la stratégie n’a pas d’exigences et de contrôles clairs sur les gains et les pertes. La capacité globale d’équilibre des pertes et des gains de la stratégie doit être prise en compte dans le fonctionnement réel.
Direction d’optimisation
- Optimisation des arrêts de perte: la stratégie actuelle ne définit pas de conditions de stop-loss après l’achat. Vous pouvez envisager d’ajouter des logiques de stop-loss, telles que des stop-loss à pourcentage fixe ou des stop-loss ATR, pour contrôler davantage la perte maximale d’une seule transaction.
- Filtrage des signaux: après la génération d’un signal d’achat, il est possible d’ajouter des conditions supplémentaires pour filtrer la qualité du signal, par exemple en combinant des indicateurs tels que le système d’équilibre, le RSI, ou en tenant compte des courbes de prix, de la forme de la courbe, etc., afin d’améliorer la vitesse et la fiabilité du signal.
- Gestion des positions: les stratégies actuelles utilisent des ratios de fonds fixes pour déterminer le nombre d’achats. On peut envisager d’optimiser les modèles de gestion des positions pour qu’ils soient plus dynamiques, par exemple en fonction de la volatilité des prix, de la courbe de valeur nette des comptes, etc.
- Synergie multivariée: l’idée de cette stratégie peut être appliquée à plusieurs variétés, et peut être mieux réalisée par une analyse de la corrélation entre les variétés et la gestion de l’allocation des fonds.
Résumer
La stratégie utilise une baisse de prix à court terme au-delà d’une marge spécifique comme signal d’achat, pour profiter des occasions de rebond des prix. La logique est simple et facile à comprendre. L’avantage de la stratégie réside dans la capture de la tendance et la maîtrise des risques, mais les risques tels que les transactions fréquentes, les retraits profonds et les fluctuations des prix doivent également être pris en compte.
Code source de la stratégie
/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Thgoodtrader
//@version=5
strategy("TGT Falling Buy", overlay=true, margin_long=100, margin_short=100)
var float buy_price = na
var float open_price = na
var float open_weekend = na
var float close_weekend = na
var bool trade=false
var float balance = 1000
// Definir el precio de compra inicial y la cantidad inicial
var float qty = na
// Verificar si el día de la semana es sábado (6) o domingo (0)
es_sabado = dayofweek == 1
es_domingo = dayofweek == 7
es_viernes = dayofweek == 6
// Calcular el valor del saldo inicial
balance_initial = balance
change_percent = ((close - close[1]) / close[1]) * 100
is_last_candle_negative = close < open
is_change_above_threshold = change_percent < -5
// Cambiar el color de la última vela si cumple las condiciones
barcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na)
bgcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na, transp=80)
// Guardar el precio de compra cuando se cumpla la condición del 5%
if is_change_above_threshold
// Calcular la cantidad basada en el precio de compra y el saldo
qty := balance / close
// Guardar el precio de compra
buy_price := close
open_price := open
strategy.entry("Buy Trading",strategy.long,qty)
alert("Comprar BTC", alert.freq_once_per_bar_close)
trade :=true
//if (((close - strategy.position_avg_price) / strategy.position_avg_price) * 100 ) > 2
if close > strategy.position_avg_price
// Calcular el valor de ganancia o pérdida
pnl = (close - strategy.position_avg_price) * qty
// Actualizar el saldo
balance := balance_initial + pnl
strategy.close("Buy Trading")
alertcondition(is_change_above_threshold, title = "Buy 5% Discount", message = "Buy Position")
alertcondition(close > strategy.position_avg_price, title = "Close Trade", message = "Close Buy Position")