
Die Strategie ist eine Handelsstrategie, die auf EMA, VWAP und Transaktionsvolumen basiert. Die Hauptidee ist, dass ein Positionseröffnungssignal innerhalb einer bestimmten Handelszeit erzeugt wird, wenn der Schlusskurs die VWAP und EMA überschreitet und die Transaktionsmenge größer ist als die Transaktionsmenge der vorherigen K-Linie. Gleichzeitig werden Stop-Loss- und Stop-Stops sowie die Bedingungen für die Beseitigung der Position innerhalb eines bestimmten Zeitraums festgelegt.
Die Strategie handelt innerhalb einer bestimmten Handelszeit, indem sie die Preisentwicklung, den Marktwert und die Handelsmenge berücksichtigt. Obwohl Stop Loss-Stopps und begrenzte Handelszeiten festgelegt wurden, müssen Risiken wie Schwankungen und Schlupfpunkte in der Praxis berücksichtigt werden. In Zukunft kann die Stabilität und Profitabilität der Strategie verbessert werden, indem mehr Filterbedingungen, optimierte Parameter und Positionsverwaltung hinzugefügt werden.
/*backtest
start: 2024-04-27 00:00:00
end: 2024-04-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA, VWAP, Volume Strategy", overlay=true, process_orders_on_close=true)
// Inputs
emaLength = input.int(21, title="EMA Length")
vwapSource = input.source(defval=hlc3, title='VWAP Source')
stopLossPoints = input.float(100, title="Stop Loss (points)")
targetPoints = input.float(200, title="Target (points)")
session = input("0950-1430", title='Only take entry during')
exit = input(defval='1515-1525', title='Exit Trade')
tradein = not na(time(timeframe.period, session))
exit_time = not na(time(timeframe.period, exit))
// Calculate indicators
ema = ta.ema(close, emaLength)
vwapValue = ta.vwap(vwapSource)
// Entry Conditions
longCondition = close > vwapValue and close > ema and volume > volume[1] and close > open and tradein
shortCondition = close < vwapValue and close < ema and volume > volume[1] and open > close and tradein
// Exit Conditions
longExitCondition = ta.crossunder(close, vwapValue) or ta.crossunder(close, ema) or close - strategy.position_avg_price >= targetPoints or close - strategy.position_avg_price <= -stopLossPoints or exit_time
shortExitCondition = ta.crossover(close, vwapValue) or ta.crossover(close, ema) or strategy.position_avg_price - close >= targetPoints or strategy.position_avg_price - close <= -stopLossPoints or exit_time
// Plotting
plot(vwapValue, color=color.blue, title="VWAP")
plot(ema, color=color.green, title="EMA")
// Strategy
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
if longExitCondition
strategy.close('Long', immediately=true)
if shortExitCondition
strategy.close("Short", immediately=true)