
Chiến lược xác nhận GBS cao thấp là một chiến lược để nắm bắt cơ hội giao dịch dựa trên sự thay đổi của giá cao thấp. Chiến lược này bằng cách xác định các mức cao và thấp cụ thể, đặt nhiều khi phá vỡ mức cao và giảm khi phá vỡ mức thấp.
Trung tâm của chiến lược này là nhận diện các điểm vào và điểm ra tiềm năng. Điều kiện để vào là cao điểm hiện tại thấp hơn cao điểm trước và cao điểm trước cao hơn hai cao điểm trước.[1] and high[1] > high[Khi điều kiện này được đáp ứng, hãy đánh dấu điểm cao nhập và vẽ một đường màu xanh lá cây ở mức đó. Điều kiện mua là có một điểm cao nhập đã được ghi lại ((entryHigh), điểm cao hiện tại phá vỡ mức đó và giá mở cửa thấp hơn điểm cao nhập.
Các điều kiện xuất phát tương tự như các điều kiện nhập, là mức thấp hiện tại cao hơn mức thấp trước đó và mức thấp trước đó thấp hơn hai mức thấp trước đó[1] and low[1] < low[Khi điều kiện này được đáp ứng, hãy đánh dấu điểm thấp ra khỏi thị trường và vẽ một đường màu đỏ ở mức đó. Điều kiện bán ra là có mức thấp ra khỏi thị trường đã được ghi lại ((exitLow), mức thấp hiện tại đã giảm xuống mức đó và giá mở cửa cao hơn mức thấp ra khỏi thị trường.
Chiến lược xác nhận điểm cao thấp của GBS là một chiến lược giao dịch dựa trên hình thức giá cao thấp để nắm bắt cơ hội chênh lệch giá bằng cách xác định các điều kiện nhập cảnh và xuất cảnh cụ thể. Ưu điểm của chiến lược này là sự đơn giản và trực quan của nó, nhưng đồng thời cũng có một số rủi ro tiềm ẩn, chẳng hạn như tín hiệu sai và thiếu các biện pháp kiểm soát rủi ro. Để cải thiện hơn nữa chiến lược này, bạn có thể xem xét việc đưa ra một cơ chế dừng lỗ, kết hợp với các chỉ số kỹ thuật khác và tối ưu hóa các tham số.
/*backtest
start: 2023-04-22 00:00:00
end: 2024-04-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("GBS TOP BOTTOM Confirmed", overlay=true)
// Entry condition
var float entryHigh = na
var line entryLine = na
entryCondition = high < high[1] and high[1] > high[2]
if (entryCondition)
entryHigh := high[1]
// entryLine := line.new(bar_index - 1, entryHigh, bar_index + 10, entryHigh, color=color.green)
// Buy condition based on nearest entry
buyCondition = not na(entryHigh) and high > entryHigh and open < entryHigh
// Exit condition
var float exitLow = na
var line exitLine = na
exitCondition = low > low[1] and low[1] < low[2]
if (exitCondition)
exitLow := low[1]
// exitLine := line.new(bar_index - 1, exitLow, bar_index + 10, exitLow, color=color.red)
// Sell condition based on nearest exit
sellCondition = not na(exitLow) and low < exitLow and open > exitLow
// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.close("Buy", when = sellCondition)
// Plot tiny dot above high[1] for entry condition
plotshape(series=entryCondition, title="Entry Dot", color=color.rgb(3, 99, 5), style=shape.circle, size=size.tiny, location=location.abovebar, offset=-1)
// Plot tiny dot below low[1] for exit condition
plotshape(series=exitCondition, title="Exit Dot", color=color.rgb(107, 3, 3), style=shape.circle, size=size.tiny, location=location.belowbar, offset=-1)
// Plot buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", color=color.blue, style=shape.triangleup, size=size.small, location=location.abovebar, text="Buy")
plotshape(series=sellCondition, title="Sell Signal", color=color.orange, style=shape.triangledown, size=size.small, location=location.belowbar, text="Sell")