Stratégie de direction dynamique de la ligne K


Date de création: 2023-10-25 16:57:05 Dernière modification: 2023-10-25 16:57:05
Copier: 0 Nombre de clics: 643
1
Suivre
1617
Abonnés

Stratégie de direction dynamique de la ligne K

Aperçu

Cette stratégie permet d’évaluer la direction future de la ligne K en analysant la situation où le prix de clôture de la ligne K a été supérieur ou inférieur au prix d’ouverture de la ligne K. Selon la situation où la direction de la ligne K est plus ou moins vide, effectuez des opérations de plus ou de moins.

Principe de stratégie

La logique de cette stratégie est la suivante:

  1. Le paramètre NUM_CANDLES définit le nombre de lignes K à analyser.

  2. Définissez la fonction candle_dir, qui détermine la direction d’une seule ligne K.

  3. Définir la fonction count_candles pour calculer le nombre de lignes K dans les différentes directions dans les lignes K de la racine NUM_CANDLES passées.

  4. Calculer le nombre de lignes K de racine de K de plusieurs têtes, de têtes vides et de K vibrantes dans le passé, stockées dans les fichiers ups, dns et neu.

  5. Définissez l’indic, qui est égal à ups-dns plus le négatif positif de neu。

  6. Le temps de faire plus ou moins selon l’indic.

Cette stratégie permet de prendre des décisions commerciales en calculant la probabilité d’une future orientation de la ligne K en calculant un certain nombre de lignes K. Le paramètre NUM_CANDLES permet de contrôler le nombre de lignes K statistiques et d’ajuster la sensibilité de la stratégie.

Analyse des forces stratégiques

  1. Les idées stratégiques sont claires, faciles à comprendre, à interpréter et à vérifier.

  2. Il n’est pas nécessaire de calculer des indicateurs complexes, il suffit de données en ligne K, ce qui réduit les coûts de calcul.

  3. Le nombre de lignes K statistiques peut être ajusté par paramètres pour contrôler la sensibilité de la stratégie.

  4. Utilisable dans n’importe quelle variété et n’importe quel cycle.

  5. Il est facile d’optimiser les paramètres pour trouver la combinaison optimale de paramètres.

Analyse des risques

  1. Il n’est pas possible de régler un marché instable, ce qui peut entraîner une ouverture ou une fermeture fréquente des positions.

  2. Une mauvaise période statistique peut entraîner un retard de signal et nécessite une configuration raisonnable des paramètres.

  3. L’incapacité à gérer le renversement de la tendance peut entraîner un risque de perte négative.

  4. Il est nécessaire de prendre en compte l’impact sur les coûts de transaction pour éviter les transactions trop fréquentes.

  5. Attention aux paramètres optimisés pour les problèmes de sur-adaptation, il convient de vérifier les retours de marché.

Direction d’optimisation

  1. L’ajout d’une logique de stop-loss peut être envisagé pour réduire le risque de pertes.

  2. Les indicateurs de tendance peuvent être combinés pour éviter les opérations de revers.

  3. Les paramètres d’optimisation permettent d’augmenter la stabilité de la stratégie en augmentant les cycles statistiques ou en utilisant des cycles bas.

  4. Il est possible d’envisager des combinaisons multivariées pour améliorer le taux de réussite stratégique.

  5. Les paramètres d’optimisation automatique peuvent être combinés avec des méthodes d’apprentissage automatique.

Résumer

Cette stratégie est basée sur l’analyse de la direction de la ligne K pour déterminer la direction de la transaction. La stratégie est claire et facile à comprendre. La sensibilité de la stratégie peut être contrôlée par la configuration des paramètres.

Code source de la stratégie
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Refined CandleCounter Strategy by origo", overlay=true)

// how many candles to count
NUM_CANDLES = 7

// determine candle direction
candle_dir = close > open ? 1 : (round(close-open) == 0 ? 0 : -1)

// return # of candles with a given direction
count_candles(dir, max) =>
    count = 0
    for i = 0 to max
        if candle_dir[i] == dir
            count := count + 1
    count

ups = count_candles(1, NUM_CANDLES)
dns = count_candles(-1, NUM_CANDLES)
neu = count_candles(0, NUM_CANDLES)

indic = ups-dns


if indic > 0
    indic := indic+neu
else
    indic := indic-neu

plotarrow(neu, title="UP vs DN")

longCondition = (indic) > 0
shortCondition = (indic) <= 0

strategy.entry("buy", strategy.long, 1, when = longCondition and not shortCondition)
strategy.entry("sell", strategy.short, 1, when = shortCondition and not longCondition)