
Strategi ini adalah strategi perdagangan garis pendek yang menggunakan dua garis rata untuk menilai pembalikan pasaran. Ia menilai hubungan penutupan tiga garis K terdahulu untuk menentukan sama ada tren naik atau tren turun, dan mengambil tindakan shorting yang sesuai apabila terdapat perubahan trend.
Strategi ini menilai indikator utama sebagai hubungan harga penutupan tiga garis K terdahulu. Jika tiga garis K terdahulu adalah negatif, maka penilaian kini berada dalam trend menurun; Jika tiga garis K terdahulu adalah positif, maka penilaian kini berada dalam trend naik. Apabila garis matahari besar muncul selepas trend menurun, lakukan lebih banyak; Apabila garis matahari besar muncul selepas trend naik, lakukan kosong.
Logik penghakiman khusus untuk melakukan lebih banyak adalah: jika tiga garis K terdahulu adalah garis negatif, dan garis K terakhir adalah garis negatif besar, maka lebih banyak. Logik penghakiman kedudukan rata adalah kedudukan rata apabila harga menembusi titik tertinggi garis K sebelumnya.
Logik penghakiman konkrit untuk melakukan pengosongan adalah: jika tiga garis K terdahulu adalah garis matahari, dan garis K terakhir adalah garis matahari besar, dan harga lebih rendah daripada purata bergerak sederhana. Logik penghakiman kedudukan rata adalah kedudukan rata ketika harga jatuh ke titik terendah garis K terdahulu.
Panjang purata bergerak dan saiz lebar garis besar yang ditentukan oleh input pengguna.
Menggunakan bentuk K untuk menilai titik balik pasaran, mengelakkan saling mengejar dalam trend, mengurangkan kerugian.
Di samping itu, ia juga boleh digunakan untuk mengesan pergerakan rata-rata dan mengelakkan pemisahan awal di barisan sasaran.
Logik strategi mudah difahami dan diubah suai.
Parameter boleh disesuaikan untuk pelbagai jenis dan tempoh masa.
Dalam keadaan tertentu, ia adalah baik untuk menangkap peluang untuk penyesuaian jangka pendek.
Pasaran mungkin akan mengalami tiga berturut-turut yang berturut-turut yang berturut-turut atau yang berturut-turut yang berturut-turut, di mana masuk akan dikurung. Syarat yang lebih ketat boleh ditetapkan untuk mengurangkan risiko ini.
Kegagalan berbalik mudah dikejar dan dihapuskan. Stop loss boleh ditetapkan untuk mengawal risiko.
Tetapan parameter yang tidak betul boleh menyebabkan terlalu kerap masuk atau kehilangan peluang yang baik. Perlu berulang kali menguji parameter pengoptimuman.
Apabila major disk bergoyang, ia mudah dipetik. Ia boleh meningkatkan kriteria penilaian untuk mengelakkan salah penilaian.
Menggunakan petunjuk yang lebih kompleks yang digabungkan dengan penghakiman bentuk garis K, seperti BOLL, MACD, dan lain-lain, dapat meningkatkan ketepatan penghakiman.
Meningkatkan jumlah dagangan atau turun naik dalam kombinasi dengan bentuk garis K, mengelakkan kekosongan jumlah.
Tambah logik hentian. Tetapkan hentian nombor titik tetap atau hentian penjejakan.
Untuk mengoptimumkan parameter, cari kombinasi parameter terbaik.
Uji data untuk lebih banyak varieti dan kitaran untuk mencari persekitaran yang sesuai.
Strategi ini secara keseluruhan adalah strategi garis pendek yang lebih umum yang menggunakan indikator sederhana untuk menangkap perubahan jangka pendek di pasaran. Kelebihannya adalah mudah difahami, logiknya jelas, dan dengan pengoptimuman tertentu dapat mencapai kesan yang baik. Tetapi ada juga beberapa risiko strategi pembalikan yang tipikal, yang perlu dikendalikan dengan cara menetapkan stop loss, penghakiman keadaan pembalikan yang ketat dan sebagainya.
/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © stormis
// Based on strategy by hackertrader (original idea by QuantpT)
//@version=5
strategy(title="Mean reversion", shorttitle="MeanRev", precision=16 , overlay=true)
moveLimit = input(70)
maLength = input(200)
ma = ta.sma(close, maLength)
downBar = open > close
isThreeDown = downBar and downBar[1] and downBar[2]
isThreeUp = not downBar and not downBar[1] and not downBar[2]
isBigMoveDown = ((open - close) / (0.001 + high - low)) > moveLimit / 100.0
isBigMoveUp = ((close - open) / (0.001 + high - low)) > moveLimit / 100.0
isLongBuy = isThreeDown and isBigMoveDown
isLongExit = close > high[1]
isShortBuy = isThreeUp and isBigMoveUp
isShortExit = close < low[1]
strategy.entry("Entry Long", strategy.long, when=isLongBuy)
strategy.close("Entry Long", when=isLongExit)
strategy.entry("Entry Short", strategy.short, when=close < ma and isShortBuy)
strategy.close("Entry Short", when=isShortExit)
plot(ma, color=color.gray)