
Strategi Binary Equity Breakout adalah strategi perdagangan kuantitatif yang lebih khas untuk mengikuti tren. Strategi ini menilai posisi dengan menghitung rata-rata bergerak sederhana untuk periode yang berbeda dan menetapkan sinyal perdagangan sebagai harga yang menerobos rata-rata bergerak. Strategi ini menggunakan garis 20 hari dan 60 hari sebagai sinyal perdagangan.
Logika inti dari strategi penembusan dua jalur adalah:Menggunakan Moving Average untuk berbagai periode untuk menangkap tren harga dan mengirimkan sinyal perdagangan ketika harga melewati Moving Average。
Secara khusus, strategi ini menggunakan rata-rata bergerak sederhana 20 hari dan rata-rata bergerak sederhana 60 hari. Kedua rata-rata bergerak ini dapat dilihat sebagai alat untuk menangkap tren jangka pendek dan tren jangka menengah.
Kode yang disahkanta.crossoverDanta.crossunderUntuk menentukan apakah harga akan menembus atau menembus suatu rata-rata bergerak. Jika terjadi penembusan, maka akan ada instruksi untuk melakukan over atau under position.
Strategi penembusan dua garis rata memiliki beberapa keuntungan:
Strategi penembusan dua jalur ini juga memiliki beberapa risiko:
Strategi penembusan linier ganda dapat dioptimalkan dari beberapa dimensi:
Strategi penembusan lini ganda adalah strategi pelacakan tren yang sederhana dan praktis. Ini dapat secara efektif menangkap tren jangka menengah dan panjang, dan menghindari gangguan dari kebisingan pasar jangka pendek. Strategi ini juga mudah dipahami dan diterapkan, parameternya dapat dihitung, sangat cocok untuk kebutuhan perdagangan kuantitatif.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
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/
// © Astorhsu
//@version=5
strategy("Astor SMA20/60", overlay=true)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31) //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00) //回測開始的時間函數
//Indicators
sma10 = ta.sma(close,10)
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")
//進場條件
// trend1 = sma60 > sma20 //假設目前趨勢為60>20
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition)
strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")
shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition)
strategy.close("open long20",comment="跌破m20平倉", qty=1)
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1)
strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")
shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1)
strategy.close("open long60",comment="跌破m60平倉", qty=1)
// longCondition2 = ta.crossover(close, ta.sma(close, 10))
// if (longCondition2)
// strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多")
// shortCondition2 = ta.crossunder(close, ta.sma(close, 10))
// if (shortCondition2)
// strategy.close("open long10",comment="跌破m10平倉", qty=1)