Stratégie de trading simple basée sur la chance

Auteur:ChaoZhang est là., Date: 2023-09-13 17:48:13
Les étiquettes:

Cette stratégie s'appelle Simple Trading Strategy Based on Random Luck. Elle utilise des méthodes aléatoires pour générer des signaux longs ou courts le premier jour de négociation de chaque semaine, en évaluant la performance du trading aléatoire grâce à un grand nombre de tests répétitifs.

Plus précisément, la logique de négociation est très simple:

  1. Jetez une pièce tous les lundis, générant des résultats aléatoires.

  2. Si c'est une tête, allez long ce jour-là.

  3. 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.

  4. 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)



Plus de