Cette stratégie s'appelle
Plus précisément, la logique de négociation est très simple:
Jetez une pièce tous les lundis, générant des résultats aléatoires.
Si c'est une tête, allez long ce jour-là.
Définissez un stop loss à 1 x ATR et un profit à 1 x ATR lorsque vous êtes long, et inversement lorsque vous êtes short, ce qui permet d'obtenir un ratio risque/rendement de 1:1.
Restez en position jusqu'à la fin de la semaine, puis fermez.
L'avantage est le backtesting de nombreuses années de données pour évaluer le taux de gain moyen du trading aléatoire.
Mais le trading aléatoire ne peut pas utiliser les modèles du marché et ne générera probablement pas de gains soutenus.
En conclusion, les résultats des backtests peuvent suggérer des résultats de négociation aléatoire, mais ne représentent pas des stratégies réellement applicables.
/*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)