Low Scanner Smart Tracking-Methode

Schriftsteller:ChaoZhang, Datum: 2023-11-01 16:12:00
Tags:

img

Übersicht

Die Low Scanner Smart Tracking Methode ist eine nicht-repaintende Forex-Handelsstrategie. Sie verwendet einen Low Scanner, um Tiefpunkte zu lokalisieren und kombiniert sich mit dem Hull Moving Average für das Handelssignal-Urteil, das eine hohe Gewinnrate erzielen kann.

Grundsätzliche Analyse

Der Low Scanner berechnet die RSI-Werte von Preis und Volumen und vergleicht sie mit der WMA-Kurve, um Tiefpunkte zu bestimmen, wenn der RSI niedriger als die WMA ist.

Zweitens verwendet die Strategie den Hull Moving Average für die Bewertung von Handelssignalen. Sie berechnet zwei Hull MA mit unterschiedlichen Perioden und geht lang, wenn der kürzere Zeitraum Hull MA über den längeren Zeitraum überschreitet, und geht kurz, wenn er unter.

Schließlich kombiniert die Strategie die Low-Point-Scan-Signale und Hull-MA-Signale und löst Hull-MA-Signale nur aus, wenn der Low-Scanner Low-Point-Signale ausgibt und die Einstiegsstrategie bildet.

Auf diese Weise kann es, indem es zuerst die Tiefpunkte des Marktes erkennt und dann den Trend verfolgt, effektiv einen falschen Eintrittszeitpunkt vermeiden und die Gewinnrate des Handelssystems verbessern.

Analyse der Vorteile

Die wichtigsten Vorteile der Low Scanner Smart Tracking Methode sind:

  1. Mit dem niedrigen Scanner kann er Markttiefpunkte genau identifizieren und bei hohen Punkten nicht kaufen.

  2. Hull MA ist ein ausgezeichneter Trendverfolgungsindikator, der größere Trends erfassen kann.

  3. Die Kombination von Low Scanner und Hull MA überprüft einander und filtert viel Lärm und falsche Signale aus.

  4. Die Einführung eines progressiven Stop-Loss-Exit-Mechanismus kann die Gewinne maximieren und Rückgänge vermeiden.

  5. Die Strategie nutzt eine an Indikatoren orientierte Logik und manipuliert keine historischen Daten, was zuverlässig ist.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Der niedrige Scanner kann einige Tiefpunkte verpassen und Handelsmöglichkeiten verlieren.

  2. Die Markte können sich stark umkehren, wodurch ein Stop-Loss getroffen wird.

  3. Bei falschen Parameter-Einstellungen können zu viele oder zu wenige Handelssignale generiert werden.

  4. Diese Strategie gilt nur für Forex-Paare mit offensichtlichen Trends und eignet sich nicht für Bereichsgebundene oder oszillierende Märkte.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimieren Sie die Parameter des Tiefpunktscanners, um Tiefpunkte genauer zu erkennen.

  2. Optimierung der Parameter der Hull MA, um Trends genauer zu verfolgen.

  3. Hinzufügen anderer Indikatorfilter wie MACD, KDJ, um die Signalzuverlässigkeit zu verbessern.

  4. Hinzufügen von Vorhersagen von maschinellen Lernmodellen zur Unterstützung des Handelssignalverfahrens.

  5. Optimieren des Stop-Loss-Mechanismus, um sich dynamisch an die Marktvolatilität anzupassen.

  6. Optimierung der Positionsgrößenstrategie zur dynamischen Anpassung der Positionsgröße anhand von Geldmanagementregeln.

Schlussfolgerung

Die Low Scanner Smart Tracking Methode ist eine hoch gewinnfrequente nicht-repaintende Forex-Handelsstrategie. Sie kann Markttiefpunkte genau identifizieren und in den Trend eintreten, wenn der Trend klar ist und Gewinne mit progressivem Stop-Loss erzielt. Die Strategie bietet großen Raum für Optimierung und kann in vielerlei Hinsicht verbessert werden, um ein leistungsstarkes automatisiertes Handelssystem zu werden.


/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-25 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theCrypster 2020

//@version=4
// strategy(title = "Low Scanner Forex strategy", overlay = false, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
leng=1
p1=close[1]
min=input(1440)
len55 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
tf3 = input("W", type=input.resolution)
ti = change( time(tf3) ) != 0
T_c = fixnan( ti ? close : na )

vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)

d=(vrsi[1]-pp[1])
min1 =input(60)
len100 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min1 / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange
plot(zx,color=col,linewidth=1)
//

tf10 = input("W", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])

length = input(24, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)

hma(_src, _length)=>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length)=>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)


a = security(syminfo.tickerid, tf10, hma(close, length))
b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)

linear_reg = linreg(close_price, len, 0)


//plot(linear_reg, color=color.blue, title="LR", linewidth=3)

buy=crossover(linear_reg, b) 
sell=crossunder(linear_reg, b) 
//
// Time period input
testStartYear = input(2016, "BACKTEST START YEAR", minval = 1980, maxval = 2222) 
testStartMonth = input(06, "BACKTEST START MONTH", minval = 1, maxval = 12)
testStartDay = input(01, "BACKTEST START DAY", minval = 1, maxval = 31)
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2222, "BACKTEST STOP YEAR", minval=1980, maxval = 2222)
testStopMonth = input(12, "BACKTEST STOP MONTH", minval=1, maxval=12)
testStopDay = input(31, "BACKTEST STOP DAY", minval=1, maxval=31)
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod = time >= testPeriodStart and time <= testPeriodStop ? true : false
l = crossover(zx,0) or buy
        
if l and testPeriod
    strategy.entry("buy", strategy.long)

per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=25, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=0.5, minval=0.01)
tp2=input(title=" Take profit2", defval=1, minval=0.01)
tp3=input(title=" Take profit3", defval=1.5, minval=0.01)
tp4=input(title=" Take profit4", defval=2, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)


Mehr