
Strategi perdagangan titik bergeser dua garis rata adalah strategi perdagangan yang didasarkan pada persilangan garis rata. Strategi ini menggunakan dua set parameter yang berbeda untuk menentukan waktu masuk dan keluar berdasarkan keadaan pergeseran mereka. Strategi ini sederhana, intuitif, dan mudah diterapkan untuk perdagangan garis tengah dan panjang.
Strategi ini menggunakan Price sebagai input harga dan menghitung garis rata-rata dari dua parameter yang berbeda, SMA1 dan SMA2. Strategi ini menggunakan indikator ROC untuk menentukan pergeseran garis rata-rata. Ketika nilai ROC SMA1 melebihi setelan ambang positif, anggaplah SMA1 bergeser ke atas dan catat sinyal SMA1 ke atas.
Ketika SMA1 berputar ke atas dan SMA2 garis K atas berputar ke bawah, menghasilkan sinyal beli, melakukan over; ketika SMA1 berputar ke bawah dan SMA2 garis K atas berputar ke atas, menghasilkan sinyal jual, melakukan over.
Strategi ini menggunakan dua garis lurus yang bergeser untuk menentukan arah perdagangan, satu garis lurus yang bergeser untuk mengkonfirmasi waktu masuk, dan dua garis lurus yang bergeser untuk memastikan perubahan tren saat masuk, yang dapat secara efektif menyaring penipuan.
Penggunaan dua garis sejajar dan penilaian putar dapat secara efektif memfilter terobosan palsu dan meningkatkan akurasi masuk.
Pergeseran rata-rata yang digabungkan dengan indikator ROC dapat dengan jelas menentukan waktu pergeseran, menghindari perdagangan yang sering terjadi.
Dengan menggunakan garis tengah dan panjang, Anda dapat mengikuti tren utama dan mendapatkan keuntungan dari tren yang lebih besar.
Strategi logisnya sederhana dan jelas, mudah dipahami implementasinya, cocok untuk pemula dalam trading kuantitatif.
Parameter yang dapat disesuaikan, dapat beradaptasi dengan lingkungan pasar yang berbeda, dan memiliki kemampuan beradaptasi yang kuat.
Dalam situasi gempa bumi, penyeberangan dua garis rata dapat menghasilkan sejumlah besar sinyal palsu yang mengakibatkan kerugian.
Parameter ROC perlu dioptimalkan dengan tepat, jika tidak, perubahan ke identifikasi akan membuat kesalahan dan mempengaruhi kinerja strategi.
Pasar bergejolak besar dapat memicu beberapa stop loss, yang dapat dihindari dengan memperluas stop loss.
Ini adalah salah satu faktor yang membuat banyak orang tidak bisa menanggapi berita besar, yang bisa menyebabkan kerugian.
Perhatikan bahwa parameter yang dioptimalkan terlalu cocok, dan uji coba harus cukup panjang untuk mencakup situasi yang berbeda.
Mengoptimalkan parameter moving average untuk mencari kombinasi periodik rata-rata yang optimal
Optimalkan parameter ROC untuk meningkatkan akurasi pengenalan arah
Menambahkan mekanisme stop loss yang dapat digunakan untuk melakukan stop loss dinamis di tingkat harga yang disesuaikan
Menambahkan kondisi tambahan, seperti trigger volume trading, untuk menghindari false breakout
Meningkatkan efektivitas pengambilan keputusan, dikombinasikan dengan indikator lain seperti MACD, BOLL, dan lain-lain
Mengoptimalkan parameter secara otomatis menggunakan metode seperti pembelajaran mesin untuk beradaptasi dengan perubahan pasar
Secara keseluruhan, strategi biner adalah strategi pelacakan tren yang sederhana dan praktis. Ini hanya membutuhkan indikator dasar yang dapat diimplementasikan, logikanya jelas dan mudah dipahami, sangat cocok untuk dipelajari dan dipraktekkan oleh pemula perdagangan kuantitatif. Stabilitas strategi dapat ditingkatkan secara signifikan melalui optimasi parameter dan pengoptimalan mekanisme stop loss.
The Dual Moving Average Turning Point strategy is a trend following strategy based on moving average crossovers. It uses two moving averages with different parameter settings and determines entry and exit points according to their turning directions. This strategy is simple and intuitive, easy to implement, and suitable for medium-to-long term trading.
The strategy uses Price as the price input source and calculates two moving averages, SMA1 and SMA2, with different parameters. It uses the ROC indicator to determine the turning directions of the moving averages. When SMA1’s ROC value exceeds the positive threshold, it is considered an upward turn of SMA1 and an upward signal is recorded. When SMA1’s ROC value breaks the negative threshold, it is considered a downward turn of SMA1 and a downward signal is recorded. The judgment logic for SMA2 is similar.
When SMA1 turns upward and the previous bar’s SMA2 turns downward, a buy signal is generated to go long. When SMA1 turns downward and the previous bar’s SMA2 turns upward, a sell signal is generated to go short.
The strategy uses the turning directions of two moving averages to determine the trading direction and the turning of one moving average to confirm entry timing. The dual moving average crossover ensures the trend has changed when entering the market, which helps avoid false breakouts.
Using dual moving average crossover and turning points can effectively filter out false breakouts and improve entry accuracy.
Combining moving average turning points with the ROC indicator can clearly identify turning points and avoid frequent trading.
Adopting medium-to-long-term dual moving averages can track the main trend and achieve sizable trend profits.
The strategy logic is simple and clear, easy to understand and implement, suitable for quant trading beginners.
Customizable parameters suit different market environments with strong adaptability.
Dual moving average crossovers may generate many false signals in ranging markets, leading to losses.
The ROC parameters need precise optimization, otherwise turn recognition will have errors, affecting strategy performance.
Large periodic ranging markets may trigger stop loss multiple times. Expanding stop loss range can avoid it.
Relying solely on moving averages, it’s hard to respond to sudden events like major news, which may lead to losses.
Note the overfitting problem in parameter optimization. Test period should be long enough to include different market conditions.
Optimize moving average parameters to find the best moving average period combination.
Optimize ROC parameters to improve turning point recognition accuracy.
Add stop loss mechanisms such as dynamic stop loss based on breaking customized price levels.
Add additional conditions like volume indicators to avoid false breakouts.
Incorporate other indicators like MACD, BOLL to improve decision making.
Use machine learning etc. to auto optimize parameters and adapt to market changes.
In summary, the Dual Moving Average Turning Point strategy is a simple and practical trend following strategy. It can be implemented with basic moving average indicators and has clear, easy-to-understand logic, making it very suitable for quant trading beginners to learn and practice. With parameter optimization and stop loss optimization, the strategy stability can be greatly improved. Combining with other auxiliary indicators can further enhance the strategy. The highly customizable strategy can be flexibly applied to different market environments and is a recommended dual moving average trading strategy.
[/trans]
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MA Turning Point Strategy", overlay=true)
src = input(close, title="Source")
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA", "VWMA"])
f_hma(_src, _length)=>
_return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))
price1 = if (type1 == "SMA")
sma(price, ma1)
else
if (type1 == "EMA")
ema(price, ma1)
else
if (type1 == "VWMA")
vwma(price, ma1)
else
f_hma(price, ma1)
plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0)
lookback1 = input(1, "Lookback 1")
roc1 = roc(price1, lookback1)
ma1up = false
ma1down = false
ma2up = false
ma2down = false
ma1up := nz(ma1up[1])
ma1down := nz(ma1down[1])
ma2up := nz(ma2up[1])
ma2down := nz(ma2down[1])
trendStrength1 = input(2.5, title="Minimum slope magnitude * 100", type=float) * 0.01
if crossover(roc1, trendStrength1)
ma1up := true
ma1down := false
if crossunder(roc1, -trendStrength1)
ma1up := false
ma1down := true
longCondition = ma1up and ma1down[1]
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ma1down and ma1up[1]
if (shortCondition)
strategy.entry("Short", strategy.short)