Die Strategie nennt sich “Einfache Handelsstrategie basierend auf Zufall”. Die Strategie verwendet eine Zufallsmethode, die am ersten Tag der Woche ein Über- oder Unterziehungssignal erzeugt, um die Wirksamkeit von Zufallshandlungen durch eine große Anzahl von wiederholten Tests zu bewerten.
Die Transaktionslogik der Strategie ist sehr einfach und unkompliziert:
Jedes Montag wird eine Münze geworfen, um zufällig Kopf oder Farsch zu erzeugen.
Wenn es Kopf ist, dann mehr am Tag; wenn es Schwanz ist, dann am Tag frei.
Bei Überschreitung wird der Stop-Loss auf ein Doppel ATR und der Stop-Loss auf ein Doppel ATR eingestellt. Bei Überschreitung wird das Risiko-Rendite-Verhältnis 1:1 erreicht.
Die Positionen wurden bis zum Wochenende platziert.
Der Vorteil dieser Strategie besteht darin, dass die durchschnittliche Erfolgsrate von zufälligen Transaktionen aus einer Vielzahl von Jahren zurückverfolgt werden kann. Die Handelsregeln sind sehr einfach und können als Vergleichsbasis für die Strategie verwendet werden.
Zufällige Trades können jedoch keine Marktregeln nutzen, so dass es schwierig ist, kontinuierlich positive Gewinne zu erzielen. Die Stop-Loss-Festsetzung kann auch zu Verlusten führen. Der Händler kann dies nur als experimentelle Strategie verwenden und kann nicht auf dem Markt verwendet werden.
Im Allgemeinen kann die Rückmeldung von Daten die Wirksamkeit von Zufallshandlungen anzeigen, aber keine praktisch einsetzbare Strategie darstellen. Der Händler benötigt letztendlich Urteilsvermögen und systematische Handelstechniken.
/*backtest
start: 2022-09-12 00:00:00
end: 2023-01-12 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("CoinFlip", overlay = true)
int result = int(math.random()+0.5)
atr_period = input(defval = 20, title = "ATR Period")
year_to_test = input(defval = 2022, title = "Year to Test")
day_of_week = input(defval = 1, title = "Day of Week")
atr = ta.atr(atr_period)
shouldSell = result == 0 and dayofweek == day_of_week
shouldBuy = result == 1 and dayofweek == day_of_week
plotshape(result == 0 and dayofmonth == day_of_week, title="sell", location=location.abovebar, color=color.red, transp=0, style=shape.arrowdown)
plotshape(result == 1 and dayofmonth == day_of_week, title="buy", location=location.belowbar, color=color.lime, transp=0, style=shape.arrowup)
strategy.entry("short entry", strategy.short, 1000 / (1*atr), when=shouldSell and year == year_to_test)
strategy.entry("long entry", strategy.long, 1000 / (1*atr), when=shouldBuy and year == year_to_test)
strategy.exit("exit", "long entry", limit = close + 1*atr, stop = close - 1*atr, when = shouldBuy)
strategy.exit("exit", "short entry", limit = close - 1*atr, stop = close + 1*atr, when = shouldSell)