Chiến lược mô hình nến đảo ngược kéo dài


Ngày tạo: 2024-01-26 16:04:26 sửa đổi lần cuối: 2024-01-26 16:04:26
sao chép: 1 Số nhấp chuột: 578
1
tập trung vào
1617
Người theo dõi

Chiến lược mô hình nến đảo ngược kéo dài

Tổng quan

Chiến lược này tự động giao dịch bằng cách xác định hình dạng đứt, thực hiện theo dõi tín hiệu giao dịch và kết hợp với logic dừng dừng lỗ. Khi xác định hình dạng đảo ngược, hãy làm nhiều lỗ hổng hơn, đạt đến vị trí bằng phẳng sau khi dừng hoặc dừng lỗ.

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

  1. Xác định hình thức mốc: Đánh giá là theo dõi tín hiệu giao dịch khi kích thước của thực thể mốc nhỏ hơn so với giá mốc được đặt và giá mở bằng giá đóng.

  2. Thực hiện thêm lỗ hổng: Khi nhận ra hình thức đảo ngược, nếu giá đóng cửa ngày trước cao hơn hai ngày trước, hãy làm thêm; Nếu giá đóng cửa ngày trước thấp hơn hai ngày trước, hãy làm trống.

  3. Hạn chế dừng lỗ: Hạn chế dừng lỗ khi giá đạt đến điểm dừng giá vào sau khi thực hiện thêm; Hạn chế dừng lỗ khi giá đạt đến điểm dừng giá vào sau khi giảm; Hạn chế dừng lỗ khi giá kích hoạt điểm dừng lỗ sau khi thực hiện thêm.

Lợi thế chiến lược

  1. Sử dụng hình thức quay ngược, bạn có thể nắm bắt hiệu quả các điểm biến đổi giá cổ phiếu, tăng hiệu quả của tín hiệu giao dịch.

  2. Kết hợp với các cơ chế dừng lỗ, bạn có thể kiểm soát rủi ro một cách hiệu quả, khóa lợi nhuận và tránh sự gia tăng lỗ.

  3. Tự động hóa giao dịch, không cần sự can thiệp của con người, giảm chi phí giao dịch, tăng hiệu quả giao dịch.

Rủi ro chiến lược

  1. Phân tích hình dạng có tính chủ quan nhất định, có thể xảy ra trường hợp phán đoán sai.

  2. Điểm dừng lỗ được thiết lập không đúng cách, có thể bỏ lỡ một giao dịch lớn hoặc dừng lỗ sớm.

  3. Các tham số chính sách cần được kiểm tra và tối ưu hóa liên tục, nếu không có thể dẫn đến quá phù hợp.

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

  1. Tối ưu hóa các điều kiện phán đoán hình dạng kim loại, kết hợp với nhiều chỉ số đường K để tăng độ chính xác phán đoán.

  2. Kiểm tra các loại giao dịch khác nhau, điều chỉnh điểm dừng lỗ, tối ưu hóa tham số.

  3. Lưu ý rằng các giao dịch được thực hiện trên các giao dịch khác nhau, và các giao dịch được thực hiện trên các giao dịch khác nhau.

  4. Thêm mô-đun quản lý vị trí, có thể điều chỉnh vị trí động theo chỉ số tham chiếu.

Tóm tắt

Chiến lược này dễ hiểu và có một số giá trị thực tế. Tuy nhiên, sự xác định chính xác và tối ưu hóa tham số vẫn cần được cải thiện, nên được thử nghiệm và tối ưu hóa thêm trước khi khuyến nghị áp dụng trên thực tế.

Mã nguồn chiến lược
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/01/2019
//   This is a candlestick where the open and close are the same. 
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Doji Backtest", overlay = true)
input_takeprofit = input(10, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
input_minsizebody = input(0.5, title="Min. Size Body pip", step=0.01)
barcolor(abs(close - open) <= input_minsizebody ? open == close ? yellow : na : na)
possell = 0.0
posbuy = 0.0
pospricebuy = 0.0
pospricesell = 0.0
barcolornow = blue
pospricesell := close< close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) 
possell := iff(pospricesell > 0 , -1, 0)
barcolornow := possell == -1 ? red: posbuy == 1 ? green : blue 
pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricebuy := close > close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) 
posbuy := iff(pospricebuy > 0 , 1, 0)
barcolornow := posbuy == 1 ? green: barcolornow
pospricebuy := iff(high >= pospricebuy + input_takeprofit and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricebuy := iff(low <= pospricebuy - input_stoploss and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
barcolor(barcolornow)
if (posbuy == 0 and possell == 0) 
    strategy.close_all()
if (posbuy == 1)
    strategy.entry("Long", strategy.long)
if (possell == -1)
    strategy.entry("Short", strategy.short)	   	    
pospricebuy := iff(high <= pospricebuy + input_takeprofit and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricebuy := iff(low >= pospricebuy - input_stoploss and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 ,  nz(pospricesell, 0))