Diese Handelsstrategie basiert auf drei Indikatoren: dem 100-Perioden-Exponential Moving Average (EMA100), dem Net Unrealized Profit/Loss (NUPL) und dem Relative Unrealized Profit. Sie erzeugt Handelssignale, indem sie den Preis-Crossover mit EMA100 und die Positivität oder Negativität von NUPL und Relative Unrealized Profit bestimmt. Ein langes Signal wird ausgelöst, wenn der Preis über EMA100 überschreitet und sowohl NUPL als auch Relative Unrealized Profit positiv sind. Ein kurzes Signal wird ausgelöst, wenn der Preis unter EMA100 überschreitet und sowohl NUPL als auch Relative Unrealized Profit negativ sind.
Diese Handelsstrategie erzeugt Handelssignale durch drei Indikatoren: EMA100, NUPL und Relative Unrealized Profit. Sie hat Vorteile wie klare Logik, kontrollierbares Risiko und starke Anpassungsfähigkeit. Gleichzeitig hat sie auch Risiken wie falsche Signale, Verzögerung und Parameteroptimierung. In Zukunft kann die Strategie durch Parameteroptimierung, Signalfilterung, dynamisches Positionsmanagement und Long-Short-Kombinationen optimiert und verbessert werden.
/*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")