
Strategi ini adalah metode sistematis yang bertujuan untuk memanfaatkan volatilitas pasar futures minyak mentah. Ini mengukur kisaran interval rata-rata dari leverage, yang berarti leverage lebih besar jika rata-rata bergerak cepat lebih tinggi dari rata-rata bergerak lambat; jika rata-rata bergerak lambat lebih tinggi dari rata-rata bergerak cepat, itu berarti leverage lebih kecil.
Berdasarkan prinsip ini, identifikasi potensi titik masuk panjang dan titik masuk pendek. Posisi hanya mempertahankan sejumlah frame tertentu, parameter ini dikendalikan oleh input frame Exit after bars.
Strategi ini menggunakan breakout dan regresi untuk menilai tren jangka pendek, termasuk strategi volatilitas. Dengan mengoptimalkan pengaturan parameter dan menambahkan indikator volatilitas, Anda dapat mengurangi probabilitas false breakout dan meningkatkan tingkat keuntungan. Sementara itu, mekanisme cepat keluar dari garis K akar tetap dapat mengunci keuntungan tertentu dan secara efektif mengendalikan risiko.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Celestial_Logic
//@version=5
strategy("Crudeoil Breakout strategy", overlay = true, initial_capital = 20000, default_qty_type = strategy.fixed, default_qty_value = 1)
highestCloseLookback = input(9 , title = 'Highest Close lookback')
lowestCloseLookback = input(50, title = 'Lowest Close lookback' )
exitAfter = input(10, title = 'Exit after bars')
hc = ta.highest(close,highestCloseLookback)
lc = ta.lowest(close,lowestCloseLookback)
rangeFilter = (ta.sma( (high - low), 5 ) > ta.sma((high-low), 20) ) // Candles getting bigger.
longCondition = (close == hc ) and not rangeFilter
shortCondition = (close == lc ) and not rangeFilter
if longCondition
strategy.entry(id = 'long', direction = strategy.long)
if shortCondition
strategy.entry(id = 'short', direction = strategy.short)
var int longsince = 0
var int shortsince = 0
if strategy.position_size > 0
longsince += 1
else
longsince := 0
if strategy.position_size < 0
shortsince += 1
else
shortsince := 0
if longsince >= exitAfter
strategy.close(id = 'long', comment = 'long close')
if shortsince >= exitAfter
strategy.close(id = 'short', comment = 'short close')