
Die Low-Buy-High-Sell-Strategie ist eine sehr einfache, aber wirksame langfristige Handelsstrategie. Sie kauft automatisch nach einem starken Rückgang der Kryptowährung und verkauft, wenn der Anstieg das gesetzte Ziel erreicht, um bei starken Marktschwankungen zu profitieren.
Der Kern der Strategie besteht darin, zu beurteilen, ob ein starker Rückgang des Marktes aufgetreten ist, indem man den Anstieg und Rückgang der Kryptowährungen innerhalb eines bestimmten Rücklaufzeitraums berechnet. Wenn der Kryptowährungspreis in der letzten Zeit stark über den eingestellten Tiefstwert gefallen ist, was bedeutet, dass der Markt möglicherweise in extremer Panik ist, dann kauft die Strategie automatisch ein.
Konkret berechnet die Strategie mit der Trailing_change-Funktion den Gesamtzu- und Abwärtstrend einer Kryptowährung in einem gegebenen Rücklaufzeitraum. Wenn der Kursanstieg der Kryptowährung innerhalb der letzten inp_lkb-Wurzel K kleiner als der negative Wert des eingestellten Parameters dip ist, ist dies ein erheblicher Rückgang, der den Kaufbedingungen entspricht. In diesem Fall wird die Kaufoption der Strategie innerhalb der Rückmessungszeitfenster ausgelöst.
Nach dem Kauf der Position zu öffnen, die Strategie wird in Echtzeit zu verfolgen, wie sich der Preis ändert, mit zwei Ausgang Bedingungen: 1) Wenn der Preis fällt unter dem Preis der Position zu öffnen (1 - Stop-Loss-Ratio) %, wird die Stop-Loss-Begrenzung ausgelöst; 2) Wenn der Preis brechen die Position zu öffnen (1 + Stop-Loss-Ratio) %, wird die Stop-Begrenzung ausgelöst.
Der größte Vorteil dieser Low-Buy-High-Sell-Strategie besteht darin, dass sie sehr einfach und einfach zu implementieren ist. Sie erfordert keine komplizierten technischen Indikatoren, sondern ist nur für den Handel mit Anfängern geeignet, um die Marktentwicklung anhand der jüngsten Schwankungen zu beurteilen.
Darüber hinaus unterstützt die Strategie die Stop-Loss- und Stop-Stop-Einstellungen, um die Verluste einzelner Geschäfte effektiv zu kontrollieren und einen Teil der Gewinne zu sperren. Dies macht die Strategie auch für den realen Handel geeignet.
Das Hauptrisiko dieser Strategie besteht darin, dass es nicht möglich ist, den Zeitpunkt der Marktumkehr zu bestimmen. Wenn der Markt weiter sinkt und nicht rückgängig wird, kann es zu großen Verlusten bei der Kaufposition kommen.
Ein weiteres Risiko, das zu beachten ist, ist, dass bei starken Marktschwankungen der Preis kurzfristig zu Stop-Loss- oder Stop-Stop-Bedingungen führen kann. Dies kann zu zusätzlichen Handelskosten führen. Es ist nicht ungewöhnlich, dass der Preis in kurzer Zeit mehrere Stop-Stop-Bedingungen auslöst, insbesondere bei starken Marktschwankungen.
Für die oben genannten Risiken können wir eine breitere Rücklaufzeit einrichten, um sicherzustellen, dass das Kaufsignal stabiler und zuverlässiger ist und die falschen Signale in einigen Schwankungen filtern kann. Zusätzlich kann die Hinzufügung einer bestimmten Handelsruhezeit, in der keine neuen Positionen für eine gewisse Zeit nach dem Platzieren eröffnet werden, auch die übermäßige Häufigkeit der Handelsfrequenz reduzieren, die durch Preisschwankungen verursacht wird.
Die Strategie bietet Raum für weitere Optimierungen und konzentriert sich auf folgende Bereiche:
Dynamische Anpassung der Stop-Loss-Stopp-Parameter. Die Stop-Loss-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-Stopp-S
In Kombination mit mehreren Faktoren, die den Zeitpunkt des Kaufs bestimmen. Zusätzlich zu den jüngsten Anstiegen und Abwärtstrends können andere Faktoren wie die Veränderung des Handelsvolumens einbezogen werden, um ein zuverlässigeres Umkehrsignal zu bestimmen.
Einzug in die Wiedereintrittsmechanismen. Nach einem Stop-Loss oder einer Stop-Out kann eine bestimmte Wiedereintrittsstrategie eingerichtet werden, um bei neuen Umkehrmöglichkeiten erneut zu kaufen.
Die Strategie ist sehr einfach, leicht zu verstehen und zu implementieren und eignet sich sehr gut für Anfänger. Durch weitere Optimierung kann eine stabilere Strategieperformance erzielt werden. Insgesamt ist die Strategie ein empfehlenswerter langfristiger Handel.
/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 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/
// © Coinrule
//@version=3
strategy(shorttitle='Buy the Dips',title='Buy the Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month")
fromDay = input(defval = 10, title = "From Day")
fromYear = input(defval = 2020, title = "From Year")
thruMonth = input(defval = 1, title = "Thru Month")
thruDay = input(defval = 1, title = "Thru Day")
thruYear = input(defval = 2112, title = "Thru Year")
showDate = input(defval = true, title = "Show Date Range")
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
inp_lkb = input(1, title='Lookback Period')
perc_change(lkb) =>
overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100
// Call the function
overall = perc_change(inp_lkb)
//Entry
dip= -(input(2))
strategy.entry(id="long", long = true, when = overall< dip and window())
//Exit
Stop_loss= ((input (2))/100)
Take_profit= ((input (2))/100)
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)
strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())