Strategi Dagangan Sederhana Berdasarkan Nasib

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

Strategi ini dinamakan Simple Trading Strategy Based on Random Luck. Ia menggunakan kaedah rawak untuk menjana isyarat panjang atau pendek pada hari perdagangan pertama setiap minggu, menilai prestasi perdagangan rawak melalui sejumlah besar ujian berulang.

Secara khusus, logik dagangan adalah sangat mudah:

  1. Lemparkan duit syiling setiap Isnin, secara rawak 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 apabila panjang, sebaliknya apabila pendek, mencapai nisbah risiko-balasan 1: 1.

  4. Simpan kedudukan sehingga akhir minggu kemudian tutup.

Kelebihan adalah backtesting banyak tahun data untuk menilai purata kadar kemenangan perdagangan rawak.

Tetapi perdagangan rawak tidak dapat menggunakan corak pasaran dan tidak mungkin menghasilkan keuntungan yang berterusan. Stop loss tetap dan mengambil keuntungan juga berisiko meningkatkan kerugian. Pedagang hanya boleh menggunakannya sebagai strategi eksperimen, bukan untuk perdagangan langsung.

Kesimpulannya, hasil backtest mungkin menunjukkan hasil perdagangan rawak, tetapi tidak mewakili strategi yang benar-benar boleh digunakan.


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