Stratégie de suivi de l'élan des prix

Auteur:ChaoZhang est là., Date: 2024-01-03 17h32 et 14h
Les étiquettes:

img

Résumé

Cette stratégie utilise des indicateurs de dynamique de prix pour déterminer la direction du trading. Plus précisément, elle calcule la moyenne mobile et le prix moyen respectivement. Lorsque le prix dépasse la moyenne mobile et le prix moyen, un signal d'achat est généré. Pour filtrer les faux signaux, elle ne nécessite pas de signaux antérieurs similaires.

Principe de stratégie

La stratégie repose principalement sur des indicateurs de dynamique des prix pour juger de la direction de la tendance.

swmaClose = swma(close)
vwapClose = vwap(close) 

Où?swmaest la moyenne mobile lissée etvwapLes deux peuvent refléter le niveau moyen des prix.

Ensuite, comparez le prix avec la moyenne pour voir si le prix dépasse la moyenne mobile et le prix moyen, pour juger s'il s'agit d'un signal haussier:

swmaLong = close > swmaClose 
vwapLong = close > vwapClose

Pour filtrer les faux signaux, il n'est pas nécessaire d'avoir reçu des signaux antérieurs de ces deux indicateurs:

triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1] 

Ensuite, économisez le signal haussier:

saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1] 

Enfin, lorsque le signal de croisement enregistré et le prix franchissent à nouveau la moyenne mobile, générer le signal de position d'ouverture:

startLong = saveLong and swmaLong

Cela peut filtrer certains faux signaux et rendre les signaux plus fiables.

La stratégie contient également des paramètres de stop loss et de take profit.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. L'utilisation d'indicateurs de dynamique des prix permet de mieux juger de la direction de la tendance
  2. La combinaison de deux indicateurs et de la vérification en plusieurs étapes peut filtrer les faux signaux et rendre la stratégie plus fiable
  3. Les paramètres stop loss et take profit sont raisonnables pour contrôler le risque de transaction unique
  4. Les paramètres de stratégie sont configurables pour s'adapter à différents environnements de marché
  5. La logique de la stratégie est simple et directe, facile à comprendre et à mettre en œuvre

Analyse des risques

La stratégie comporte également certains risques:

  1. L'indicateur de moyenne mobile présente un décalage et peut manquer certaines fluctuations de prix
  2. L'effet dépend des paramètres, et différentes combinaisons de paramètres peuvent faire de grandes différences
  3. Il y a relativement peu de signaux d'achat, avec certains risques commerciaux manqués
  4. La vérification en plusieurs étapes filtrera certaines opportunités qui peuvent avoir une incidence sur le niveau de profit.

Les contre-mesures:

  1. Tester différents paramètres de moyenne mobile pour optimiser les paramètres
  2. Légèrement simplifier le jugement logique pour augmenter les signaux d'achat
  3. Ajuster le ratio stop loss et take profit pour contrôler les pertes uniques

Directions d'optimisation

La stratégie peut également être optimisée dans les directions suivantes:

  1. Testez plus d'indicateurs de dynamique des prix tels que le MACD, le DMI, etc.
  2. Ajouter des jugements de signaux de vente pour mettre en œuvre le trading bidirectionnel
  3. Incorporer des indicateurs de volume de négociation afin d'éviter les éventuelles fausses ruptures
  4. Optimiser les paramètres basés sur les résultats des backtests
  5. Envisager d'ajuster automatiquement les paramètres en fonction des conditions du marché
  6. Ajouter des algorithmes d'apprentissage automatique pour obtenir l'optimisation auto-adaptative des paramètres

Ces optimisations peuvent améliorer la flexibilité, la robustesse et la rentabilité de la stratégie.

Résumé

Dans l'ensemble, cette stratégie de suivi de l'élan des prix est une stratégie de suivi de tendance simple, simple et logique. La stratégie utilise des moyennes mobiles des prix et des prix moyens pour déterminer la direction de l'élan des prix, et conçoit un mécanisme de vérification en plusieurs étapes pour améliorer la qualité du signal. La stratégie contient également des paramètres de stop loss et de prise de profit raisonnables. En termes de code, la logique de la stratégie est très concise, nécessitant seulement plus de 20 lignes de script Pine à mettre en œuvre. En résumé, cette stratégie est un très bon exemple d'apprentissage, les débutants peuvent l'utiliser comme un très bon point de départ pour comprendre les stratégies de trading quantitatives. Bien sûr, la stratégie elle-même a également une valeur commerciale pratique.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025)

// How To Create A Simple Trading Strategy With TradingView
// https://docs.google.com/document/d/1fXxCtPuGgTXb-RuBJNbwlfgkeiLTK5060LfTrzRlr5k/view

swmaClose = swma(close)
vwapClose = vwap(close)

swmaLong = close > swmaClose
vwapLong = close > vwapClose

triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]

startLong = saveLong and swmaLong
startLong := input(false, "Consecutive Orders") ? startLong : startLong and not startLong[1]

stopLoss = input(250, "Stop Loss", step = 50)
takeProfit = input(10, "Reward/Risk") * stopLoss

strategy.entry("Open Long", strategy.long, when = startLong)
strategy.exit("Exit Long", "Open Long", profit = stopLoss, loss = takeProfit)

// bgcolor(swmaLong ? color.blue : na)
// bgcolor(vwapLong ? color.orange : na)
// bgcolor(triggerLong ? color.purple : na)
// bgcolor(saveLong ? color.yellow : na)
bgcolor(startLong[1] ? color.green : na)


Plus de