Chiến lược giao dịch bóng tối


Ngày tạo: 2023-11-03 16:03:59 sửa đổi lần cuối: 2023-11-03 16:03:59
sao chép: 0 Số nhấp chuột: 986
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch bóng tối

Tổng quan

Chiến lược giao dịch bóng râm bằng cách xác định các đường K có đường dài dưới hoặc đường K có đường dài trên để đánh giá thời gian thị trường có thể đảo ngược. Khi xác định đường dài dưới, hãy làm nhiều hơn; khi xác định đường dài trên, hãy làm trống. Chiến lược này chủ yếu sử dụng quy luật phổ biến của sự đảo ngược đường dài.

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

Lý luận cốt lõi của chiến lược giao dịch bóng là nhận diện các đường dài trên và đường dài dưới xuất hiện trong đường K. Chiến lược này tính toán kích thước thực thể đường K.corpovà kích thước đường bóngpinnaLpinnaSCụ thể, chiến lược bao gồm các bước sau:

  1. Tính toán kích thước của thực thể Kcorpo, là giá trị tuyệt đối của chênh lệch giữa giá mở và giá đóng.
  2. Tính toán đường bóngpinnaL, là giá trị tuyệt đối của chênh lệch giữa giá cao nhất và giá đóng cửa.
  3. Tính toán đường bóng tốipinnaS, là giá trị tuyệt đối của chênh lệch giữa giá thấp nhất và giá đóng cửa.
  4. Xác định xem đường viền lớn hơn một số nhân của thực thể, thông quapinnaL > (corpo*size),sizelà một tham số có thể điều chỉnh.
  5. Xác định xem dòng bóng dưới có lớn hơn một số nhân của thực thể hay không, thông quapinnaS > (corpo*size)
  6. Nếu điều kiện trên là đúng, thì khi kết thúc dòng K xuất hiện trong dòng bóng, hãy làm trống ((đường bóng dài) hoặc làm thêm ((đường bóng dài)

Ngoài ra, chiến lược này cũng đánh giá kích thước của sự biến động của đường K.dimLà lớn hơn giá trị tối thiểumin, để lọc loại bỏ các dòng K không thú vị có biến động quá nhỏ.

Phân tích lợi thế chiến lược

  • Sử dụng quy luật phổ quát của sự đảo ngược đường bóng, một tín hiệu giao dịch đáng tin cậy hơn
  • Logic chiến lược đơn giản, rõ ràng, thiết lập tham số trực quan, dễ nắm bắt
  • Có thể điều chỉnh các tham số để kiểm soát tần số nhập, kiểm soát rủi ro giao dịch linh hoạt
  • Kết hợp các yếu tố như xu hướng, hỗ trợ và kháng cự có thể được tối ưu hóa hơn nữa

Rủi ro và giải pháp

  • Tỷ lệ thất bại trong việc đảo ngược đường dài, có thể giảm nguy cơ bằng cách điều chỉnh các tham số
  • Cần kết hợp với xu hướng để tránh hoạt động ngược
  • Các tham số cần được tối ưu hóa cho các giống cụ thể, các tham số khác nhau có thể khác nhau
  • Có thể kết hợp với các chỉ số khác để lọc cơ hội thâm nhập, giảm tỷ lệ lợi nhuận để đổi lấy tỷ lệ chiến thắng cao hơn

Hướng tối ưu hóa chiến lược

  • Tối ưu hóa theo các tham số khác nhau để tăng sự ổn định chiến lược
  • Kết hợp các chỉ số như đường trung bình di chuyển để đánh giá xu hướng, tránh hoạt động ngược
  • Tăng khả năng đánh giá mức cao hoặc thấp trước khi phá vỡ, nâng cao hiệu quả của chiến lược
  • Tối ưu hóa và điều chỉnh vị trí dừng lỗ để giảm thiểu tối đa rủi ro thua lỗ trong khi vẫn giữ lợi nhuận
  • Kiểm soát vị trí tối ưu hóa, có thể thiết lập vị trí khác nhau cho các giống khác nhau

Tóm tắt

Chiến lược giao dịch bóng là một chiến lược giao dịch đường ngắn đơn giản và thực tế. Nó sử dụng quy luật phổ biến của sự đảo ngược đường dài để tạo ra tín hiệu giao dịch.

Mã nguồn chiến lược
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-11 23:59:59
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Shadow Trading", overlay=true)

size = input(1,type=float)
pinnaL = abs(high - close) 
pinnaS = abs(low-close)
scarto = input(title="Tail Tollerance", type=float, defval=0.0018)
corpo = abs(close - open)
dim = abs(high-low)
min = input(0.001)
shortE = (open + dim)

longE = (open - dim)
barcolor(dim > min and (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) ? navy : na)

longcond = (dim > min) and (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto)
minimo=low+scarto
massimo=high+scarto
barcolor( dim > min and(close < open) and (pinnaS > (corpo*size)) and (high-open<scarto) ? orange: na)
shortcond = (dim > min) and(close < open) and (pinnaS > (corpo*size)) and (high-open<scarto)
//plot(shortE)
//plot(longE)
//plot(open)
ss= shortcond ? close : na
ll=longcond ? close : na
offset= input(0.00000)

DayClose = 2
closup = barssince(change(strategy.opentrades)>0)  >= DayClose 

longCondition = (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) 

crossFlag = longcond ? 1 : 0
monthBegin = input(1,maxval = 12)
yearBegin = input(2013, maxval= 2015, minval=2000)

if(month(time)>monthBegin and year(time) >yearBegin)
    if (longcond)
        strategy.entry("short", strategy.short, stop = low - offset)   
//strategy.close("short", when = closup)
shortCondition = (close < open) and (pinnaS > (corpo*size)) and (high-open<scarto)
if(month(time)>monthBegin and year(time) >yearBegin)
    if (shortcond)
        strategy.entry("long", strategy.long, stop = high + offset)
//strategy.close("long", when = closup)

Target =  input(20) 
Stop = input(70) //- 2
Trailing = input(0) 
CQ = 100

TPP = (Target > 0) ? Target*10: na
SLP = (Stop > 0) ? Stop*10 : na
TSP = (Trailing > 0) ? Trailing : na

strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)