
Chiến lược này là một hệ thống giao dịch đảo ngược xu hướng dựa trên nhiều chỉ số kỹ thuật, kết hợp các chỉ số ZigZag, lý thuyết phân dạng (Fractals) và chỉ số chuyển đổi đường parabol (Parabolic SAR). Chiến lược này chủ yếu thông qua sự phối hợp hợp của ba chỉ số này để nắm bắt cơ hội giao dịch khi xu hướng thị trường thay đổi và kiểm soát rủi ro thông qua các điều kiện nhập cảnh và xuất cảnh nghiêm ngặt.
Nguyên tắc cốt lõi của chiến lược là xác nhận tín hiệu giao dịch thông qua cơ chế xác minh ba lần:
Các điều khoản giao dịch được xác minh nhiều lần như sau:
Chiến lược này xây dựng một hệ thống giao dịch đảo ngược xu hướng tương đối hoàn chỉnh bằng cách sử dụng tổng hợp nhiều chỉ số kỹ thuật. Ưu điểm chính của chiến lược là tín hiệu đáng tin cậy cao và kiểm soát rủi ro hoàn hảo, nhưng cũng cần chú ý đến rủi ro tín hiệu giả trong thị trường biến động. Bằng cách đưa ra hướng tối ưu hóa, đặc biệt là điều chỉnh tham số động và lọc môi trường thị trường, bạn có thể nâng cao hơn nữa sự ổn định và khả năng lợi nhuận của chiến lược.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("ZigZag + Fractals + SAR Crossover Stratégiia", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Parametre ZigZag
zigzag_depth = input.int(5, title="ZigZag Hĺbka")
zigzag_deviation = input.float(5.0, title="ZigZag Odchýlka (%)") / 100
// Výpočet ZigZag
var float last_pivot = na
var bool is_uptrend = false // Inicializované na false
zigzag_high = ta.pivothigh(high, zigzag_depth, zigzag_depth)
zigzag_low = ta.pivotlow(low, zigzag_depth, zigzag_depth)
if not na(zigzag_high)
last_pivot := zigzag_high
is_uptrend := false
if not na(zigzag_low)
last_pivot := zigzag_low
is_uptrend := true
// Fraktály
fractal_up = ta.pivothigh(high, 2, 2)
fractal_down = ta.pivotlow(low, 2, 2)
// Parabolic SAR
sar = ta.sar(0.02, 0.2, 0.02)
// Prechody Parabolic SAR a Cena
sar_cross_up = ta.crossover(sar, close) // SAR prechádza nad cenu
sar_cross_down = ta.crossunder(sar, close) // SAR prechádza pod cenu
// Obchodné podmienky založené na prechodoch
long_condition = sar_cross_down and is_uptrend and not na(fractal_down)
short_condition = sar_cross_up and not is_uptrend and not na(fractal_up)
// Vstupy do pozícií
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Výstupy z pozícií založené na prechodoch
if (sar_cross_up)
strategy.close("Long")
if (sar_cross_down)
strategy.close("Short")
// Vizualizácia indikátorov
plotshape(series=fractal_up, location=location.abovebar, color=color.red, style=shape.triangledown, title="Fraktál Hore")
plotshape(series=fractal_down, location=location.belowbar, color=color.green, style=shape.triangleup, title="Fraktál Dole")
plot(sar, style=plot.style_cross, color=color.blue, title="Parabolic SAR")
// Vizualizácia ZigZag
plot(is_uptrend ? last_pivot : na, title="ZigZag Low", color=color.green, linewidth=2, style=plot.style_linebr)
plot(not is_uptrend ? last_pivot : na, title="ZigZag High", color=color.red, linewidth=2, style=plot.style_linebr)