Простая стратегия торговли, основанная на случайной удаче

Автор:Чао Чжан, Дата: 2023-09-13 17:48:13
Тэги:

Эта стратегия называется Простая стратегия торговли на основе случайной удачи. Она использует случайные методы для генерации длинных или коротких сигналов в первый торговый день каждой недели, оценивая производительность случайной торговли с помощью большого количества повторяющихся тестов.

В частности, логика торговли очень проста:

  1. Каждый понедельник бросают монету, произвольно получая результаты головы или хвоста.

  2. Если голова, то в тот день выйдет длинный, если хвост, то короткий.

  3. Установите стоп-лосс на 1 x ATR и возьмите прибыль на 1 x ATR при длинном, и наоборот при коротком, достигнув 1: 1 соотношения риск-вознаграждение.

  4. Держите позицию до конца недели, а потом закрывайте.

Преимущество заключается в обратном тестировании многолетних данных для оценки среднего показателя выигрыша случайной торговли.

Но случайная торговля не может использовать рыночные модели и вряд ли будет приносить устойчивую прибыль. Фиксированные стоп-лосс и прибыль также рискуют увеличить убытки. Трейдеры могут использовать ее только в качестве экспериментальной стратегии, а не для живой торговли.

В заключение, результаты обратных тестов могут указывать на результаты случайной торговли, но не представляют собой действительно применимые стратегии.


/*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)



Больше