
Diese Strategie ermittelt und verfolgt Trends durch die Berechnung verschiedener Arten von Durchschnittslinien (Simple Moving Average SMA, Index Moving Average EMA, Hull Moving Average HMA und VWMA) und die Suche nach ihren Kreuzungen. Sie erzeugt ein Kaufsignal, wenn eine kürzere Durchschnittslinie von unten durch die längere Durchschnittslinie geht.
Die Strategie beurteilt die Marktentwicklung hauptsächlich durch den Vergleich der Beziehungen zwischen zwei verschiedenen Mittellinien. Insbesondere wird die Art und Länge der beiden Mittellinien durch Eingabeparameter festgelegt. Die erste Mittellinie ist länger und repräsentiert die langfristige Tendenz; Die zweite Mittellinie ist kürzer und repräsentiert die aktuelle kurzfristige Tendenz.
Wenn die kurzfristige Durchschnittslinie von unten durch die langfristige Durchschnittslinie geht, bedeutet dies, dass die kurzfristige Tendenz stärker wird und der Kurs in den Aufwärtstrend eintritt, wodurch ein Kaufsignal an dieser Kreuzung ausgegeben wird. Umgekehrt, wenn die kurzfristige Durchschnittslinie von oben durch die langfristige Durchschnittslinie geht, bedeutet dies, dass die kurzfristige Tendenz schwächer wird und der Kurs in den Abwärtstrend eintritt, wodurch ein Verkaufsignal an dieser Kreuzung ausgegeben wird.
Die Einheitlichkeit des Linear-Cross-Judgements ermöglicht es, den Markttrends zu folgen und zu handeln.
Die Risiken können auf folgende Weise gelöst werden:
Die Strategie basiert auf der klassischen Theorie der Gleichgewichts-Kreuzung der wichtigsten Trends und wird durch die Kombination verschiedener Gleichgewichte flexibel angewendet. Die Strategie-Logik ist einfach und leicht umzusetzen und eignet sich für die Automatisierung von Geschäften. Insgesamt hat die Strategie eine gewisse Praxis, aber es gibt auch Raum für einige Optimierungsverbesserungen.
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy", overlay=true)
src = input(close, title="Source")
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA", "VWMA"])
ma2 = input(7, title="2nd MA Length")
type2 = input("HMA", "2nd MA Type", options=["SMA", "EMA", "HMA", "VWMA"])
f_hma(_src, _length)=>
_return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))
price1 = if (type1 == "SMA")
sma(price, ma1)
else
if (type1 == "EMA")
ema(price, ma1)
else
if (type1 == "VWMA")
vwma(price, ma1)
else
f_hma(price, ma1)
price2 = if (type2 == "SMA")
sma(price, ma2)
else
if (type2 == "EMA")
ema(price, ma2)
else
if (type2 == "VWMA")
vwma(price, ma2)
else
f_hma(price, ma2)
//plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)
longCondition = crossover(price1, price2)
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = crossunder(price1, price2)
if (shortCondition)
strategy.entry("Short", strategy.short)