Chiến lược kiểm tra ngược điểm quay động

Tác giả:ChaoZhang, Ngày: 2023-12-29 15:50:57
Tags:

img

Tổng quan

Chiến lược này tạo ra các vị trí dài hoặc ngắn dựa trên mức hỗ trợ và kháng cự được tính toán từ giá cao nhất, thấp nhất và đóng cửa của ngày giao dịch trước. Nó đi dài khi giá vượt qua mức kháng cự trên R1 và đi ngắn khi giá vượt qua mức hỗ trợ dưới S1. Chiến lược thuộc về chiến lược điểm pivot năng động.

Nguyên tắc chiến lược

  1. Tính toán mức hỗ trợ S1, mức kháng cự R1 và điểm pivot vPP của ngày hiện tại dựa trên giá cao nhất xHigh, giá thấp nhất xLow và giá đóng xClose của ngày giao dịch trước đó.

    vPP = (xHigh+xLow+xClose) / 3

    vR1 = vPP+(vPP-xLow)

    vS1 = vPP-(xHigh - vPP)

  2. Xác định xem giá có vượt qua vR1 hoặc vS1 không. Đi dài nếu giá vượt qua vR1 và đi ngắn nếu giá vượt qua dưới vS1. POS ghi lại hướng dài hoặc ngắn.

    pos = iff(close > vR1, 1, If ((close < vS1, -1, nz(pos[1], 0)))

  3. possig ghi lại hướng giao dịch thực tế. Nếu giao dịch ngược được bật với reverse=true, tín hiệu giao dịch sẽ bị đảo ngược.

  4. Đi dài khi vR1 bị hỏng và đi ngắn khi vS1 bị hỏng theo tín hiệu possig.

Ưu điểm chiến lược

  1. Chiến lược sử dụng mức hỗ trợ và kháng cự năng động để nắm bắt các động thái xu hướng.
  2. Mức hỗ trợ và kháng cự được cập nhật hàng ngày, làm cho chúng năng động.
  3. Cả hai giao dịch dài và ngắn đều có thể được cấu hình để phù hợp với môi trường thị trường khác nhau.
  4. Logic chiến lược đơn giản và sạch sẽ để dễ hiểu và thực hiện.
  5. Việc hình dung các mức hỗ trợ và kháng cự cho phép phát hiện sự thay đổi xu hướng trực quan.

Phân tích rủi ro

  1. Các tín hiệu mua và bán không cần thiết có thể được kích hoạt nếu thị trường dao động.
  2. Nếu có xu hướng chuyển động cực đoan xảy ra, hỗ trợ / kháng cự bị phá vỡ có thể mở rộng liên tục dẫn đến tổn thất.
  3. Điểm pivot và tính toán hỗ trợ / kháng cự là đơn giản và cần tối ưu hóa thêm.

Quản lý rủi ro:

  1. Điều chỉnh kích thước vị trí để hạn chế lỗ giao dịch duy nhất.
  2. Thiết lập stop loss để ngăn chặn tổn thất vượt quá số tiền tối đa được chấp nhận.
  3. Thêm các bộ lọc dựa trên các chỉ số khác để tránh giao dịch quá mức trên các thị trường khác nhau.

Cơ hội gia tăng

  1. Tối ưu hóa tính toán hỗ trợ và kháng cự để cải thiện khả năng dự đoán.
  2. Bao gồm các chỉ số xu hướng và động lực để tránh giao dịch không cần thiết.
  3. Thêm chiến lược dừng lỗ để kiểm soát tổn thất đơn và tối đa.
  4. Sử dụng máy học để tối ưu hóa động mức hỗ trợ / kháng cự.

Tóm lại

Chiến lược này tạo ra các giao dịch dài hoặc ngắn dựa trên mức hỗ trợ và kháng cự động của giá phá vỡ. Logic là đơn giản để hiểu và thực hiện trong khi có thể xác định hiệu quả các biến đổi xu hướng. Tuy nhiên, rủi ro tồn tại và tối ưu hóa thêm với các chỉ số bổ sung là cần thiết để tạo ra các tín hiệu giao dịch đáng tin cậy hơn. Nhìn chung, chiến lược phục vụ tốt như một chỉ số hỗ trợ hoặc một khối xây dựng cơ bản trong các hệ thống giao dịch định lượng.


//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid,"D", high[1])
xLow   = request.security(syminfo.tickerid,"D", low[1])
xClose = request.security(syminfo.tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1)
plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)

Thêm nữa