Kauf- und Verkaufsstrategien basierend auf den Schlusskursen der K-Linie


Erstellungsdatum: 2024-01-08 11:11:18 zuletzt geändert: 2024-01-08 11:11:18
Kopie: 2 Klicks: 1039
1
konzentrieren Sie sich auf
1617
Anhänger

Kauf- und Verkaufsstrategien basierend auf den Schlusskursen der K-Linie

Überblick

Die Strategie vergleicht die aktuelle K-Linie mit dem Schlusskurs der vorherigen K-Linie, um zu beurteilen, ob ein Kauf- oder Verkaufssignal ausgelöst wird.

Insbesondere wird ein Kaufsignal ausgelöst, wenn der aktuelle K-Linie-Schlusskurs höher ist als der höchste Preis der vorherigen K-Linie; ein Verkaufssignal wird ausgelöst, wenn der aktuelle K-Linie-Schlusskurs niedriger ist als der niedrigste Preis der vorherigen K-Linie.

Strategieprinzip

  1. Erhalten Sie historische Höchst- und Tiefstpreise für bestimmte Zeiträume (z. B. Tages- und Stundenzeilen)
  2. Berechnung der Stopp- und Stopp-Distanz
    • Stop-Loss-Distanz = Höchstwert der oberen K-Linie - niedrigster K-Linie
    • Stoppdistanz = Stoppdistanz * 3 (die Stoppdistanz ist auf ein Stoppdistanz-Verhältnis von 1:3 festgelegt)
  3. Beurteilung des Verhältnisses zwischen dem aktuellen K-Linie-Abschlusspreis und den Höchst- und Tiefstpreisen der vorherigen K-Linie
    • Wenn der aktuelle Schlusskurs > der höchste Preis der K-Linie ist, wird ein Kaufsignal ausgelöst
    • Wenn der aktuelle Schlusskurs < der niedrigste Preis der K-Linie ist, wird ein Verkaufssignal ausgelöst.
  4. Nach der Einfahrt setzte man Stop Loss und Stop Stop.
    • Nach dem Kauf wird der Stop-Loss auf den niedrigsten Preis der letzten K-Linie gesetzt - Stop-Loss-Distanz, der Stop-Loss auf den höchsten Preis der letzten K-Linie + Stop-Loss-Distanz
    • Nach dem Verkauf wird der Stop-Loss auf die höchste K-Linie + die Stop-Loss-Distanz und der Stop-Loss auf die niedrigste K-Linie - die Stop-Loss-Distanz gesetzt

Das ist die grundlegende Transaktionslogik der Strategie.

Analyse der Stärken

  • Strategie ist klar, einfach und leicht zu verstehen
  • K-Linien-Informationen zur Trendschätzung
  • Risikokontrolle mit Schadensbegrenzung

Risikoanalyse

  • Die Vermutung einer K-Linienform auf der Grundlage einer Zeitspanne allein könnte zu weiteren Falschsignalen führen.
  • Es wurden keine weiteren Faktoren berücksichtigt, wie etwa Veränderungen des Handelsvolumens oder der Volatilität.
  • Die Schadensbegrenzung kann falsch eingestellt sein, zu groß oder zu klein ist gefährlich.

Optimierungsrichtung

  • Eintrittssignale, die durch mehrere Faktoren bestätigt werden, wie beispielsweise Handelsvolumen, Durchschnittsgrenze usw.
  • Optimierung von Stop-Loss-Algorithmen, um die Stop-Loss-Systeme vernünftiger und umfassender zu machen
  • Einstellungen für verschiedene Sorten können angepasst werden
  • Die Wirksamkeit von längeren Zeilenzyklen kann getestet werden

Zusammenfassen

Die Gesamtkonzeption der Strategie ist einfach und klar. Die Verwendung von K-Linie-Abschlusspreisinformationen, um die Trendrichtung zu bestimmen, kann als Grundstrategie für den Handel mit Aktien und digitalen Währungen eingesetzt werden. Die K-Linie-Form, die nur auf einer einzigen Zeitspanne basiert, kann jedoch leicht falsche Signale erzeugen.

Strategiequellcode
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy/Sell on Candle Close", overlay=true)

var float prevLowest = na
var float prevHighest = na
var float slDistance = na
var float tpDistance = na

// Specify the desired timeframe here (e.g., "D" for daily, "H" for hourly, etc.)
timeframe = "D"

// Fetching historical data for the specified timeframe
pastLow = request.security(syminfo.tickerid, timeframe, low, lookahead=barmerge.lookahead_on)
pastHigh = request.security(syminfo.tickerid, timeframe, high, lookahead=barmerge.lookahead_on)

if bar_index > 0
    prevLowest := pastLow[1]
    prevHighest := pastHigh[1]

currentClose = close

if not na(prevLowest) and not na(prevHighest)
    slDistance := prevHighest - prevLowest
    tpDistance := 3 * slDistance // Adjusted for 1:3 risk-reward ratio

// Buy trigger when current close is higher than previous highest
if not na(prevLowest) and not na(prevHighest) and currentClose > prevHighest
    strategy.entry("Buy", strategy.long)
    strategy.exit("Buy TP/SL", "Buy", stop=prevLowest - slDistance, limit=prevHighest + tpDistance)

// Sell trigger when current close is lower than previous lowest
if not na(prevLowest) and not na(prevHighest) and currentClose < prevLowest
    strategy.entry("Sell", strategy.short)
    strategy.exit("Sell TP/SL", "Sell", stop=prevHighest + slDistance, limit=prevLowest - tpDistance)

plot(prevLowest, color=color.blue, title="Previous Lowest")
plot(prevHighest, color=color.red, title="Previous Highest")