Đây là một chiến lược thử nghiệm được thiết kế cho cặp giao dịch ETHUSDT 5 phút. Nó đi dài khi có khoảng cách giá giảm hơn $ 5, và khi đã dài, nó đặt hai lệnh ngắn nhỏ như dừng ở mức giá 1% và 2%, đồng thời đặt lệnh dài hạn cuối cùng ở mức giá khác.
Lý thuyết cốt lõi của chiến lược này là xác định các hướng xu hướng tiềm năng mới khi có khoảng cách giá hoặc đảo ngược ở các mức chính. Khi giá giảm hơn $ 5, nó chỉ ra một xu hướng giảm tiềm năng và xu hướng tăng sắp tới. Khi đã dài, các lệnh mua ngắn nhỏ ở mức 1% và 2% phục vụ cho cả việc dừng lại và xác định xu hướng gấu mới tiềm năng. Tương tự như vậy, trên mặt trên, xu hướng tăng tiềm năng và xu hướng gấu mới được xác định, với hai lệnh dài nhỏ phục vụ cho việc ra khỏi ngắn và theo dõi xu hướng tăng mới.
Do đó, nhiều lệnh đảo ngược nhỏ được sử dụng thay vì một lệnh dừng lớn, để đánh giá tốt hơn hướng xu hướng và quản lý dừng.
Ưu điểm lớn nhất là xác định xu hướng tiềm năng mới từ các khoảng cách giá chính, và sử dụng các lệnh đảo ngược nhỏ để quản lý vốn, dừng lỗ và đánh giá các xu hướng mới trong các biến động lớn.
Những rủi ro chính là sự phụ thuộc vào hành động giá ngắn hạn và khối lượng đơn đặt hàng cao hơn trên sàn giao dịch từ nhiều đơn đặt hàng.
Các hướng dẫn bao gồm điều chỉnh các tham số để xác định các tín hiệu như kích thước khoảng cách, tối ưu hóa số lượng và mức dừng và lệnh, thực hiện theo dõi năng động và giới thiệu nhiều yếu tố hơn như khối lượng và các chỉ số kỹ thuật để đánh giá những thay đổi xu hướng.
Chiến lược này xác định tiềm năng xu hướng mới từ các khoảng trống / đảo ngược và đặt ra các lệnh đảo ngược sau để bắt xu hướng, dừng linh hoạt và lợi nhuận động. Những rủi ro chính là whipsaws và chi phí bổ sung từ tần suất đặt hàng cao, có thể được cải thiện thông qua điều chỉnh tham số và nhiều yếu tố tín hiệu hơn.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("pokupka perevorot 5min tf", overlay=true) // Activation block (executed only once) if (close - open) < -5 strategy.entry("Long", strategy.long) // Checking chart state block (executed continuously) if strategy.position_size > 0 // If long position is open strategy.entry("Short1", strategy.short, qty=2, limit=close * 1.01) strategy.entry("Short2", strategy.short, qty=2, limit=close * 1.01) strategy.entry("LongLimit", strategy.long, qty=1, limit=close * 0.98) // Execution block (executed continuously) if close * 1.01 <= strategy.position_avg_price // If price has increased by 1%, indicating a short position strategy.close("Long") if close * 0.98 >= strategy.position_avg_price // If price has decreased by 2%, indicating two long positions strategy.close("Short1") strategy.close("Short2") // Checking chart state block (executed continuously) if strategy.position_size < 0 // If short position is open strategy.entry("Long1", strategy.long, qty=2, limit=close * 0.99) strategy.entry("Long2", strategy.long, qty=2, limit=close * 0.99) strategy.entry("ShortLimit", strategy.short, qty=1, limit=close * 1.02) // Execution block (executed continuously) if close * 0.99 >= strategy.position_avg_price // If price has decreased by 1%, indicating a long position strategy.close("Short") if close * 1.02 <= strategy.position_avg_price // If price has increased by 2%, indicating two short positions strategy.close("Long1") strategy.close("Long2")