Durchbrechen Sie die Höchstpreisstrategie von gestern


Erstellungsdatum: 2023-11-06 10:49:57 zuletzt geändert: 2023-11-06 10:49:57
Kopie: 0 Klicks: 709
1
konzentrieren Sie sich auf
1617
Anhänger

Durchbrechen Sie die Höchstpreisstrategie von gestern

Überblick

Die Breakout-Strategie ist eine Trendverfolgungsstrategie, bei der mehrere Positionen eröffnet werden, wenn der höchste Preis der gestrigen Tag überschritten wird. Sie ist mit einem Trendverfolgungssystem ausgestattet und eignet sich für Situationen, in denen der Markt einen deutlichen Trend zeigt und eine hohe Volatilität aufweist.

Grundsätze

Die Strategie identifiziert Ein- und Ausstiegsmomente durch die Einführung einer Reihe von Indikatoren.

  • ROC-Kurvenfilter - Strategie, die eingeleitet wird, wenn der Schlusskurs des Tages gegenüber dem Schlusskurs des vorherigen Handelstages die gesetzte Schwelle überschreitet. Dieser Indikator wird verwendet, um einen schwankenden Markt zu filtern, der der Strategie nicht entspricht.

  • Breakout-Punkt - Aufzeichnung des Höchstpreises, des Tiefstpreises und des Eröffnungspreises des Tages. Eintrittssignal, wenn der Preis den Höchstpreis des Tages überschreitet.

  • Eintritts- und Ausstiegsbedingungen - Eintritts- und Ausstiegsverhältnisse werden eingestellt, wobei ein Tracking-Stopp aktiviert wird, um Gewinne zu sichern. Es können auch bedingte Stopps für bestimmte EMAs verwendet werden.

  • Optimierte Konfiguration - Die Distanz zum Einstieg kann so eingestellt werden, dass der Einstieg zeitlich angepasst wird, um falsche Durchbrüche zu vermeiden. Die dynamischen Parameter für die Einstellung von Stopps, Stopps und die Verfolgung von Stopps können eingestellt werden.

Die Strategie beurteilt den Zeitpunkt des Eintritts, indem sie den höchsten Preis des Tages aufzeichnet. Es gibt mehrere Eintritte, wenn der Preis den höchsten Preis des Tages überschreitet. Danach können Stop-Loss und Stop-Exit eingerichtet werden, während ein Tracking-Stop-Loss aktiviert wird.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  • Trends sind nicht nur ein Trend, es sind auch Trends.

  • Einbruchstrategie, Einstiegssignale klar.

  • Es ist wichtig, dass Sie den höchsten Preis des Tages berücksichtigen, damit Sie nicht in Folge eintreten müssen.

  • Die Einstellung der Schadensbegrenzung hilft bei der Risikokontrolle.

  • Verfolgen Sie die Stop-Loss-Einstellungen, um Gewinne zu sperren.

  • Die Eintrittszeit kann durch Parameteroptimierung angepasst werden, um das Risiko zu kontrollieren.

  • Einfach intuitiv und leicht verständlich.

  • Mehrsprachige Doppelrichtung ist verfügbar.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  • Ein Durchbruch kann leicht eingesperrt werden. Der Preis kann nach dem Eintritt sofort zurückgehen.

  • Es ist nur bei Trends gültig und bei Erschütterungen nicht.

  • Es ist notwendig, eine angemessene Stop-Loss-Ratio einzurichten, denn eine zu große Lockerung kann die Verluste erhöhen.

  • Es muss ein vernünftiges Verhältnis zwischen den Einstiegs- und Abstandsbereichen vorhanden sein, denn ein zu radikaler Ansatz kann zu einem höheren Verlust führen.

  • Ein falscher Durchbruch kann zu unnötigen Verlusten führen und erfordert Anpassungen und Optimierungen.

  • Es ist wichtig, sich darauf zu konzentrieren, ob der Durchbruch der Transaktionsmenge die Nachfolge unterstützen wird.

  • Die Harmonie zwischen den verschiedenen Zeitrahmenparameter-Einstellungen ist zu beachten.

Optimierungsrichtung

Diese Strategie kann optimiert werden durch:

  • Es ist wichtig, andere technische Indikatoren zu berücksichtigen, wie z. B. die Handelsmenge, die Erschütterungsindikatoren usw., um zu verhindern, dass sie in Erschütterungssituationen eingesetzt werden.

  • Die Kurven passen besser zu den Trends, um die Qualität der Trends zu beurteilen und nicht auf falsche Trends zu folgen.

  • Dynamische Optimierung der Eintrittsintervalle und Anpassung der Intervalle an die Marktfluktuation.

  • Dynamische Optimierung der Stop-Loss-Stopp-Einstellungen, die den Parametern der Marktanpassung folgen.

  • Verschiedene Parameter für verschiedene Sorten mit unterschiedlichen Perioden eingestellt.

  • Die Auswirkungen verschiedener Parameter auf die Strategie werden mithilfe der Methode TRAINING getestet.

  • Hinzufügen von Optionen zur Optimierung der Konfiguration.

  • Die Studie untersucht, wie diese Strategie bei Stürmen angewendet werden kann.

  • Erweiterung der kombinierten Strategien über Zeiträume und Sorten.

Zusammenfassen

Die Strategie basiert auf dem Trend-Tracking-Konzept, bei dem es darum geht, die Höchstpreise von gestern zu brechen. Sie funktioniert gut in Trendbewegungen. Es gibt jedoch auch Risiken und Probleme mit der Optimierung von Parametern.

Strategiequellcode
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Author: © tumiza 999 
// © TheSocialCryptoClub

//@version=5

strategy("Yesterday's High v.17.07", overlay=true, pyramiding = 1,
         initial_capital=10000, 
         default_qty_type=strategy.percent_of_equity, default_qty_value=10,
         slippage=1, backtest_fill_limits_assumption=1, use_bar_magnifier=true,
         commission_type=strategy.commission.percent, commission_value=0.075
         )

// -----------------------------------------------------------------------------
// ROC Filter
// -----------------------------------------------------------------------------

// f_security function by LucF for PineCoders available here: https://www.tradingview.com/script/cyPWY96u-How-to-avoid-repainting-when-using-security-PineCoders-FAQ/
f_security(_sym, _res, _src, _rep) => request.security(_sym, _res, _src[not _rep and barstate.isrealtime ? 1 : 0])[_rep or barstate.isrealtime ? 0 : 1]
high_daily = f_security(syminfo.tickerid, "D", high, false)

roc_enable = input.bool(false, "", group="ROC Filter from CloseD", inline="roc")
roc_threshold = input.float(1, "Treshold", step=0.5, group="ROC Filter from CloseD", inline="roc")

closed = f_security(syminfo.tickerid,"1D",close, false)
roc_filter= roc_enable ? (close-closed)/closed*100  > roc_threshold  : true


// -----------------------------------------------------------------------------
// Trigger Point 
// -----------------------------------------------------------------------------

open_session = ta.change(time('D'))
price_session = ta.valuewhen(open_session, open, 0)
tf_session = timeframe.multiplier <= 60

bgcolor(open_session and tf_session ?color.new(color.blue,80):na, title = "Session")

first_bar = 0
if open_session
    first_bar := bar_index

var max_today = 0.0
var min_today = 0.0
var high_daily1 = 0.0
var low_daily1 = 0.0
var today_open = 0.0

if first_bar
    high_daily1 := max_today
    low_daily1 := min_today
    today_open := open
    max_today := high
    min_today := low


if high >= max_today
    max_today := high

if low < min_today
    min_today := low


same_day  = today_open == today_open[1]

plot( timeframe.multiplier <= 240 and same_day ? high_daily1 : na, color= color.yellow , style=plot.style_linebr, linewidth=1, title='High line')
plot( timeframe.multiplier <= 240 and same_day ? low_daily1 : na, color= #E8000D , style=plot.style_linebr, linewidth=1, title='Low line')

// -----------------------------------------------------------------------------
// Strategy settings 
// -----------------------------------------------------------------------------

Gap = input.float(1,"Gap%", step=0.5, tooltip="Gap di entrata su entry_price -n anticipa entrata, con +n posticipa entrata", group = "Entry")
Gap2 = (high_daily1 * Gap)/100

sl  = input.float(3, "Stop-loss", step= 0.5,  group = "Entry")
tp  = input.float(9, "Take-profit", step= 0.5, group = "Entry")
stop_loss_price = strategy.position_avg_price * (1-sl/100)
take_price = strategy.position_avg_price * (1+tp/100)

sl_trl = input.float(2, "Trailing-stop", step = 0.5, tooltip = "Attiva trailing stop dopo che ha raggiunto...",group = "Trailing Stop Settings")//group = "Trailing Stop Settings")
Atrl= input.float(1, "Offset Trailing", step=0.5,tooltip = "Distanza dal prezzo", group = "Trailing Stop Settings")
stop_trl_price_cond = sl_trl * high/syminfo.mintick/100
stop_trl_price_offset_cond = Atrl * high/syminfo.mintick/100

stop_tick = sl * high/syminfo.mintick/100
profit_tick = tp * high/syminfo.mintick/100

mess_buy = "buy"
mess_sell = "sell"

// -----------------------------------------------------------------------------
// Entry - Exit - Close
// -----------------------------------------------------------------------------

if close < high_daily1 and roc_filter
    strategy.entry("Entry", strategy.long, stop = high_daily1 + (Gap2), alert_message = mess_buy)

ts_n  = input.bool(true, "Trailing-stop", tooltip = "Attiva o disattiva trailing-stop", group = "Trailing Stop Settings")
close_ema = input.bool(false, "Close EMA", tooltip = "Attiva o disattiva chiusura su EMA", group = "Trailing Stop Settings")
len1 = input.int(10, "EMA length", step=1, group = "Trailing Stop Settings")
ma1 = ta.ema(close, len1)

plot(ma1, title='EMA', color=color.new(color.yellow, 0))

if ts_n == true
    strategy.exit("Trailing-Stop","Entry",loss= stop_tick, stop= stop_loss_price, limit= take_price, trail_points = stop_trl_price_cond, trail_offset = stop_trl_price_offset_cond, comment_loss="Stop-Loss!!",comment_profit ="CASH!!", comment_trailing = "TRL-Stop!!", alert_message = mess_sell)
else
    strategy.exit("TP-SL", "Entry",loss= stop_tick, stop=stop_loss_price, limit= take_price, comment_loss= "Stop-loss!!!", comment_profit = "CASH!!", alert_message = mess_sell)

if close_ema == true and ta.crossunder(close,ma1)
    strategy.close("Entry",comment = "Close" , alert_message = mess_sell)