
Strategi perdagangan beradaptasi dua arah adalah strategi kuantitatif untuk membuat keputusan dan melakukan perdagangan berdasarkan hubungan antara harga pembukaan dan harga penutupan saham. Strategi ini akan melakukan operasi over atau under jika memenuhi kondisi parameter yang ditetapkan.
Logika inti dari strategi ini adalah berdasarkan pada hubungan besar antara harga buka dan harga tutup untuk menentukan arah. Secara khusus, jika harga tutup lebih besar dari harga buka melebihi nilai ambang yang ditetapkan, maka akan dihasilkan sinyal multitasking; jika harga buka lebih besar dari harga tutup melebihi nilai ambang, maka akan dihasilkan sinyal blanko. Setelah memasuki posisi, strategi akan terus memantau perubahan harga. Jika harga buka berbalik melebihi nilai ambang yang ditetapkan, maka akan dilakukan operasi keluar.
Dari implementasi kode, strategi pertama-tama mendefinisikan ekspresi kondisional untuk posisi panjang dan pendek, lalu masuk dengan satu kali sesuai dengan logika pembuatan posisi. Kemudian, ia akan terus mendeteksi apakah kondisi keluar telah dipicu, dan melakukan operasi posisi kosong setelah kondisi keluar terpenuhi. Oleh karena itu, strategi memantau perubahan pasar secara real-time, dan memiliki kemampuan beradaptasi dan fleksibilitas.
Strategi perdagangan adaptif dua arah memiliki beberapa keuntungan:
Meskipun ada beberapa keuntungan dari strategi ini, ada juga beberapa risiko:
Risiko-risiko ini perlu diperhatikan dengan cermat selama proses real-time, menyesuaikan parameter atau mengoptimalkan algoritma.
Strategi ini dapat dioptimalkan dari beberapa arah:
Dengan mengoptimalkan algoritme dan model, stabilitas dan profitabilitas strategi secara keseluruhan dapat ditingkatkan.
Strategi perdagangan adaptif dua arah yang menggabungkan dua mekanisme penilaian tren dan keluar adaptif dapat secara efektif mengendalikan risiko, prinsip sederhana dan parameter yang fleksibel membuat strategi ini mudah dipahami dan diperluas, merupakan strategi kuantitatif yang disarankan dan patut diteliti secara mendalam.
/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true, calc_on_order_fills=true) // Repaint?
// strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true) // Correct
val1 = input(123)
val2 = input(234)
from_year=input(2018, minval=2000, maxval=2020)
from_month=input(6, minval=1, maxval=12)
from_day=input(1, minval=1, maxval=31)
to_year=input(2019, minval=2007, maxval=2020)
to_month=input(12, minval=1, maxval=12)
to_day=input(31, minval=1, maxval=31)
long = (close-open) > val1
short = (open-close) > val1
exitLong = (open-close) > val2
exitShort = (close-open) > val2
term = true
strategy.entry("LONG", strategy.long, when=long and term)
strategy.close("LONG", when = exitLong and not short and term)
strategy.entry("SHORT", strategy.short, when=short and term)
strategy.close("SHORT", when = exitShort and not long and term)