
Chiến lược này đưa ra quyết định giao dịch dựa trên giá mở cửa 5 phút tăng/thấp, sử dụng đột phá hai giai đoạn để thiết lập các điều kiện kích hoạt khác nhau nhằm nắm bắt sự biến động giá lớn trong xu hướng chấn động.
Chiến lược dựa trên giá mở cửa của 5 phút K 2 giờ mỗi ngày và tính toán tỷ lệ tăng/tăng của 5 phút K hiện tại, đưa ra quyết định mua hoặc bán tương ứng khi tăng/tăng vượt quá phạm vi của giai đoạn đầu tiên được thiết lập. Đồng thời thiết lập điểm dừng lỗ và điểm dừng để thoát khỏi vị trí.
Nếu lệnh dừng bị kích hoạt, lệnh trước đó sẽ bị hủy bỏ khi giá tiếp tục mở rộng và vượt quá điều kiện kích hoạt của bước thứ hai, sử dụng lệnh mua hoặc bán mới dưới bước thứ hai và tiếp tục theo dõi lệnh dừng và dừng.
Bằng cách thiết lập khoảng cách hai cấp, bạn có thể lọc một phần tiếng ồn trong tình huống biến động, chỉ giao dịch khi có sự thay đổi giá lớn hơn. Trong khi đó, kích hoạt khoảng cách hai cấp có thể làm giảm các trường hợp dừng lỗ bị kích hoạt quá thường xuyên.
Phản ứng:
Chiến lược này bằng cách vượt qua hai giai đoạn để nắm bắt biến động giá, trong trường hợp biến động hiệu quả lọc tiếng ồn. Chiến lược Concept đơn giản và rõ ràng, thông qua các tham số tối ưu hóa có thể có được hiệu quả tốt hơn. Bước tiếp theo có thể được xem xét kết hợp với các chỉ số đánh giá xu hướng, trong trường hợp xu hướng để chơi lợi thế chiến lược. Nói chung, chiến lược ý tưởng mới, sử dụng hiệu quả các nguyên tắc đột phá, có thể đạt được hiệu quả tốt sau khi tối ưu hóa điều chỉnh.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Auto Entry Bot", overlay=true)
// Define input for the stop loss and take profit levels
stopLossPips = input.int(200, title="Stop Loss Pips", minval=1)
takeProfitPips = input.int(400, title="Take Profit Pips", minval=1)
// Calculate the percentage change from the 5-minute opening candle at 2:00 AM
var float openPrice = na
if (hour == 2 and minute == 0)
openPrice := open
percentageChange = (close - openPrice) / openPrice * 100
// Track the cumulative percentage change
var float cumulativeChange = 0
// Define input for the percentage change trigger
triggerPercentage1 = input.float(0.25, title="Percentage Change Trigger (%)", minval=0.01, step=0.01)
triggerPercentage2 = input.float(0.35, title="Additional Trigger Percentage (%)", minval=0.01, step=0.01)
// Check for price change trigger
if (percentageChange >= triggerPercentage1)
// Sell signal
strategy.entry("Sell", strategy.short)
strategy.exit("ExitSell", loss=stopLossPips, profit=takeProfitPips)
cumulativeChange := 0 // Reset cumulative change after a trade
if (percentageChange <= -triggerPercentage1)
// Buy signal
strategy.entry("Buy", strategy.long)
strategy.exit("ExitBuy", loss=stopLossPips, profit=takeProfitPips)
cumulativeChange := 0 // Reset cumulative change after a trade
// If the price keeps hitting stop loss, activate the second trigger
if (strategy.position_size < 0 and percentageChange <= -triggerPercentage2)
strategy.cancel("Sell") // Cancel previous sell order
strategy.entry("Sell2", strategy.short)
strategy.exit("ExitSell2", loss=stopLossPips, profit=takeProfitPips)
cumulativeChange := 0 // Reset cumulative change after a trade
if (strategy.position_size > 0 and percentageChange >= triggerPercentage2)
strategy.cancel("Buy") // Cancel previous buy order
strategy.entry("Buy2", strategy.long)
strategy.exit("ExitBuy2", loss=stopLossPips, profit=takeProfitPips)
cumulativeChange := 0 // Reset cumulative change after a trade