Stratégie de trading quantitative des bénéfices non réalisés relatifs EMA100 et NUPL

EMA
Date de création: 2024-06-17 14:55:13 Dernière modification: 2024-06-17 14:55:13
Copier: 0 Nombre de clics: 575
1
Suivre
1617
Abonnés

Stratégie de trading quantitative des bénéfices non réalisés relatifs EMA100 et NUPL

Aperçu

La stratégie de négociation est basée sur la moyenne mobile de l’indice à 100 cycles (EMA100), les bénéfices/pertes nets non réalisés (NUPL) et les trois indicateurs de bénéfices relativement non réalisés, pour générer un signal de négociation en jugeant le croisement du prix avec l’EMA100 et le négatif du NUPL et des bénéfices relativement non réalisés. Un signal de multiplication est déclenché lorsque le prix atteint l’EMA100 et que le NUPL et le bénéfice relativement non réalisé sont positifs; un signal de vide est déclenché lorsque le prix atteint l’EMA100 et que le NUPL et le bénéfice relativement non réalisé sont négatifs.

Principe de stratégie

  1. Calcul des EMA à 100 cycles comme indicateur principal de tendance
  2. Utilisation de la NUPL et du bénéfice relatif non réalisé comme indicateurs auxiliaires pour confirmer la force et la durabilité de la tendance
  3. Le NUPL et le profit relativement inexploité génèrent simultanément des signaux de plus/de moins pour les heures positives/négatives au moment où le prix franchit/dépasse l’EMA100
  4. Utilisez une position fixe de 10% et un arrêt de 10% pour contrôler le risque
  5. Lorsqu’il détient une position en plus, il annule la position en plus si le prix dépasse le prix de rupture; lorsqu’il détient une position en moins, il annule la position en moins si le prix dépasse le prix de rupture

Analyse des avantages

  1. Simple et compréhensible: la logique de la stratégie est claire, les indicateurs techniques courants sont utilisés, elle est facile à comprendre et à mettre en œuvre
  2. Suivi des tendances: capture des tendances majeures à l’aide de l’EMA100, adaptée à une utilisation sur un marché tendance
  3. Contrôle des risques: définir des positions fixes et des arrêts pour contrôler efficacement les risques
  4. Adaptabilité: la stratégie peut être appliquée à différents marchés et indices

Analyse des risques

  1. Faux signaux: dans un marché en turbulence, des croisements fréquents avec l’EMA100 peuvent générer plus de faux signaux, entraînant des pertes
  2. L’EMA, en tant qu’indicateur de retard, peut être lent à réagir lors d’un renversement de tendance et manquer le meilleur moment d’entrée
  3. Optimisation des paramètres: les paramètres de la stratégie (tels que le cycle EMA, la taille de la position, le taux de rupture) doivent être optimisés en fonction des différents marchés. Des paramètres inappropriés peuvent entraîner une mauvaise efficacité de la stratégie.

Direction d’optimisation

  1. Optimisation des paramètres: optimisation des paramètres tels que le cycle EMA, la taille de la position et le taux de rupture pour améliorer la performance de la stratégie
  2. Filtrage des signaux: ajout d’autres indicateurs techniques ou d’émotions du marché pour filtrer les faux signaux
  3. Gestion dynamique des positions: modification dynamique des positions en fonction de facteurs tels que la volatilité du marché, les gains et les pertes des comptes, pour améliorer les rendements et contrôler les risques
  4. Portefeuille multi-volets: position à plusieurs et à zéro, couverture contre le risque de marché, amélioration de la stabilité stratégique

Résumer

La stratégie de négociation génère des signaux de négociation grâce à l’EMA100, le NUPL et trois indicateurs de rentabilité relativement inatteignable. Elle présente des avantages tels que la clarté logique, la maîtrise des risques et une forte adaptabilité. Il existe également des risques tels que les faux signaux, la retardation et l’optimisation des paramètres.

Code source de la stratégie
/*backtest
start: 2023-06-11 00:00:00
end: 2024-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Scalping Strategy with EMA 100, NUPL, and Relative Unrealized Profit", overlay=true)

// Input for EMA period
emaPeriod = input.int(100, title="EMA Period", minval=1)
ema100 = ta.ema(close, emaPeriod)
plot(ema100, color=color.blue, title="EMA 100")

// Placeholder function for NUPL (Net Unrealized Profit/Loss)
// Replace this with actual NUPL data or calculation
NUPL = close * 0.0001 // Dummy calculation

// Placeholder function for relative unrealized profit
// Replace this with actual relative unrealized profit data or calculation
relativeUnrealizedProfit = close * 0.0001 // Dummy calculation

// Define conditions for long and short entries
longCondition = ta.crossover(close, ema100) and NUPL > 0 and relativeUnrealizedProfit > 0
shortCondition = ta.crossunder(close, ema100) and NUPL < 0 and relativeUnrealizedProfit < 0

// Plot buy and sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

// Calculate stop loss levels
longStopLoss = close * 0.90
shortStopLoss = close * 1.10

// Strategy entry and exit rules
if (longCondition)
    strategy.entry("Long", strategy.long, stop=longStopLoss)

if (shortCondition)
    strategy.entry("Short", strategy.short, stop=shortStopLoss)

// Set stop loss levels for active positions
if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=longStopLoss)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Alerts for long and short entries
alertcondition(longCondition, title="Long Entry Alert", message="Long entry signal based on EMA 100, NUPL, and relative unrealized profit")
alertcondition(shortCondition, title="Short Entry Alert", message="Short entry signal based on EMA 100, NUPL, and relative unrealized profit")

// Visualize the entry conditions
plotshape(series=longCondition, location=location.belowbar, color=color.blue, style=shape.cross, title="Long Condition")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.cross, title="Short Condition")