Une longue stratégie de percée basée sur la construction de la ligne K

Auteur:ChaoZhang est là., Date: 2024-01-05 12:37:46 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie réalise le trading de rupture de position longue sur la ligne de 4 heures de Tesla en établissant des règles de jugement de modèle de ligne K simples.

Principe de stratégie

La logique de jugement de base de la stratégie est basée sur les règles suivantes:

  1. Le prix le plus bas de la ligne K actuelle est inférieur au prix d'ouverture
  2. Le prix le plus bas de la ligne K actuelle est inférieur au prix le plus bas de la ligne K précédente
  3. Le prix de clôture de la ligne K actuelle 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 au prix de clôture de la ligne K précédente

Lorsque les quatre règles sont respectées en même temps, une opération d'ouverture de position longue est effectuée.

En outre, la stratégie définit également des conditions d'arrêt des pertes et de prise de profit pour fermer les positions lorsque le prix déclenche des conditions d'arrêt des pertes ou de prise de profit.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. Les règles de jugement de la ligne K utilisées sont très simples et directes, faciles à comprendre et à pratiquer.
  2. Il est entièrement basé sur le jugement des entités de prix sans utiliser d'indicateurs techniques trop complexes et les résultats des tests antérieurs sont simples.
  3. La mise en œuvre du code est de petite taille, fonctionne efficacement et est facile à optimiser et à améliorer.
  4. Le stop loss et le take profit peuvent être réglés de manière flexible en ajustant les paramètres pour contrôler les risques.

Analyse des risques

Les principaux risques à prendre en compte sont les suivants:

  1. Une quantité fixe est utilisée pour l'ouverture de positions sans tenir compte de la taille de la position, ce qui peut entraîner des risques de surtrading.
  2. Aucun filtre n'est défini qui pourrait générer trop d'opérations invalides sur les marchés à plage.
  3. Les données insuffisantes des tests antérieurs peuvent fausser le jugement sur le rendement de la stratégie.

Les méthodes suivantes peuvent être adoptées pour atténuer les risques:

  1. Incorporer un modèle de dimensionnement des positions pour ajuster dynamiquement la taille des transactions en fonction de la taille du capital.
  2. Ajouter des filtres commerciaux pour éviter une ouverture désordonnée des transactions dans des conditions de marché instables.
  3. Rassembler plus de données historiques pour prolonger la durée des tests antérieurs et améliorer la fiabilité des résultats.

Directions d'optimisation

Les orientations d'optimisation potentielles de la stratégie sont les suivantes:

  1. Incorporer un module de dimensionnement des positions pour déterminer la taille des transactions en fonction du ratio d'utilisation du capital.
  2. Concevoir des mécanismes de stop-loss et de prise de profit pour des sorties flexibles.
  3. Ajoutez des filtres de transaction pour éviter les transactions invalides.
  4. Optimisez automatiquement les paramètres en utilisant des méthodes d'apprentissage automatique.
  5. Soutenir les échanges sur plusieurs produits.

Conclusion

Cette stratégie réalise le long breakthrough trading en utilisant des règles de modèle de ligne K simples. Bien qu'il reste une certaine marge d'amélioration, du point de vue de la simplicité et de la franchise, c'est une stratégie de position longue très appropriée pour les débutants à comprendre et à utiliser.


/*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)







Plus de