
Strategi momentum breakout didasarkan pada konsep yang dikemukakan oleh Richard Buxtaber pada tahun 1984 bahwa pasar cenderung berlanjut ke arah ini ketika terjadi fluktuasi besar. Oleh karena itu, strategi ini menggunakan ATR untuk mengukur volatilitas dan mengirimkan sinyal perdagangan ketika perubahan harga penutupan melebihi beberapa kali nilai terendah ATR.
Strategi ini pertama-tama menghitung indikator ATR untuk mengukur volatilitas pasar. Kemudian menghitung nilai mutlak dari perubahan harga penutupan setiap hari. Sinyal perdagangan dihasilkan ketika perubahan harga penutupan melebihi beberapa kali nilai indikator ATR. Secara khusus, jika kenaikan harga penutupan lebih besar dari ATR, lakukan lebih banyak; jika penurunan harga penutupan lebih besar dari ATR, lakukan kosong.
Strategi ini menggunakan indikator ATR untuk secara dinamis menentukan titik tolak. Ketika pasar berfluktuasi meningkat, titik tolak akan naik, dapat mengurangi kesalahan perdagangan. Ketika pasar berfluktuasi berkurang, titik tolak akan turun, dapat menangkap kesempatan untuk menerobos tepat waktu.
Anda dapat mempertimbangkan untuk memfilter waktu perdagangan dengan indikator lain, meningkatkan efisiensi. Anda juga dapat memilih parameter yang lebih baik untuk karakteristik varietas. Menggunakan teknologi seperti algoritma Martinegil untuk mengontrol frekuensi perdagangan.
Strategi penembusan momentum sederhana dan langsung, memanfaatkan terobosan untuk menghasilkan sinyal perdagangan. ATR stop loss memungkinkan untuk menyesuaikan diri dengan volatilitas pasar. Strategi ini bergantung pada optimasi parameter untuk mendapatkan hasil yang baik.
/*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)