Ide utama dari strategi ini adalah untuk membeli pada saat penutupan pada hari saat ini dan menjual pada saat terbuka pada hari berikutnya jika harga lebih tinggi dari harga pembelian, jika tidak terus memegang sampai stop loss atau profit taking.
Strategi pertama menetapkan rata-rata bergerak sederhana 200 hari sebagai indikator keadaan pasar, yang memungkinkan perdagangan hanya ketika harga berada di atas garis 200 hari. Waktu pembelian ditetapkan pada setengah jam terakhir sebelum penutupan setiap hari, dan waktu penjualan ditetapkan pada setengah jam pertama setelah pembukaan berikutnya. Ketika keadaan pasar memenuhi persyaratan selama waktu pembelian, itu akan menempatkan pesanan pasar untuk membeli. Selama waktu penjualan, itu akan memeriksa apakah harga lebih tinggi dari harga pembelian, jika ya, itu akan menempatkan pesanan pasar untuk menjual dan mengambil keuntungan, jika tidak, itu terus memegang sampai stop loss atau mengambil keuntungan besok.
Strategi ini memiliki keuntungan berikut:
Menggunakan efek penutupan di mana fluktuasi harga dan celah lebih besar selama penutupan.
Periode kepemilikan yang singkat memungkinkan stop loss dan profit taking yang cepat untuk mengurangi risiko.
Logikanya sederhana dan mudah dimengerti dan diterapkan.
Konfigurasi fleksibel pada garis stop loss dan indikator kondisi pasar untuk mengendalikan risiko.
Ada juga beberapa risiko:
Membeli pada harga penutupan dapat mengambil posisi dengan harga tinggi, meningkatkan risiko kerugian.
Waktu tunggu yang singkat membuat mudah untuk terjebak.
Hal ini bergantung pada celah besar, yang mungkin tidak selalu terbentuk, menyebabkan kerugian atau posisi terperangkap.
Memilih simbol yang salah, seperti konsolidasi indeks, dapat menyebabkan beberapa kerugian.
Solusi:
Menggabungkan indikator teknis untuk memastikan pembelian pada titik terendah relatif pada saat penutupan.
Perpanjang masa penyimpanan menjadi 2-3 hari.
Hanya membeli pada saat-saat yang valid.
Pilih simbol dengan hati-hati, pilih simbol dengan tren naik.
Strategi dapat dioptimalkan dalam aspek berikut:
Tambahkan lebih banyak indikator teknis untuk sinyal pembelian untuk meningkatkan kepastian.
Uji periode penyimpanan yang berbeda untuk menemukan waktu pengambilan keuntungan yang optimal.
Optimalkan garis stop loss untuk menemukan titik stop loss yang optimal.
Uji kinerja di berbagai simbol dan lingkungan pasar, mengadopsi simbol dinamis dan manajemen posisi.
Strategi ini memiliki logika yang jelas, memanfaatkan efek celah penutupan untuk perdagangan stop loss / profit yang cepat. Mudah diterapkan dan dimengerti. Tetapi juga memiliki risiko perangkap yang tinggi. Ukuran posisi, manajemen stop loss dan pengambilan saham sangat penting. Ini dapat lebih dioptimalkan pada peningkatan kepastian pembelian, periode pemegang optimal dan titik stop loss, dan ukuran posisi dinamis untuk meningkatkan stabilitas dan profitabilitas sambil mengendalikan risiko.
/*backtest start: 2022-12-27 00:00:00 end: 2024-01-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 // © HermanBrummer // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ strategy("M8 BUY @ END OF DAY", "", 1) /// BUYS AT THE END OF THE DAY /// SELLS THE NEXT MORNING IF PRICE IS HIGHER THEN THE ENTRY PRICE /// IF PRICE IS NOT HIGHER THEN IT WILL KEEP THE POSITION AND WAIT FOR EITHER A STOP OUT OR FOR PRICE TO BE HIGHER THAN THE ENTRY /// USES A 5% STOP LOSS ON THE REDLINE -- SETTABLE IN SETTINGS /// USES A 200 DAY MARKET FILTER -- SETTABLE IN SETTINGS -- IMPORTS DATA FROM HIGHER TIMEFRAME, BUT USES CLOSE[2] << SO THIS IS FIXED, NON-REPAITING DATA MarketFilterLen = input(200) StopLossPerc = input(.95, step=0.01) buyTime = time(timeframe.period, "1429-1500") sellTime = time(timeframe.period, "0925-0935") F1 = close > sma(security(syminfo.tickerid, "D", close[2]), MarketFilterLen) // HIGH OF OLD DATA -- SO NO REPAINTING enter = buyTime and F1 exit = sellTime StopLossLine = strategy.position_avg_price * StopLossPerc plot(StopLossLine, "StopLossLine", color.new(#FF0000, 50)) strategy.entry("L", true, when=enter) strategy.exit("StopLoss", stop=StopLossLine ) if close > strategy.position_avg_price strategy.close("L", when=exit) barcolor(strategy.opentrades != 0 ? color.new(color.yellow, 0) : na )