
Strategi terobosan momentum adalah berdasarkan kepada konsep Richard Buxtaber yang dikemukakan pada tahun 1984 bahawa apabila terdapat turun naik yang besar, pasaran cenderung untuk terus berjalan ke arah itu. Oleh itu, strategi ini menggunakan ATR untuk mengukur turun naik dan menghantar isyarat perdagangan apabila perubahan harga penutupan melebihi beberapa kali nilai terendah ATR.
Strategi ini mula-mula mengira indikator ATR untuk mengukur turun naik pasaran. Ia kemudian mengira nilai mutlak perubahan harga penutupan setiap hari. Ia menghasilkan isyarat perdagangan apabila perubahan harga penutupan melebihi beberapa kali nilai indikator ATR. Secara khusus, jika kenaikan harga penutupan lebih besar daripada ATR, lakukan lebih banyak; jika penurunan harga penutupan lebih besar daripada ATR, lakukan kosong.
Strategi ini menggunakan indikator ATR untuk menentukan secara dinamik nilai pecah. Apabila turun naik pasaran meningkat, nilai pecah akan meningkat, yang dapat mengurangkan kesalahan perdagangan. Apabila turun naik pasaran berkurang, nilai pecah akan menurun, yang dapat menangkap peluang pecah tepat pada masanya.
Anda boleh mempertimbangkan untuk memfilter masa perdagangan dengan penunjuk lain untuk meningkatkan kecekapan. Anda juga boleh memilih parameter yang lebih baik untuk ciri-ciri varieti. Anda boleh menggunakan teknologi seperti algoritma Martingale untuk mengawal frekuensi perdagangan.
Strategi penembusan momentum mudah dan langsung, menggunakan penembusan untuk menghasilkan isyarat perdagangan. Hentikan ATR membolehkan ia menyesuaikan diri dengan turun naik pasaran. Strategi ini bergantung kepada pengoptimuman parameter yang dapat memperoleh kesan yang baik. Tetapi ada juga beberapa masalah, seperti kehilangan penembusan pertama, perdagangan yang kerap, dan sebagainya.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © EduardoMattje
//@version=5
strategy("Volatility System", overlay=false, margin_long=0, margin_short=0, default_qty_type=strategy.percent_of_equity,
default_qty_value=100, process_orders_on_close=true, initial_capital=20000)
// Inputs
var averageLength = input.int(14, "Average length", 2)
var multiplier = input.float(2.0, "Multiplier", 0.0, step=0.1)
// Calculations
atr = ta.atr(averageLength) * multiplier
closingChange = ta.change(close, 1)
atrPenetration(int signal) =>
res = closingChange * signal > atr[1]
longCondition = atrPenetration(1)
shortCondition = atrPenetration(-1)
// Order calls
if (longCondition)
strategy.entry(strategy.direction.long, strategy.long)
if (shortCondition)
strategy.entry(strategy.direction.short, strategy.short)
// Visuals
plot(atr, "ATR", color.white, 2)
plot(math.abs(closingChange), "Absolute close change", color.red)