Chiến lược cắt đầu ngắn hạn cực kỳ cố gắng thiết lập các vị trí ngắn khi giá tiếp cận hoặc phá vỡ đường hỗ trợ và thiết lập mức dừng lỗ rất nhỏ và lấy lợi nhuận cho giao dịch tần suất cao. Chiến lược này khai thác sự đột phá giá ngắn hạn để nắm bắt biến động thị trường cho lợi nhuận.
Chiến lược đầu tiên tính toán đường hồi quy tuyến tính của giá. Nếu giá đóng thực tế thấp hơn giá đóng dự báo, các vị trí dài được thiết lập. Nếu giá đóng thực tế cao hơn giá đóng dự báo, các vị trí ngắn được thiết lập. Stop loss và take profit được thiết lập ở số lượng rất nhỏ các pips. Chiến lược cho phép chọn chỉ giao dịch dài, chỉ ngắn hoặc tất cả các hướng.
Các thông số chính bao gồm:
Ý tưởng chính của chiến lược là nắm bắt những bước đột phá giá ngắn hạn của các đường trung bình động. Khi giá gần hoặc vượt qua đường hỗ trợ hoặc kháng cự, hãy thiết lập các vị trí kịp thời. Và đặt mức dừng lỗ rất nhỏ và lấy lợi nhuận để nhận ra lợi nhuận sau đó đóng các vị trí ngay lập tức, lặp lại quy trình.
Chiến lược có những lợi thế sau:
Ngoài ra còn có một số rủi ro:
Các biện pháp quản lý rủi ro tương ứng bao gồm:
Các hướng tối ưu hóa khác bao gồm:
Chiến lược cắt đầu ngắn hạn cực kỳ là một chiến lược giao dịch tần số cao điển hình. Bằng cách thiết lập các vị trí xung quanh mức giá chính và thiết lập mức dừng lỗ và lấy lợi nhuận rất nhỏ, nó nắm bắt biến động giá ngắn hạn. Mặc dù nó có thể đạt được lợi nhuận cao, nhưng cũng có một số rủi ro nhất định. Với việc thử nghiệm và tối ưu hóa liên tục, chiến lược có thể được nâng cao hơn nữa để ổn định và sinh lợi.
/*backtest start: 2024-01-09 00:00:00 end: 2024-01-16 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Extreme Scalping", overlay=true ) src = input(close,title="Source") len = input(defval=14, minval=1, title="Length") offset = input(1) out = linreg(src, len, offset) plot(out) gap_tick=input(100) fixedTP=input(300) fixedSL=input(100) useFixedSLTP=input(true) direction=input(defval="ALL",title="Direction of order",options=["ALL","BUY ONLY","SELL ONLY"]) gap=gap_tick*syminfo.mintick plot(out+gap,color=color.red) plot(out-gap,color=color.green) tp=useFixedSLTP?fixedTP:gap_tick sl=useFixedSLTP?fixedSL:gap_tick longCondition = close<(out-gap) and (direction=="ALL" or direction=="BUY ONLY") shortCondition = close>(out+gap) and (direction=="ALL" or direction=="SELL ONLY") if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("exit long","Long",profit = tp,loss = sl) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("exit short","Short",profit =tp,loss=sl) // === Backtesting Dates === thanks to Trost // testPeriodSwitch = input(true, "Custom Backtesting Dates") // testStartYear = input(2019, "Backtest Start Year") // testStartMonth = input(10, "Backtest Start Month") // testStartDay = input(3, "Backtest Start Day") // testStartHour = input(0, "Backtest Start Hour") // testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,0) // testStopYear = input(2019, "Backtest Stop Year") // testStopMonth = input(12, "Backtest Stop Month") // testStopDay = input(31, "Backtest Stop Day") // testStopHour = input(23, "Backtest Stop Hour") // testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,testStopHour,0) // testPeriod() => // time >= testPeriodStart and time <= testPeriodStop ? true : false // isPeriod = testPeriodSwitch == true ? testPeriod() : true // // === /END // if not isPeriod // strategy.cancel_all() // strategy.close_all()