Stratégie de trading en grille basée sur la théorie océanique
Aperçu
Cette stratégie utilise la méthode de trading en grille issue de la théorie océanique, en répartissant uniformément des lignes de grille dans une fourchette de prix définie, et en effectuant des opérations d'achat et de vente en fonction de la relation entre le prix et les lignes de grille. La stratégie présente des caractéristiques telles que le calcul automatique de la plage de prix de la grille et la distribution uniforme des lignes de grille, permettant de contrôler efficacement le risque.
Principe de la stratégie
La stratégie calcule d'abord les limites supérieure et inférieure de la grille de prix (prix le plus haut et prix le plus bas de la grille) selon le choix de l'utilisateur ou les paramètres par défaut. Deux méthodes de calcul sont disponibles : soit rechercher le plus haut et le plus bas sur la période de backtest, soit calculer une moyenne mobile sur une période donnée. Ensuite, en fonction du nombre de grilles défini par l'utilisateur, les lignes de grille sont réparties uniformément.
La génération des signaux de trading dépend de la relation entre le prix et les lignes de grille. Lorsque le prix est inférieur à une ligne de grille inférieure, une position longue est ouverte sur cette ligne avec une quantité fixe ; lorsque le prix est supérieur à une ligne de grille supérieure, une position est fermée sur cette ligne avec une quantité fixe. Ainsi, au fur et à mesure des fluctuations de prix, la position fluctue à l'intérieur de la grille, générant des profits.
Plus précisément, la stratégie maintient un tableau de prix de lignes de grille et un tableau booléen indiquant si chaque ligne de grille a un ordre en attente. Lorsque le prix est inférieur à une ligne de grille et qu'aucun ordre n'est en attente sur cette ligne, une position longue est ouverte à ce niveau ; lorsque le prix est supérieur à une ligne de grille et qu'un ordre est en attente sur la ligne de grille inférieure, la position est fermée sur cette ligne inférieure. De cette manière, le trading en grille est réalisé.
Avantages de la stratégie
-
Calcul automatique de la plage de grille, évitant les difficultés de réglage manuel. Différentes méthodes de calcul peuvent être choisies.
-
Distribution uniforme des lignes de grille, évitant un trading excessif dû à une grille trop dense. Le nombre de lignes de grille est ajustable.
-
L'utilisation de la méthode de trading en grille permet de contrôler efficacement le risque ; tant que les fluctuations de prix restent dans la grille, des bénéfices peuvent être réalisés.
-
Aucune anticipation directionnelle du prix, adaptée aux marchés en range.
-
Les taux de commission et les tailles de position peuvent être personnalisés pour s'adapter à différents instruments de trading.
-
Affichage visuel des lignes de grille, facilitant le suivi des transactions.
Risques de la stratégie
-
Risque de sortie de la plage de grille. Une sortie des limites supérieure ou inférieure de la grille peut entraîner des pertes accrues.
-
Risque lié à un écartement trop large des grilles. Une grille trop large rend difficile la réalisation de bénéfices, mais une grille trop étroite augmente les frais de commission. Un compromis est nécessaire.
-
Risque de détention prolongée. Une détention longue rend difficile la réalisation de bénéfices tout en augmentant les pertes liées aux frais de commission.
-
Risque de paramétrage inapproprié. Un mauvais réglage des paramètres, comme la période de backtest ou la période de moyenne mobile, peut affecter le calcul de la plage de grille.
-
Risque systémique du marché. Cette stratégie est plus adaptée aux marchés en range qu'aux tendances unidirectionnelles prolongées.
Optimisation de la stratégie
-
Optimisation des paramètres de grille. En tenant compte des caractéristiques du marché et des coûts de transaction, optimiser des paramètres tels que le nombre de grilles et la période de backtest.
-
Ajustement dynamique de la plage de grille. En cas de changements majeurs du marché, un mécanisme d'ajustement dynamique de la plage de grille peut être introduit.
-
Ajout d'un mécanisme de stop-loss. Fixer un niveau de stop-loss raisonnable pour éviter des pertes excessives. Le stop-loss peut également être ajusté dynamiquement.
-
Combinaison avec d'autres indicateurs pour filtrer les transactions. Par exemple, les bandes de Bollinger ou les indicateurs de tendance permettent d'éviter les transactions inappropriées.
-
Optimisation de l'efficacité de l'utilisation des fonds. Intégrer une analyse de chaleur/froid pour réduire les transactions lorsque la volatilité est faible.
Résumé
Cette stratégie utilise le principe du trading en grille pour réaliser des transactions sur des marchés en range avec un risque contrôlé. Elle présente des avantages tels que le calcul automatique de la grille et la distribution uniforme des lignes, et peut être adaptée à différents environnements de marché en ajustant les paramètres. Le risque est maîtrisé et la mise en œuvre est simple. Cependant, la stratégie a aussi certaines limites et nécessite une optimisation continue pour s'adapter aux changements du marché. Dans l'ensemble, elle offre une approche relativement standardisée et paramétrable pour le trading en grille.
/*backtest
start: 2023-09-12 00:00:00
end: 2023-10-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("(IK) Grid Script", overlay=true, pyramiding=14, close_entries_rule="ANY", default_qty_type=strategy.cash, initial_capital=100.0, currency="USD", commission_type=strategy.commission.percent, commission_value=0.1)
i_autoBounds = input(group="Grid Bounds", title="Use Auto Bounds?", defval=true, type=input.bool) // calculate upper and lower bound of the grid automatically? This will theorhetically be less profitable, but will certainly require less attention
i_boundSrc = input(group="Grid Bounds", title="(Auto) Bound Source", defval="Hi & Low", options=["Hi & Low", "Average"]) // should bounds of the auto grid be calculated from recent High & Low, or from a Simple Moving Average- 1
