
Diese Strategie basiert auf dynamischen Gleichgewichtsindikatoren, um die Preisentwicklung in Echtzeit zu verfolgen und Handelssignale durch Durchbruch der Gleichgewichtslinie zu senden. Die Strategie hat den Vorteil, dass die Parameter einfach eingestellt und die Signale klar beurteilt werden können.
Die Strategie verwendet dynamische Gleichgewichtsindikatoren, darunter verschiedene Arten von Gleichgewichten wie ALMA, EMA und SMA. Die Grundprinzip ist, wenn der Preis die Durchschnittlinie überschreitet, zu tun; wenn der Preis die Durchschnittlinie unterschreitet, zu machen.
Konkret verwendet die Strategie die mittlere Linie, die den hohen und niedrigen Punkt bildet, und verwendet dann die niedrige und mittlere Linie als Multi-Signal-Linie und die hohe und mittlere Linie als Short-Signal-Linie. Wenn der Schlusskurs höher ist als der niedrige und mittlere Linie, macht man mehr; wenn der Schlusskurs niedriger ist als der hohe und mittlere Linie, macht man short.
Der Trendbeobachter kann die Trendbewegung anhand eines Gleichgewichtsindikators bestimmen und in Kombination mit dem Breakout-Prinzip ein Signal erzeugen, um eine einfache und praktische Trendbeobachtungsstrategie zu bilden.
Die Strategie nutzt Gleichgewichtsindikatoren, um die Richtung der Preisentwicklung zu bestimmen, und sendet Handelssignale auf Basis der Durchbruchstheorie aus. Die Vorteile sind einfach und leicht zu bedienen, geeignet für mittlere und lange Positionen, die durch Parameter an Marktveränderungen angepasst werden können.
/*backtest
start: 2023-12-02 00:00:00
end: 2024-01-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Baseline Strategy - evo", shorttitle="Baseline", overlay=true)
//INPUTS
mat = input("ALMA", "MA Type", options=["SMA", "EMA", "WMA", "HMA", "VWMA", "RMA", "ALMA"])
baseline = input(55, title="MA Length")
src = input(ohlc4, title="Closing Source")
offset = input(0.85, step=0.05, title="Offset (alma only)")
sigma = input(10, title="Sigma (alma only)")
useCurrentRes = input(true, title="Use Current Resolution")
resCustom = input("1440", title="Timeframe")
showsignals = input(false, title="Show Signals ?")
//BASELINE
baselinehigh =
mat=="SMA" ? sma(high,baseline) :
mat=="EMA" ? ema(high,baseline) :
mat=="WMA" ? wma(high,baseline) :
mat=="HMA" ? wma(2*wma(high, baseline/2)-wma(high, baseline), round(sqrt(baseline))) :
mat=="VWMA" ? vwma(high,baseline) :
mat=="RMA" ? rma(high,baseline) :
mat=="ALMA" ? alma(high, baseline, offset, sigma) : na
baselinelow =
mat=="SMA" ? sma(low,baseline) :
mat=="EMA" ? ema(low,baseline) :
mat=="WMA" ? wma(low,baseline) :
mat=="HMA" ? wma(2*wma(low, baseline/2)-wma(low, baseline), round(sqrt(baseline))) :
mat=="VWMA" ? vwma(low,baseline) :
mat=="RMA" ? rma(low,baseline) :
mat=="ALMA" ? alma(low, baseline, offset, sigma) : na
//RESOLUTION
res = useCurrentRes ? timeframe.period : resCustom
mtfhigh = security(syminfo.tickerid, res, baselinehigh)
mtflow = security(syminfo.tickerid, res, baselinelow)
//PLOTS
plot(mtfhigh, color=color.navy, linewidth=2, transp=0, title="Baseline High")
plot(mtflow, color=color.navy, linewidth=2, transp=0, title="Baseline Low")
long = src > mtfhigh
short = src < mtflow
barcolor(long ? #ffe0b2 : short ? #2a2e39 : not long and not short ? #b09e82 : na, title="BaseLine BarColor")
signal = 0
signal := long ? 1 : short ? 2 : nz(signal[1])
plotshape(showsignals ? (signal != signal[1] and long ? mtflow : na) : na, title="Long", location=location.absolute, size=size.small, style=shape.labelup, text="Long", textcolor=color.black, transp=40, color=#00ff00)
plotshape(showsignals ? (signal != signal[1] and short ? mtfhigh : na) : na, title="Short", location=location.absolute, size=size.small, style=shape.labeldown, text="Short", textcolor=color.white, transp=40, color=#ff0000)
alertcondition(signal != signal[1], title="Trend Change !", message="Trend Change !")
if (long)
strategy.entry("Long", strategy.long)
if (short)
strategy.entry("Short", strategy.short)