Stratégie de la boîte blanche pour le robot de la chaîne de prix

Auteur:ChaoZhang est là., Date: 28 février 2024 17:51:14
Les étiquettes:

img

Résumé

La stratégie de la boîte blanche du robot de canal de prix est une stratégie de trading mécanique simple basée sur l'indicateur de canal de prix. Elle utilise les limites supérieure et inférieure du canal de prix pour déterminer les points d'entrée et de sortie.

La logique de la stratégie

La logique de base de la stratégie de la boîte blanche des robots de la chaîne de prix est la suivante:

  1. Utiliser les fonctions supérieure et inférieure pour calculer la plus haute et la plus basse des barres len récentes, définies comme les limites supérieures et inférieures du canal de prix
  2. Calculer le prix moyen du canal de prix: (plus haut + plus bas) / 2
  3. Passer long lorsque le prix dépasse la limite supérieure du canal de prix
  4. Passer à la vente à découvert lorsque le prix dépasse la limite inférieure du canal de prix
  5. Fermeture de position lorsque le prix se rapproche du prix moyen du canal de prix

La stratégie comporte également quelques paramètres configurables:

  • Longueur du canal de prix len: 50 bar par défaut
  • Direction du commerce: long, court peut être configuré séparément
  • Taux de négociation: par défaut 100% du capital du compte
  • Option d'utilisation du prix intermédiaire comme stop loss
  • Heures de négociation: uniquement négociation dans la fourchette de dates configurée

En ajustant ces paramètres, la stratégie peut être mieux adaptée aux différents produits et environnements de marché.

Analyse des avantages

La stratégie de la boîte blanche des robots de la chaîne de prix présente les avantages suivants:

  1. La logique est simple, facile à comprendre et à mettre en œuvre
  2. Utiliser pleinement l'indicateur du canal de prix pour déterminer la tendance et l'inversion
  3. Paramètres hautement configurables pour une meilleure adaptabilité
  4. Mécanisme intégré d'arrêt des pertes pour limiter les pertes
  5. Filtre de temps de support pour éviter les effets des événements majeurs

En résumé, il s'agit d'une stratégie de suivi de tendance simple mais pratique, qui peut obtenir des résultats décents après ajustement des paramètres.

Analyse des risques

La stratégie de la boîte blanche des robots de la chaîne de prix comporte également certains risques:

  1. L'indicateur de canal de prix est sensible aux paramètres len, aux tests indépendants et à l'optimisation nécessaires pour différents délais et produits
  2. Le risque d'arrêt prématuré du suivi des arrêts de perte, la distance d'arrêt de perte doit être ajustée en fonction de la volatilité du marché
  3. Des transactions inutiles excessives sur les marchés à plage et sur les marchés latéraux, augmentant les coûts de transaction et le glissement

Pour réduire ces risques, l'optimisation doit être effectuée dans les aspects suivants:

  1. Utilisez l'analyse de marche pour optimiser automatiquement les paramètres
  2. Ajouter une zone tampon pour arrêter le prix de perte pour éviter d'être arrêté
  3. Ajouter un filtre de tendance pour éviter les transactions sur le marché latéral

Directions d'optimisation

Il existe des possibilités d'optimisation supplémentaire de la stratégie de la boîte blanche du robot de canal de prix:

  1. Ajouter un jugement de tendance à plus long terme pour éviter les transactions contre tendance
  2. Utiliser l'écart de prix entre les produits corrélés pour définir des paramètres et exploiter les opportunités d'arbitrage
  3. Ajouter un tampon aléatoire au prix stop-loss pour réduire les risques d'arrêt
  4. Ajustez dynamiquement le paramètre du canal de prix len en fonction de la volatilité du marché
  5. Formation d'agents avec des méthodes d'apprentissage en profondeur pour optimiser la stratégie pour des produits spécifiques

Ces techniques d'optimisation pourraient contribuer à améliorer encore la stabilité et la rentabilité de la stratégie.

Résumé

La stratégie de la boîte blanche du robot de canal de prix est une stratégie simple mais pratique de suivi des tendances. Elle identifie la direction de la tendance et les points d'inversion en utilisant l'indicateur de canal de prix pour prendre des décisions de trading. La stratégie est facile à comprendre et à mettre en œuvre, et peut obtenir des rendements décents après ajustement des paramètres.


/*backtest
start: 2023-02-21 00:00:00
end: 2024-02-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro

//@version=4
strategy(title = "Robot WhiteBox Channel", shorttitle = "Robot WhiteBox Channel", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstop = input(true, defval = true, title = "Stop-loss")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
len = input(50, minval = 1, title = "Price Channel Length")
showll = input(true, defval = true, title = "Show lines")
showbg = input(false, defval = false, title = "Show Background")
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")

//Price Channel
h = highest(high, len)
l = lowest(low, len)
center = (h + l) / 2

//Lines
pccol = showll ? color.black : na
slcol = showll ? color.red : na
plot(h, offset = 1, color = pccol)
plot(center, offset = 1, color = slcol)
plot(l, offset = 1, color = pccol)

//Background
size = strategy.position_size
bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(bgcol, transp = 70)

//Trading
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
if h > 0
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = h, when = strategy.position_size <= 0 and truetime)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = l, when = strategy.position_size >= 0 and truetime)
    strategy.entry("S Stop", strategy.long, 0, stop = center, when = strategy.position_size[1] <= 0 and needstop)
    strategy.entry("L Stop", strategy.short, 0, stop = center, when = strategy.position_size[1] >= 0 and needstop)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")

Plus de