Stratégie quantitative basée sur l'indicateur Aroon


Date de création: 2023-09-19 15:47:21 Dernière modification: 2023-09-19 15:47:21
Copier: 0 Nombre de clics: 681
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie utilise uniquement l’indicateur d’Alon pour juger de la direction des tendances du marché et émettre des signaux simples d’achat et de vente. Elle combine la capacité de capture de tendances de l’indicateur d’Alon avec l’objectif de développer un système de négociation mécanique qui repose uniquement sur les jugements de l’indicateur.

Principe de stratégie

  1. Calculer la colonne avec le prix le plus élevé et la colonne avec le prix le plus bas sur 7 jours

  2. Calculer le rapport entre le nombre de colonnes de prix le plus élevé et le nombre total de colonnes comme en-route

  3. Calculer le rapport entre le nombre de colonnades minimales et le nombre total de colonnades en tant que sous-train

  4. Un signal d’achat est généré lorsque la valeur en orbite supérieure est supérieure à la valeur en orbite inférieure.

  5. Produit un signal de vente lorsque la valeur de l’orbite actuelle est supérieure à la valeur de l’orbite supérieure

  6. Contrôler la direction d’entrée spécifique dans les paramètres de stratégie

  7. Le plafonnement des commandes dans les délais impartis

Analyse des avantages

  1. L’indicateur d’Alon est le seul indicateur qui permet d’effectuer des transactions basées uniquement sur des indices.

  2. Les paramètres de l’indicateur sont simples, faciles à comprendre et à optimiser

  3. Options flexibles pour faire plus d’espace libre et s’adapter à différentes variétés

  4. Une période de temps personnalisable pour les retraits ou les transactions en direct

  5. Les signaux de commande sont très clairs et faciles à maîtriser et à exécuter.

Analyse des risques

  1. Un seul indicateur peut générer de faux signaux

  2. L’incapacité à déterminer avec précision les hauts et les bas de la tendance réelle du marché

  3. Il y a un certain retard dans la capture de la transition.

  4. L’incapacité à s’adapter dynamiquement aux changements du marché

  5. Il existe un certain risque de retrait

Direction d’optimisation

  1. Test des variétés et des paramètres de cycle différents

  2. Augmentation des conditions de filtrage pour améliorer la qualité du signal

  3. Les indicateurs de tendance sont combinés pour déterminer les grandes tendances

  4. Développer un mécanisme de sortie dynamique, adapté aux tendances

  5. Optimiser les paramètres et tester une combinaison de plusieurs groupes d’indicateurs

  6. Augmentation des positions et gestion des risques

Résumer

La stratégie fournit des signaux d’achat et de vente simples à l’aide de l’indicateur Alon. Il y a de la place pour l’optimisation pour éviter les signaux trompeurs et le contrôle des risques. Mais l’idée est simple et claire et peut être améliorée en tant que stratégie de base pour le trading quantitatif.

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

//Noro
//2018
//@version=2

strategy(title = "Noro's Aroon Strategy v1.0", shorttitle = "Aroon str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(7, defval = 7, minval = 1, maxval = 1000)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

//Aroon
upper = 200 * (highestbars(high, length+1) + length)/length
lower = 200 * (lowestbars(low, length+1) + length)/length
plot(upper, color=#FF6A00)
plot(lower, color=#0094FF)

//Signals
up = upper > lower
dn = upper < lower

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    
if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
 
if true
    strategy.close_all()