Diese Strategie erzeugt Handelssignale, die auf der Überschneidung von zwei gleitenden Durchschnitten mit unterschiedlichen Perioden basieren.
Die Strategie ermöglicht es Benutzern, die Art und Länge der gleitenden Durchschnitte zu wählen. Zu den Typen gehören SMA, EMA, VWMA usw. Die Länge bestimmt die Periode der gleitenden Durchschnitte.
Zwei gleitende Durchschnitte werden auf der Grundlage der Auswahl des Benutzers berechnet. Wenn die schnellere Linie über die langsamere Linie kreuzt, wird ein goldenes Kreuz gebildet und ein Kaufsignal erzeugt. Wenn die schnellere Linie unter die langsamere Linie kreuzt, wird ein Todeskreuz gebildet und ein Verkaufssignal erzeugt.
Wenn der kurzfristige Durchschnittspreis über dem langfristigen Durchschnittspreis liegt, gilt er als Aufwärtstrend und sollte lange Positionen einnehmen.
Risiken können durch Optimierung von Parametern, Kombination anderer Indikatoren zur Signalgenerierung, Implementierung von Stop Loss/Take Profit usw. verwaltet werden.
Die Strategie hat eine einfache und klare Logik der Erzeugung von Signalen mit Dual-MA-Crossover. Es ermöglicht eine flexible Parameter-Tuning und Kombinationen mit anderen Strategien zur Optimierung, aber die Risiken von unterschiedlichen Märkten sollten überwacht werden und das Geldmanagement ist entscheidend. Insgesamt ist es eine Strategie, die es wert ist, berücksichtigt zu werden.
/*backtest start: 2023-09-09 00:00:00 end: 2023-09-13 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's MAs Tests", shorttitle = "MAs tests", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length") type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type") src = input(close, defval = close, title = "Source") //DEMA dema = 2 * ema(src, len) - ema(ema(close, len), len) //TEMA xPrice = close xEMA1 = ema(src, len) xEMA2 = ema(xEMA1, len) xEMA3 = ema(xEMA2, len) tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3 //KAMA xvnoise = abs(src - src[1]) nfastend = 0.20 nslowend = 0.05 nsignal = abs(src - src[len]) nnoise = sum(xvnoise, len) nefratio = iff(nnoise != 0, nsignal / nnoise, 0) nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) kama = nz(kama[1]) + nsmooth * (src - nz(kama[1])) //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0 plot(ma, color = blue, linewidth = 3, transp = 0) trend = low > ma ? 1 : high < ma ? -1 : trend[1] longCondition = trend == 1 and trend[1] == -1 if (longCondition) strategy.entry("Long", strategy.long) shortCondition = trend == -1 and trend[1] == 1 if (shortCondition) strategy.entry("Short", strategy.short)