Chiến lược đột phá tăng trong ngày

Tác giả:ChaoZhang, Ngày: 2024-03-29 16:13:30
Tags:

img

Tổng quan

Chiến lược này là một chiến lược giao dịch tăng giá trong ngày dựa trên các chỉ số kỹ thuật. Nó chủ yếu sử dụng ba chỉ số kỹ thuật để xác định thời gian đầu tư dài: 1. Đổi thấp 2. Mô hình nến tăng giá 3. Bán quá mức. Đồng thời, nó sử dụng chỉ số ATR (Mức trung bình thực sự) để tính giá dừng lỗ và lấy lợi nhuận. Chiến lược này áp dụng cho tất cả các khung thời gian và tất cả các tài sản cơ bản.

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

Chiến lược này chủ yếu dựa trên các nguyên tắc sau:

  1. Trong xu hướng tăng, giá cổ phiếu thường quay trở lại và tạo thành mức thấp địa phương, thường là cơ hội mua tốt.
  2. Một số mô hình nến đặc biệt thường báo hiệu sự đảo ngược hoặc tiếp tục xu hướng. Chiến lược sử dụng mô hình tấn công ba dòng tăng để xác định các điểm mua đảo ngược.
  3. Sau nhiều ngày giảm liên tiếp, đà giảm dần suy yếu và không gian giảm tiếp tục bị hạn chế. Giá cổ phiếu có thể phục hồi bất cứ lúc nào. Chiến lược sử dụng chỉ số bán quá mức để nắm bắt những cơ hội mua đảo ngược này.
  4. Sự biến động giá cổ phiếu có định kỳ và tương tự, có thể được đo bằng chỉ số ATR và được sử dụng để tính toán khoảng cách dừng lỗ và lợi nhuận thích hợp.

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

  1. Kết hợp ba chỉ số kỹ thuật cổ điển để tạo thành một hệ thống giao dịch định lượng nghiêm ngặt, tránh những nhược điểm của chủ quan.
  2. Mức dừng lỗ và lấy lợi nhuận dựa trên chỉ số biến động ATR, có thể được định lượng một cách khách quan, tránh những nhược điểm của chủ quan. Đồng thời, giá dừng lỗ và giá mục tiêu phù hợp với biến động thị trường, kiểm soát hiệu quả rủi ro và khóa lợi nhuận.
  3. Phạm vi ứng dụng rộng rãi, không có hạn chế về khung thời gian hoặc tài sản cơ bản, cho phép sử dụng đầy đủ các lợi thế để đạt được lợi nhuận.

Rủi ro chiến lược

  1. Độ chính xác cao trong việc đánh giá xu hướng tăng đơn phương, nhưng việc gia nhập thường xuyên vào một thị trường biến động có thể dẫn đến tăng lỗ.
  2. Mức lợi nhuận quá xa, dẫn đến lợi nhuận chậm và sử dụng vốn thấp.
  3. Chỉ số bán quá mức cực kỳ có khả năng hạn chế để đánh giá sự đảo ngược và có thể thất bại trong các thị trường xu hướng.

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

  1. Xem xét thêm các chỉ số xu hướng, chẳng hạn như MA và MACD, để xác định hướng xu hướng tổng thể.
  2. Xem xét tối ưu hóa thuật toán để tìm các thông số tối ưu, đặc biệt là việc lựa chọn các nhân ATR.
  3. Chỉ số bán quá mức cực kỳ có thể được tối ưu hóa, chẳng hạn như thay đổi nó sang các chỉ số bán quá mức trưởng thành hơn như KDJ hoặc RSI.

Tóm lại

Chiến lược đột phá tăng trong ngày này là một chiến lược giao dịch định lượng dựa trên các mức thấp dao động, mô hình tăng và đảo ngược bán quá mức. Nó sử dụng ba chỉ số kỹ thuật để nắm bắt các điểm đầu vào dài từ các góc độ khác nhau. Đồng thời, nó sử dụng chỉ số biến động ATR để tính toán mức dừng lỗ và lấy lợi nhuận năng động. Nó có thể nắm bắt hoàn toàn lợi nhuận trong xu hướng tăng nhưng phải đối mặt với rủi ro giao dịch thường xuyên trên các thị trường biến động. Chiến lược vẫn còn chỗ để tối ưu hóa, chẳng hạn như giới thiệu các phán đoán xu hướng, tối ưu hóa các tham số và chỉ số, để cải thiện hơn nữa hiệu suất của chiến lược.


// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LuxTradeVenture

//@version=5
strategy("Intraday Bullish Script", overlay=true, margin_long=100, margin_short=100)



// Settings for Strategy 1
entryCondition1 = input.bool(true, title="Use Entry Condition - Strategy 1")

// Input for ATR multiplier for stop loss 
atrMultiplierforstoploss = input.float(2, title="ATR Multiplier for Stop Loss")

// Input for ATR multiplier for target price
atrMultiplierforlongs = input.float(4, title="ATR Multiplier for Target Price")

// Calculate ATR
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)

// Swing low condition - Strategy 1
swingLow1 = low == ta.lowest(low, 12) or low[1] == ta.lowest(low, 12)


/// 
maj_qual = 6  //input(6)
maj_len = 30  //input(30)
min_qual = 5  //input(5)
min_len = 5  //input(5)

lele(qual, len) =>
    bindex = 0.0
    bindex := nz(bindex[1], 0)
    sindex = 0.0
    sindex := nz(sindex[1], 0)
    ret = 0
    if close > close[4]
        bindex := bindex + 1
        bindex
    if close < close[4]
        sindex := sindex + 1
        sindex
    if bindex > qual and close < open and high >= ta.highest(high, len)
        bindex := 0
        ret := -1
        ret
    if sindex > qual and close > open and low <= ta.lowest(low, len)
        sindex := 0
        ret := 1
        
major = lele(maj_qual, maj_len)
minor = lele(min_qual, min_len)

ExaustionLow  = major ==  1 ? 1 : 0

Bullish3LineStrike = close[3] < open[3] and close[2] < open[2] and close[1] < open[1] and close > open[1]

// Entry and Exit Logic for Strategy 2
// Create variables to track trade directions and entry prices for each strategy
var int tradeDirection1 = na

var float entryLongPrice1 = na


// Calculate entry prices for long positions - Strategy 1
if (swingLow1 or Bullish3LineStrike)
    entryLongPrice1 := close
    tradeDirection1 := 1



// Calculate target prices for long positions based on ATR - Strategy 1
targetLongPrice1 = entryLongPrice1 + (atrMultiplierforlongs * atrValue)



// Calculate stop loss prices for long positions based on entry - Strategy 1
stopLossLongPrice1 = entryLongPrice1 - (atrMultiplierforstoploss * atrValue)


// Entry conditions for Strategy 1
if (tradeDirection1 == 1 and (swingLow1 or Bullish3LineStrike))
    strategy.entry("Long - Strategy 1", strategy.long)


// Exit conditions for long positions: When price reaches or exceeds the target - Strategy 1
if (close >= targetLongPrice1)
    strategy.close("Long - Strategy 1", comment="Take Profit Hit")

// Exit conditions for long positions: When price hits stop loss - Strategy 1
if (close <= stopLossLongPrice1)
    strategy.close("Long - Strategy 1", comment="Stop Loss Hit")

Thêm nữa