Strategi Perdagangan Sederhana Berdasarkan Kecelakaan

Penulis:ChaoZhang, Tanggal: 2023-09-13 17:48:13
Tag:

Strategi ini disebut Simple Trading Strategy Based on Random Luck. Ini menggunakan metode acak untuk menghasilkan sinyal panjang atau pendek pada hari perdagangan pertama setiap minggu, mengevaluasi kinerja perdagangan acak melalui sejumlah besar pengujian berulang.

Secara khusus, logika perdagangan sangat mudah:

  1. Melempar koin setiap hari Senin, secara acak menghasilkan hasil kepala atau ekor.

  2. Jika kepala, pergi panjang hari itu. Jika ekor, pergi pendek hari itu.

  3. Tetapkan stop loss pada 1 x ATR dan ambil keuntungan pada 1 x ATR ketika panjang, sebaliknya ketika pendek, mencapai rasio risiko-manfaat 1:1.

  4. Tahan posisi sampai akhir minggu lalu tutup.

Keuntungan adalah backtesting banyak tahun data untuk mengevaluasi rata-rata tingkat kemenangan perdagangan acak.

Tapi perdagangan acak tidak dapat memanfaatkan pola pasar dan tidak mungkin menghasilkan keuntungan berkelanjutan. Stop loss tetap dan mengambil keuntungan juga berisiko memperbesar kerugian. Pedagang hanya dapat menggunakannya sebagai strategi eksperimental, bukan untuk perdagangan langsung.

Sebagai kesimpulan, hasil backtest mungkin menunjukkan hasil perdagangan acak, tetapi tidak mewakili strategi yang benar-benar berlaku.


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



Lebih banyak