
Chiến lược này được xây dựng dựa trên chỉ số SMA để tạo ra một chiến lược đa lỗ đơn giản. Khi giá vượt qua SMA cao 20 chu kỳ, hãy làm nhiều và khi giá vượt qua SMA thấp 20 chu kỳ, hãy làm trống.
Chiến lược này sử dụng SMA cao nhất và thấp nhất trong 20 chu kỳ như là một chỉ số để đánh giá nhiều lỗ hổng. Khi giá vượt qua SMA cao nhất, nó được coi là hiện đang trong xu hướng tăng lên, và khi giá phá vỡ SMA thấp nhất, nó được coi là hiện đang trong xu hướng giảm, và khi đó nó được coi là trống.
Cụ thể, chiến lược này tính toán SMA 20 chu kỳ với giá cao nhất và giá thấp nhất, và vẽ đường chỉ số. Sau đó thiết lập logic giao dịch như sau:
Nhóm đầu vào nhiều đầu: giá đóng cửa trên đường SMA cao nhất Nhiều đầu ra sân: giá đóng cửa khi phá vỡ SMA cao nhất 0,99 lần
Đầu vào không: khi giá đóng cửa vượt SMA thấp nhất
Bước ra thị trường: giá đóng cửa khi giao dịch đạt 1,01 lần SMA thấp nhất
Do đó, một chiến lược đa không gian theo xu hướng đã được xây dựng.
Chiến lược này có một số ưu điểm:
Chiến lược này cũng có một số rủi ro:
Những rủi ro này có thể được kiểm soát và giảm bằng cách kết hợp với các chỉ số khác, thiết lập dừng lỗ, tham số tối ưu hóa và nhiều cách khác.
Chiến lược này cũng có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược này có ý tưởng tổng thể rõ ràng, dễ thực hiện, thông qua các chỉ số SMA để đánh giá xu hướng trống, thiết lập cơ chế xuất nhập hợp lý, có thể đạt được hiệu quả tốt. Có không gian để tối ưu hóa hơn nữa, nếu kết hợp với các chỉ số và kỹ thuật khác, có thể trở thành một chiến lược có tiềm năng tốt để theo dõi lâu dài.
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 10m
basePeriod: 1m
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/
// © AlanAntony
//@version=4
strategy("ma 20 high-low",overlay=true)
//compute the indicators
smaH = sma(high, 20)
smaL = sma(low, 20)
//plot the indicators
plot(smaH,title="smaHigh", color=color.green, linewidth=2)
plot(smaL,title="smaLow", color=color.red, linewidth=2)
//trading logic
enterlong = crossover(close,smaH) //positive ema crossover
exitlong = crossunder(close,0.99*smaH) //exiting long
entershort = crossunder(close,smaL) //negative EMA Crossover
exitshort = crossover(close,1.01*smaH) //exiting shorts
notintrade = strategy.position_size<=0
bgcolor(notintrade ? color.red:color.green)
//execution logic
start = timestamp(2015,6,1,0,0)
//end = timestamp(2022,6,1,0,0)
if time >= start
strategy.entry( "long", strategy.long,1, when = enterlong)
strategy.entry( "short", strategy.short,1, when = entershort)
strategy.close("long", when = exitlong)
strategy.close("short", when = exitshort)
//if time >= end
// strategy.close_all()