Dies ist eine intelligente quantitative Handelsstrategie, die auf TRAMA (Triangular Moving Average) und Simple Moving Average (SMA) basiert. Die Strategie kombiniert zwei gleitende Durchschnittssysteme zur Erzeugung von Handelssignalen und implementiert einen Stop-Loss/Take-Profit-Mechanismus zur Risikokontrolle. Sie verwendet 4-Perioden- und 28-Perioden-SMA-Crossovers zusammen mit dem TRAMA-Indikator, um Handelssignale zu bestätigen und die Genauigkeit durch mehrfache Signalbestätigung zu verbessern.
Die Strategie verwendet zwei Kernkomponenten zur Erzeugung von Handelssignalen. Erstens ist das Crossover-System auf der Grundlage von 4-Perioden- und 28-Perioden-SMAs, das lange Signale erzeugt, wenn der kurzfristige MA über den langfristigen MA überschreitet, und kurze Signale, wenn er unter dem langfristigen MA überschreitet. Zweitens enthält die Strategie den TRAMA-Indikator als Hilfsbestätigungssystem. TRAMA ist ein verbessertes gleitender Durchschnitt mit schnellerer Reaktionszeit und weniger Verzögerung. Zusätzliche Handelssignale werden erzeugt, wenn der Preis durch den TRAMA durchbricht. Die Strategie umfasst auch prozentual basierte Take-Profit- und Stop-Loss-Mechanismen, die jeweils auf 2% und 1% festgelegt sind.
Es handelt sich um eine Strategie, die traditionelle technische Analyse mit modernen quantitativen Handelskonzepten kombiniert. Durch die Bestätigung mehrerer Signale und eine strenge Risikokontrolle zeigt die Strategie eine gute Praktikabilität. Während es Bereiche zur Optimierung gibt, ist das Gesamtrahmendesign vernünftig mit guten Anwendungsperspektiven. Händlern wird empfohlen, vor dem Live-Handel gründliche historische Daten-Backtests und Parameteroptimierung durchzuführen.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ivanvallejoc //@version=5 strategy("MANCOS2.0", overlay=true, margin_long=80, margin_short=80) longCondition = ta.crossover(ta.sma(close, 4), ta.sma(close, 28)) if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = ta.crossunder(ta.sma(close, 4), ta.sma(close, 28)) if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) // Parámetros de la TRAMA length = input(1.5, title="TRAMA Length") src = close filt = 2 / (length + 1) trama = 0.0 var tramaPrev = na(trama[1]) ? close : trama[1] trama := (src - tramaPrev) * filt + tramaPrev // Plot de la TRAMA plot(trama, color=color.blue, linewidth=2, title="TRAMA") // Señales de compra y venta basadas en TRAMA buySignal = ta.crossover(close, trama) sellSignal = ta.crossunder(close, trama) // Configuración de Take Profit y Stop Loss takeProfitPerc = input(2, title="Take Profit (%)") / 100 stopLossPerc = input(1, title="Stop Loss (%)") / 100 // Precios de TP y SL takeProfitPrice = strategy.position_avg_price * (1 + takeProfitPerc) stopLossPrice = strategy.position_avg_price * (1 - stopLossPerc) // Condiciones de entrada en largo if (buySignal) strategy.entry("Long", strategy.long) // Condiciones de salida para posición larga (TP/SL) if (strategy.position_size > 0) strategy.exit("TP/SL", "Long", limit=takeProfitPrice, stop=stopLossPrice) // Entrada en corto basada en TRAMA if (sellSignal) strategy.entry("Short", strategy.short) // Precios de TP y SL para posiciones cortas takeProfitPriceShort = strategy.position_avg_price * (1 - takeProfitPerc) stopLossPriceShort = strategy.position_avg_price * (1 + stopLossPerc) if (strategy.position_size < 0) strategy.exit("TP/SL", "Short", limit=takeProfitPriceShort, stop=stopLossPriceShort)