Stratégie de breakout longue basée sur la ligne K


Date de création: 2024-01-05 12:37:46 Dernière modification: 2024-01-05 12:37:46
Copier: 0 Nombre de clics: 638
1
Suivre
1621
Abonnés

Stratégie de breakout longue basée sur la ligne K

Aperçu

Cette stratégie permet de réaliser une transaction de rupture de position longue sur la ligne de 4 heures de Tesla en définissant des règles de jugement simples de la forme de la ligne K. La stratégie présente des avantages tels que la simplicité, la clarté logique et la facilité d’intelligence.

Principe de stratégie

La logique de jugement centrale de la stratégie est basée sur les 4 règles de forme de la ligne K suivantes:

  1. Le prix minimum actuel de la ligne K est inférieur au prix d’ouverture
  2. Le prix minimum actuel de la ligne K est inférieur au prix minimum de la ligne K précédente
  3. Le prix de clôture actuel de la ligne K est supérieur au prix d’ouverture
  4. Le prix de clôture de la ligne K actuelle est supérieur au prix d’ouverture et de clôture de la ligne K précédente

Lorsque les 4 règles ci-dessus sont remplies en même temps, les opérations d’ouverture de position dans plusieurs directions sont effectuées.

En outre, la stratégie définit des positions de stop-loss et de stop-loss, qui sont utilisées pour effectuer des opérations de placement lorsque le prix déclenche des conditions de stop-loss ou de stop-loss.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Les règles de jugement utilisées sont très simples et directes, faciles à comprendre et à mettre en pratique.
  2. Le prix est entièrement basé sur les entités, il n’y a pas d’indicateurs techniques trop complexes, et les résultats sont mesurés directement.
  3. La mise en œuvre est basse en code, efficace et facile à optimiser et à améliorer.
  4. Les paramètres peuvent être modifiés pour régler librement les conditions d’arrêt de perte et contrôler le risque.

Analyse des risques

Les principaux risques à prendre en compte sont les suivants:

  1. Le risque d’une survente de la position est possible sans tenir compte de la gestion de la position.
  2. Sans filtres, il est possible de générer trop de transactions non valides lors d’un choc.
  3. Les données de suivi sont insuffisantes, ce qui peut entraîner une mauvaise évaluation de l’efficacité de la stratégie.

Les risques peuvent être atténués par les moyens suivants:

  1. Ajout d’un module de gestion de position pour ajuster dynamiquement le nombre de transactions en fonction de la taille des fonds.
  2. Il a ajouté des conditions de filtrage des transactions pour éviter les positions désordonnées dans les paniers de choc.
  3. La collecte de plus de données historiques, l’élargissement des délais de retour et l’amélioration de la fiabilité des résultats

Direction d’optimisation

Les axes d’optimisation de cette stratégie sont:

  1. Ajout d’un module de gestion des positions pour déterminer la taille des transactions en fonction du taux d’utilisation des fonds.
  2. La conception d’un mécanisme de suivi anti-destruction pour une sortie flexible.
  3. Ajout d’un module de filtrage des transactions pour éviter les transactions invalides
  4. Optimiser automatiquement les paramètres à l’aide de l’apprentissage automatique.
  5. Il est possible d’effectuer des transactions arbitraires sur plusieurs variétés.

Résumer

Cette stratégie permet de réaliser plusieurs transactions de rupture grâce à une simple règle de jugement de la forme de la ligne K. Bien qu’il y ait une certaine marge d’amélioration, la simplicité et la simplicité de cette stratégie sont très appropriées pour les débutants.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © TheQuantScience

//@version=5
strategy("SimpleBarPattern_LongOnly", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.03)

// Make input options that configure backtest date range
startDate = input.int(title="Start Date",
     defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month",
     defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year",
     defval=2017, minval=1800, maxval=2100)

endDate = input.int(title="End Date",
     defval=8, minval=1, maxval=31)
endMonth = input.int(title="End Month",
     defval=3, minval=1, maxval=12)
endYear = input.int(title="End Year",
     defval=2022, minval=1800, maxval=2100)
     
// Look if the close time of the current bar
// Falls inside the date range
inDateRange = true

// Setting Conditions 
ConditionA = low < open 
ConditionB = low < low[1]
ConditionC = close > open
ConditionD = close > open[1] and close > close[1]

FirstCondition = ConditionA and ConditionB 
SecondCondition = ConditionC and ConditionD
IsLong = FirstCondition and SecondCondition

TakeProfit_long = input(4.00)
StopLoss_long = input(4.00)
Profit = TakeProfit_long*close/100/syminfo.mintick
Loss = StopLoss_long*close/100/syminfo.mintick

EntryCondition = IsLong and inDateRange

// Trade Entry&Exit Condition 
if EntryCondition and strategy.opentrades == 0
    strategy.entry(id = 'Open_Long', direction = strategy.long)
    strategy.exit(id = "Close_Long", from_entry = 'Open_Long', profit = Profit, loss = Loss)