Kurzfristige Strategie zur Schwingungsverfolgung


Erstellungsdatum: 2024-01-18 16:29:34 zuletzt geändert: 2024-01-18 16:29:34
Kopie: 0 Klicks: 567
1
konzentrieren Sie sich auf
1617
Anhänger

Kurzfristige Strategie zur Schwingungsverfolgung

Überblick

Die Strategie nutzt die Veränderungen der Höchst- und Tiefpreise der K-Linie, um die Richtung und Stärke der Marktschwankungen zu bestimmen, kombiniert mit der Gleichung, um die Gesamttrends zu bestimmen und kurze Linieoperationen zu realisieren. Sie ist hauptsächlich für Sorten geeignet, bei denen die Schwankungen deutlich sind.

Strategieprinzip

Die Strategie beurteilt zunächst die Veränderung des Höchst- und des Tiefstpreises der K-Linie gegenüber der vorhergehenden K-Linie. Wenn der Höchstpreis steigt, wird er als 1 notiert, wenn der Tiefstpreis fällt, wird er als 1 notiert, sonst wird er als 0 notiert.

Die Strategie zeichnet gleichzeitig die Höchst- und Tiefstpreise der letzten Periode auf. Wenn der Durchschnitt eine Trendwende beurteilt, werden die Preise in Verbindung mit den aufgezeichneten Preisen als kritische Preisniveaus beurteilt, die Stop-Loss- und Stop-Stop-Niveaus bilden.

Die Eintrittsrichtung richtet sich nach der Mittellinie, wobei die Mehrköpfe über der Oberbahn gekauft und die Leerköpfe unter der Unterbahn verkauft werden. Die Stop-Loss- und Stop-Stop-Ebenen werden durch die Beurteilung der Schlüsselpreise gebildet.

Analyse der Stärken

Der größte Vorteil dieser Strategie besteht darin, die Schwingungsmerkmale der kurzen Linie zu nutzen, um zu profitieren. Durch die Bestimmung der Schlüsselpreise wird ein Stop-Loss gebildet, der die Strategie unter klaren Regeln betreibt.

Risikoanalyse

Die Risiken der Strategie sind vor allem:

  1. Wenn die Situation nicht erschüttert wird, kann es keinen Gewinn geben.

  2. Wenn der Preis die Stop-Loss-Grenze überschreitet, entstehen unnötige Verluste. Der Stop-Loss-Range kann entsprechend gelockert werden.

  3. Trends werden falsch beurteilt, und es ist möglich, dass die Trends verpasst werden oder dass die Umkehrungen vorgenommen werden. Die Parameter der Durchschnittslinie können entsprechend angepasst werden.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Anpassung der Durchschnittszyklus an die Eigenschaften der verschiedenen Sorten.

  2. Optimierung der Stop-Loss-Spanne und Ausgleich von Gewinnen und Verlusten.

  3. Das ist eine sehr wichtige Frage, die wir uns stellen müssen.

  4. Erhöhung der automatischen Stop-Loss und Kontrolle des maximalen Verlustes.

Zusammenfassen

Die Strategie ist im Allgemeinen eine Strategie, die die Eigenschaften der kurzen Schwingungen nutzt. Die Nutzung der kleinen Reichweite des Preises wird genutzt, um Gewinne zu erzielen. Die Risiken werden streng kontrolliert, und die Verluste werden rechtzeitig gestoppt, wenn die Tendenz ungünstig ist.

Strategiequellcode
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-16 22:45:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's ZZ-3 Strategy", shorttitle = "ZZ-3 str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
corr = input(0.0, title = "Correction, %")
bars = input(1, minval = 1)
revers = input(false, defval = false, title = "revers")
showll = input(true, defval = true, title = "Show Levels")
showbg = input(false, defval = false, title = "Show Background")
showar = input(false, defval = false, title = "Show Arrows")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
hbar = 0
hbar := high > high[1] ? 1 : high < high[1] ? -1 : 0
lbar = 0
lbar := low > low[1] ? 1 : low < low[1] ? -1 : 0
uplevel = 0.0
dnlevel = 0.0
hh = highest(high, bars + 1)
ll = lowest(low, bars + 1)
uplevel := hbar == -1 and sma(hbar, bars)[1] == 1 ? hh + ((hh / 100) * corr) : uplevel[1]
dnlevel := lbar == 1 and sma(lbar, bars)[1] == -1 ? ll - ((ll / 100) * corr) : dnlevel[1]

//Lines
upcol = na
upcol := showll == false ? na : uplevel != uplevel[1] ? na : lime
plot(uplevel, color = upcol, linewidth = 2)
dncol = na
dncol := showll == false ? na : dnlevel != dnlevel[1] ? na : red
plot(dnlevel, color = dncol, linewidth = 2)

//Background
size = strategy.position_size
trend = 0
trend := size > 0 ? 1 : size < 0 ? -1 : high >= uplevel ? 1 : low <= dnlevel ? -1 : trend[1]
col = showbg == false ? na : trend == 1 ? lime : trend == -1 ? red : na
bgcolor(col)

//Arrows
longsignal = false
shortsignal = false
longsignal := size > size[1]
shortsignal := size < size[1]
plotarrow(longsignal and showar and needlong ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(shortsignal and showar and needshort ? -1 : na, colorup = blue, colordown = blue, transp = 0)

//Trading
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if uplevel > 0 and dnlevel > 0 and revers == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = uplevel, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if uplevel > 0 and dnlevel > 0 and revers == true
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnlevel, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = uplevel, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()