Mobile Vegas Channel Crossing-Strategie


Erstellungsdatum: 2024-01-02 10:53:06 zuletzt geändert: 2024-01-02 10:53:06
Kopie: 0 Klicks: 1205
1
konzentrieren Sie sich auf
1621
Anhänger

Mobile Vegas Channel Crossing-Strategie

Die Kernidee der Strategie besteht darin, die kurz- und langfristige Trendrichtung der Aktien anhand der Durchschnittslinien verschiedener Perioden wie der EMA 36,143,169 zu beurteilen, in Kombination mit dem MACD-Indikator, um ein Kauf- und Verkaufssignal zu senden. Insbesondere die kurzfristige Beurteilung mit der 5-10-Tage-EMA, die mittelfristige Beurteilung mit der 20-60-Tage-EMA, die langfristige Beurteilung mit der 120- und 250-Tage-EMA, bei der Übernahme der kurzfristigen EMA bei Durchbruch der mittelfristigen EMA und bei der Übernahme bei Durchbruch; in Kombination mit dem leeren MACD-Indikator, um eine Kauf- und Verkaufsmöglichkeit zu beurteilen.

Die Strategie der Vegas Tunnel basiert auf folgenden Prinzipien:

  1. Die EMA36 und EMA43 werden als kurzfristige Trendbeurteilungen verwendet, die den roten Kanal bilden.
  2. Die EMA144 und EMA169 werden verwendet, um eine mittelfristige Trendbeurteilung zu erstellen, die den grünen Kanal bildet.
  3. Die EMA576 und EMA676 werden verwendet, um langfristige Trends zu bestimmen, die einen Grau bilden.
  4. Wenn der Preis auf der gleichen EMA-Linie steht, kann er mehr tun, und in Kombination mit dem MACD-Indikator, der die 0-Achse nach oben durchbricht, gibt er ein Kaufsignal.
  5. Wenn der Preis die EMA-Gehälter überschreitet, kann er nach unten gehen und in Kombination mit dem MACD-Indikator auf der Achse 0 nach unten brechen, um ein Verkaufssignal zu senden.
  6. Drei Handelsstrategien, die jeweils unterschiedlichen Haltungszeiten entsprechen, werden in kurze, mittlere und lange Strategien aufgeteilt, die sich auf die EMA-Durchlaufphase beziehen.

Die Vorteile dieser Strategie sind:

  1. Die Kurz-, Mittel- und Langstrecken sind relativ stabil.
  2. Der Vegas-Kanal ist klar und intuitiv, und es ist leicht, Trends zu erkennen.
  3. Der MACD-Indikator ist ein guter Weg, um zu kaufen oder zu verkaufen.
  4. Die drei Strategien, die in kurzer oder mittlerer Zeit entwickelt wurden, ermöglichen eine größere Flexibilität.

Die wichtigsten Risiken dieser Strategie sind:

  1. Die EMA-Durchschnittslinie verursacht Verzögerungen bei starken Kursschwankungen, was zu Fehleinschätzungen führt.
  2. Es besteht die Gefahr von Fehlverhalten, wenn die drei Kanäle nicht übereinstimmen.
  3. Die Bedienung von Zeitdiagrammen erfordert eine hohe psychologische Belastbarkeit.

Wie man damit umgeht:

  1. Die EMA-Durchschnittsphase kann entsprechend angepasst werden, um sie besser an die aktuellen Markteigenschaften anzupassen.
  2. Anpassung der Positionsquote vor dem Handel, um Einzelschäden zu kontrollieren.

Die Optimierungsmöglichkeiten für diese Strategie sind:

  1. Der Vegas-Kanal ist nicht ausreichend, um Trends zu unterscheiden, und es kann ein zusätzliches Brin-Kanal-Urteil eingeführt werden.
  2. Der MACD-Indikator ist nicht sehr effektiv für Zwischen-Schock-Situationen und kann durch KD, RSI und andere Indikatoren ersetzt werden.
  3. Erhöhung der Stop-Loss-Strategie, z. B. durch eine aktive Stop-Loss-Strategie, wenn der Schlusskurs die kritische EMA überschreitet.
  4. Die Einflussnahme von A-Aktien ist stark und eine Depositionierung des ETFs ist zu berücksichtigen.
Strategiequellcode
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy("Vegas Tunnel strategy", overlay=true)
//-------------------------------------------
//-------------------------------------------
// Inputs
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", type=input.resolution, defval="D")
//tfSet = input(title = "Time Frame", options=["Current","120", "240", "D", "W"], defval="D")
tfSet = useCurrentRes ? timeframe.period : resCustom
maPeriods2 = input(12, "12 EMA")
maPeriods6 = input(240, "240 SMA")
BBlength = input(20, title="BB Length", minval=1)
BBsrc = input(close, title="BB Source")
mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev")
sm2 = security(syminfo.tickerid, tfSet, ema(close, maPeriods2))
sm6 = security(syminfo.tickerid, tfSet, sma(close, maPeriods6))
p2 = plot(sm2, color=color.green, transp=30,  linewidth=2, title="SMA2")
p6 = plot(sm6, color=color.white, transp=30,  linewidth=2, title="SMA6")
//BB
basis = sma(BBsrc, BBlength)
dev = mult * stdev(BBsrc, BBlength)
upper = basis + dev
lower = basis - dev
offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500)
//plot(basis, "Basis", color=color.blue,linewidth, offset = offset)
pBB1 = plot(upper, "Upper", color=color.blue, offset = offset)
pBB2= plot(lower, "Lower", color=color.blue, offset = offset)

//MACD
fast_ma = ema(close, 48)
slow_ma = ema(close, 56)
macd = fast_ma - slow_ma

//vagas隧道
f1=ema(close, 36)
f2=ema(close, 43)
f3=ema(close, 144)
f4=ema(close, 169)
f5=ema(close, 576)
f6=ema(close, 676)
f7=ema(close,2304)
z1=plot(f1,color=color.red, title="ema36",transp=100)
z2=plot(f2,color=color.red, title="ema43",transp=100)
z3=plot(f3,color=color.green, title="ema144",transp=100)
z4=plot(f4,color=color.green, title="ema169",transp=100)
z5=plot(f5,color=color.white, title="ema576",transp=100)
z6=plot(f6,color=color.white, title="ema676",transp=100)
fill(z1, z2, color=color.red,transp=60)
fill(z3, z4, color=color.green,transp=60)
fill(z5, z6, color=color.gray,transp=60)

// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2018, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
     defval=1, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=11, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2030, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange =  true

//波段多
if (inDateRange and crossunder(f3,f1))// 
    strategy.entry("buy", strategy.long,1, when=macd>0, comment = "買Long-term")
buyclose=crossunder(f3,f5) 
strategy.close("buy", when = buyclose, comment = "關Long-term")
//多策略1
if (inDateRange and crossover(low , f3) and macd>0 and f3>f6)
    strategy.entry("buy1", strategy.long,100, comment = "買Mid-term")
buyclose1=crossunder(close,upper*0.999) 
if (macd<0 or f3<f6)
    strategy.close("buy1", comment = "關Mid-term")
//strategy.close("buy1",when=cross(basis,close), comment = "關M",qty_percent=50)
strategy.close("buy1", when = buyclose1, comment = "關Mid-term",qty_percent=100)
//多策略3
if (inDateRange and  (macd>0) and crossunder(low,f1) and f1>f4) // 
    strategy.entry("buy3", strategy.long,1, comment = "買Short-term")
buyclose3=crossunder(close,upper*0.999)
if (macd<0 or f1<f4)
    strategy.close("buy3", comment = "關Short-term")
strategy.close("buy3", when = buyclose3, comment = "關Short-term")
//多策略4
if (inDateRange and  (macd>0) and crossunder(low,f5) and f4>f5) // 
    strategy.entry("buy4", strategy.long,1, comment = "買Long-term")
buyclose4=crossunder(close,upper*0.999)
if (macd<0 or f4<f6)
    strategy.close("buy4", comment = "關Long-term")
strategy.close("buy4", when = buyclose4, comment = "關Long-term")
    
//空策略1
if (inDateRange and  (macd<0) and crossunder(high,f1) and f1<f3 and f3<f6) // 
    strategy.entry("sell1", strategy.short,1, comment = "空Short-term")
sellclose1=crossunder(lower*0.999,close)
if (macd>0 or f1>f4)
    strategy.close("sell1", comment = "關空Short-term")
strategy.close("sell1", when = sellclose1, comment = "關空Short-term")
//空策略2
if (inDateRange and  (macd<0) and crossunder(high,f4) and f4<f6) // 
    strategy.entry("sell2", strategy.short,1, comment = "空Mid-term")
sellclose2=crossunder(lower,close)
if (macd>0 or f4>f6)
    strategy.close("sell2", comment = "關空Mid-term")
strategy.close("sell2", when = sellclose2, comment = "關Mid-term")
//空策略3
if (inDateRange and (macd<0) and crossunder(high,f6)) // 
    strategy.entry("sell3", strategy.short,1, comment = "空Long-term")
sellclose3=crossunder(lower,close)
if (macd>0 or f6>f7)
    strategy.close("sell3", comment = "關空Long-term")
strategy.close("sell3", when = sellclose3, comment = "關空Long-term")