EMA100 und NUPL relative nicht realisierte Gewinne quantitative Handelsstrategie

EMA
Erstellungsdatum: 2024-06-17 14:55:13 zuletzt geändert: 2024-06-17 14:55:13
Kopie: 0 Klicks: 575
1
konzentrieren Sie sich auf
1617
Anhänger

EMA100 und NUPL relative nicht realisierte Gewinne quantitative Handelsstrategie

Überblick

Die Handelsstrategie basiert auf dem 100-Zyklus-Index-Moving Average (EMA100), dem Netto-Unrealized Profit/Loss (NUPL) und den drei Indikatoren des Relativ Unrealized Profit, um ein Handelssignal zu erzeugen, indem sie die Kreuzung des Preises mit EMA100 und die Negativstellung des NUPL und des Relativ Unrealized Profit beurteilt. Es wird ein Mehrsignal ausgelöst, wenn der Preis EMA100 überschreitet und die NUPL und der Relativ Unrealized Profit beide positiv sind; es wird ein Leersignal ausgelöst, wenn der Preis EMA100 überschreitet und die NUPL und der Relativ Unrealized Profit beide negativ sind.

Strategieprinzip

  1. Berechnung der 100-Zyklus-EMA als Haupttrendindikator
  2. Nutzung der NUPL und des relativen unrealisierten Gewinns als Hilfsindikatoren zur Bestätigung der Stärke und Nachhaltigkeit von Trends
  3. Während der Preis die EMA100 über/unter durchbricht, erzeugen die NUPL und die relativ unrealisierten Gewinne gleichzeitig ein Plus/Lose-Signal für positive/negative Zeiten
  4. 10% Fix-Position mit 10% Stop-Loss und Risikokontrolle
  5. Wenn Sie eine Überschussposition halten, löschen Sie die Überschussposition aus, wenn der Preis den Stop-Loss-Preis überschreitet. Wenn Sie eine Off-Position halten, löschen Sie die Off-Position aus, wenn der Preis den Stop-Loss-Preis überschreitet.

Analyse der Stärken

  1. Einfach und leicht zu verstehen: Die Strategie ist klar in der Logik, verwendet gängige technische Kennzahlen und ist leicht zu verstehen und umzusetzen
  2. Trend-Tracking: Haupttrends werden über EMA100 erfasst, geeignet für den Einsatz in Trendmärkten
  3. Risikokontrolle: Setzen Sie feste Positionen und Stopps, um das Risiko effektiv zu kontrollieren
  4. Anpassungsfähigkeit: Die Strategie kann auf verschiedene Märkte und Handelsmarken angewendet werden.

Risikoanalyse

  1. Falsches Signal: In einem schwankenden Markt kann eine häufige Kreuzung des Preises mit der EMA100 zu einem höheren False Signal führen, was zu Verlusten führt
  2. Verzögerung: Die EMA als Verzögerungsindikator reagiert möglicherweise langsamer auf eine Trendwende und verpasst die beste Einstiegsmomente
  3. Optimierung von Parametern: Strategieparameter (wie EMA-Zyklen, Positionsgröße, Stop-Loss-Ratio) müssen für verschiedene Märkte optimiert werden, und unangemessene Parameter können zu einer schlechten Effektivität der Strategie führen

Optimierungsrichtung

  1. Optimierung von Parametern: Optimierung von Parametern wie EMA-Zyklen, Positionsgröße und Stop-Loss-Ratio, um die Strategie zu verbessern
  2. Filtersignale: Zusammensetzung mit anderen technischen Indikatoren oder Marktstimmungsindikatoren, um falsche Signale zu filtern
  3. Dynamische Positionsverwaltung: Positionen werden dynamisch angepasst, um Gewinne zu steigern und Risiken zu kontrollieren, unter anderem aufgrund von Marktschwankungen und Kontoverlusten
  4. Multi-Flughafen-Portfolio: Halten Sie gleichzeitig mehrere und leere Positionen, um Marktrisiken abzudecken und die Strategie zu stabilisieren

Zusammenfassen

Die Handelsstrategie erzeugt Handelssignale durch EMA100, NUPL und drei Indikatoren für die relativ unerreichte Gewinnrate. Sie hat Vorteile wie Logikklarheit, Risikokontrolle und Anpassungsfähigkeit. Es gibt auch Risiken wie Falschsignale, Rückstand und Parameteroptimierung. In der Zukunft kann die Strategie durch Parameteroptimierung, Signalfilterung, dynamische Positionsverwaltung und Multi-Funktionskombinationen optimiert und verbessert werden.

Strategiequellcode
/*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")