Strategi perdagangan sederhana berdasarkan keberuntungan acak


Tanggal Pembuatan: 2023-09-13 17:48:13 Akhirnya memodifikasi: 2023-09-13 17:48:13
menyalin: 0 Jumlah klik: 734
1
fokus pada
1617
Pengikut

Strategi ini disebut strategi perdagangan sederhana yang didasarkan pada keberuntungan acak. Strategi ini menggunakan metode acak yang menghasilkan sinyal over atau under pada hari pertama setiap minggu, untuk menilai efektivitas perdagangan acak melalui banyak pengujian berulang.

Secara khusus, logika transaksi strategi ini sangat sederhana dan langsung:

  1. Setiap hari Senin, sebuah koin dilemparkan secara acak untuk menghasilkan hasil kepala atau ekor.

  2. Jika kepala, lakukan lebih banyak pada hari itu; jika ekor, lakukan kosong pada hari itu.

  3. Saat melakukan over, set stop loss adalah 1 kali lipat ATR, stop loss adalah 1 kali lipat ATR; melakukan shorting sama saja, mencapai rasio risiko-pengembalian 1:1.

  4. Posisi yang dipegang hingga akhir pekan ini akan dihapus.

Keuntungan dari strategi ini adalah bahwa data yang berasal dari tahun-tahun yang sangat banyak dapat digunakan untuk menilai rata-rata kemenangan dari perdagangan acak. Aturan perdagangan sangat sederhana dan dapat digunakan sebagai dasar untuk membandingkan strategi.

Namun, perdagangan acak tidak dapat memanfaatkan aturan pasar dan sulit untuk terus mendapatkan keuntungan positif. Penetapan stop loss juga dapat menyebabkan kerugian. Pedagang hanya dapat menggunakannya sebagai strategi eksperimental dan tidak dapat digunakan di pasar nyata.

Secara keseluruhan, data retrospektif dapat memberi petunjuk tentang efektivitas perdagangan acak, tetapi tidak mewakili strategi yang dapat digunakan secara praktis. Pada akhirnya, pedagang membutuhkan kebijaksanaan dan keterampilan perdagangan yang sistematis.

Kode Sumber Strategi
/*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)