
Diese Strategie ist eine Multi-Stock-Stop-Strategie für den BTC-Roboter. Sie erfolgt durch die Suche nach dem niedrigsten Punkt zum Kauf-Eintrag, dann wird ein Multi-Stock-Stop-Stopp für die Sticko-Stop-Exit-Strategie eingerichtet. Gleichzeitig wird ein Stop-Loss-Stopp für die Risikokontrolle eingerichtet.
Eintrittszeit suchen: Ein Kaufsignal wird erzeugt, wenn der CC-Indikator unter der 0-Achse durchläuft, und an diesem Punkt werden mehrere Aufträge gekauft.
Stop-Loss-Punkt: Stop-Loss wird in den Preis umgewandelt, indem der Stop-Loss-Prozentsatz eingestellt wird.
Multi-Level-Stop-Punkte: Die Stop-Punkte werden in 4 Ausgangspunkte aufgeteilt, wobei die Stop-Percentages für die einzelnen Ausgangspunkte durch Input in Preise umgewandelt werden.
Risikokontrolle: Setzen Sie die maximale Positionsmenge, indem Sie den Prozentsatz der Ausgänge an jedem Ausgangspunkt durch Input setzen.
Diese Strategie hat folgende Vorteile:
Eintrittssignale sind zuverlässig, suchen Sie nach den niedrigsten Kaufpunkten und vermeiden Sie Kaufpunkte an den höchsten Punkten.
Die Multi-Level-Stop-Lösung kann einen Teil der Gewinne sperren, während ein Teil der Gewinne für die Fortführung des Betriebs reserviert wird.
Ein Stop-Loss-Punkt ist ein Risikokontrolle, bei der die Verluste in einem bestimmten Bereich kontrolliert werden können.
Das Risiko kann aufgeteilt werden, um Verluste auf einmal zu vermeiden.
Ein Rückzug kann in gewissem Maße kontrolliert werden.
Die Strategie birgt auch folgende Risiken:
Der CC-Indikator ist nicht in der Lage, den Tiefpunkt zu 100% zu bestimmen, was zu einem Verlust von Kaufchancen führen kann.
Die falsche Einstellung des Stopp-Punktes kann zu unnötigen Stopps führen.
Unkorrektes Einsatzmodell kann auch zu einem Verlust von Gewinn führen.
Es ist schwieriger, die Erschütterung abzubrechen.
Es kann schwierig sein, das zu stoppen, wenn sich die Dinge umdrehen.
Die Optimierung kann in folgenden Bereichen erfolgen:
Optimieren Sie die Eintrittssignale, indem Sie mehr Indikatoren oder maschinelle Lernvorstellungen hinzufügen, um zu bestimmen, wann ein Kauf gemacht wird.
Optimierung der Stop-Loss-Strategie, um sie flexibler zu machen und besser auf Situationen reagieren zu können.
Das Spiel wurde von den Spielern in den USA und in den USA veröffentlicht und wurde von den Spielern in den USA und in den USA veröffentlicht.
Die Einführung von Strategien wie Trailing Stops, die die Elastizität des Stopps erhöhen.
Verschiedene Varianten mit unterschiedlichen Parameter-Einstellungen testen, um die optimale Kombination zu finden.
Diese Strategie ist insgesamt eine BTC-Trading-Strategie, die auf der Suche nach dem niedrigsten Kaufsignal basiert und mehrere Stufen für Stopps und Stop-Losses hat. Sie hat einige Vorteile, aber es gibt auch Optimierungsmöglichkeiten. Durch weitere Optimierungen kann die Strategie besser in Bezug auf Rückzugskontrollen und Stopps gemacht werden.
/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_1",2]]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni
// © theCrypster 2020
//@version=4
// strategy(title = "BTC bot", overlay = true, pyramiding=1,initial_capital = 10000, 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.075)
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)
//INPUTS
higherTF = input("W", type=input.resolution)
pc = security(syminfo.tickerid, higherTF, close[1], lookahead=true)
ph = security(syminfo.tickerid, higherTF, high[1], lookahead=true)
pl = security(syminfo.tickerid, higherTF, low[1], lookahead=true)
PP = 0.0,R1 = 0.0, R2 = 0.0, R3 = 0.0,S1 = 0.0, S2 = 0.0, S3 = 0.0
PP := (ph + pl + pc) / 3
R1 := PP + (PP - pl)
S1 := PP - (ph - PP)
R2 := PP + (ph - pl)
S2 := PP - (ph - pl)
factor=input(2)
R3 := ph + factor * (PP - pl)
S3 := pl - 2 * (ph - PP)
//
length=input(21)
//
p = close
vrsi = rsi(p, length)
pp=ema(vrsi,length)
d=(vrsi-pp)*5
cc=(vrsi+d+pp)/2
//
low1=crossover(cc,0)
sell=crossover(close[1],R3)
//
l = low1
s=sell
if l
strategy.entry("buy", strategy.long)
if s
strategy.entry("sell", strategy.short)
per(pcnt) =>
strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=15, 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=3, minval=0.01)
tp2=input(title=" Take profit2", defval=5, minval=0.01)
tp3=input(title=" Take profit3", defval=7, minval=0.01)
tp4=input(title=" Take profit4", defval=10, 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)