TGT dựa trên chiến lược mua vào khi giá giảm

TGT SMA RSI
Ngày tạo: 2024-06-07 15:33:26 sửa đổi lần cuối: 2024-06-07 15:33:26
sao chép: 3 Số nhấp chuột: 468
1
tập trung vào
1617
Người theo dõi

TGT dựa trên chiến lược mua vào khi giá giảm

Tổng quan

Ý tưởng chính của chiến lược này là thực hiện các hoạt động mua bằng cách theo dõi mức giá giảm. Khi giá giảm hơn 5% so với chu kỳ trước, nó sẽ kích hoạt tín hiệu mua và mua một số lượng vị trí với giá đóng cửa hiện tại.

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

  1. Tính phần trăm giảm giá đóng cửa hiện tại so với giá đóng cửa của chu kỳ trước.
  2. Nếu giảm hơn 5%, sẽ kích hoạt tín hiệu mua và mua một số vị trí tại giá đóng cửa hiện tại. Số lượng mua được tính dựa trên số dư tài khoản hiện tại và giá mua.
  3. Ghi lại giá mua và số lượng mua.
  4. Khi giá hiện tại cao hơn giá mua, vị trí bán tháo được kết thúc.
  5. Tính toán lợi nhuận, cập nhật số dư tài khoản.
  6. Đánh dấu màu vàng trên biểu đồ là đường K khi tín hiệu mua xảy ra.

Phân tích lợi thế

  1. Đơn giản và dễ hiểu: Chiến lược logic rõ ràng, dễ hiểu và dễ thực hiện.
  2. Bắt xu hướng: Bạn có thể bắt được xu hướng phục hồi ngắn hạn của giá bằng cách mua các loại có tỷ lệ giảm cao hơn.
  3. Kiểm soát rủi ro: Số lượng mua được tính dựa trên số dư tài khoản và giá hiện tại, kiểm soát ngưỡng rủi ro cho mỗi giao dịch.
  4. Kết thúc kịp thời: Đặt giá bằng nhau khi giá cao hơn giá mua, không chiến đấu, kiểm soát rủi ro.
  5. Hình ảnh trực quan: Các tín hiệu mua được đánh dấu bằng màu đặc biệt trên biểu đồ để dễ dàng quan sát và phân tích.

Phân tích rủi ro

  1. Giao dịch thường xuyên: Chiến lược này chủ yếu nhắm vào biến động ngắn hạn, tần suất giao dịch có thể cao hơn, cần chú ý đến ảnh hưởng của chi phí phí lên thu nhập.
  2. Mức độ rút lui: Có thể có một số rủi ro rút lui nếu giá giảm mạnh hơn sau khi mua.
  3. Sự biến động giá: Chiến lược phụ thuộc chủ yếu vào sự biến động của giá, và hiệu quả của chiến lược có thể bị chiết khấu trong môi trường thị trường có tỷ lệ biến động thấp.
  4. Cân bằng lỗ hổng: Chiến lược không có yêu cầu và kiểm soát rõ ràng về tỷ lệ thắng và thua, trong hoạt động thực tế cần chú ý đến khả năng cân bằng lỗ hổng tổng thể của chiến lược.

Hướng tối ưu hóa

  1. Tối ưu hóa dừng lỗ: Chiến lược hiện tại không đặt điều kiện dừng lỗ sau khi mua, bạn có thể xem xét thêm một số logic dừng lỗ, chẳng hạn như dừng phần trăm cố định hoặc dừng ATR, để kiểm soát thêm tổn thất tối đa của một giao dịch.
  2. Bộ lọc tín hiệu: Sau khi tạo ra tín hiệu mua, bạn có thể thêm một số điều kiện bổ sung để lọc chất lượng tín hiệu, chẳng hạn như kết hợp hệ thống đường cân bằng, các chỉ số như RSI, hoặc xem xét các đường cong giá, hình dạng đường dây, v.v. để tăng tỷ lệ thắng và độ tin cậy của tín hiệu.
  3. Quản lý vị trí: Chiến lược hiện tại sử dụng tỷ lệ vốn cố định để xác định số lượng mua, bạn có thể xem xét tối ưu hóa mô hình quản lý vị trí động hơn, chẳng hạn như điều chỉnh số lượng mua mỗi lần theo các yếu tố như biến động giá, đường cong giá trị tài khoản.
  4. Hợp tác đa giống: Các ý tưởng của chiến lược này có thể được áp dụng cho nhiều giống, có thể đạt được hiệu quả tốt hơn thông qua phân tích liên quan giữa các giống và quản lý phân bổ vốn.

Tóm tắt

Chiến lược này lấy giá giảm ngắn hạn vượt quá một mức độ nhất định làm tín hiệu mua, nắm bắt cơ hội phục hồi giá để kiếm lợi nhuận, logic đơn giản và dễ hiểu. Ưu điểm của chiến lược là nắm bắt xu hướng và kiểm soát rủi ro, nhưng rủi ro như giao dịch thường xuyên, rút lui sâu và biến động giá cũng cần được chú ý.

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

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

//@version=5
strategy("TGT Falling Buy", overlay=true, margin_long=100, margin_short=100)
var float buy_price = na
var float open_price = na
var float open_weekend = na 
var float close_weekend = na 
var bool trade=false
var float balance = 1000
// Definir el precio de compra inicial y la cantidad inicial
var float qty = na
// Verificar si el día de la semana es sábado (6) o domingo (0)
es_sabado = dayofweek == 1
es_domingo = dayofweek == 7
es_viernes = dayofweek == 6

// Calcular el valor del saldo inicial
balance_initial = balance

change_percent = ((close - close[1]) / close[1]) * 100
is_last_candle_negative = close < open
is_change_above_threshold = change_percent < -5
// Cambiar el color de la última vela si cumple las condiciones
barcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na)
bgcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na, transp=80)
// Guardar el precio de compra cuando se cumpla la condición del 5%
if is_change_above_threshold 
    // Calcular la cantidad basada en el precio de compra y el saldo
    qty := balance / close
    // Guardar el precio de compra
    buy_price := close
    open_price := open
    strategy.entry("Buy Trading",strategy.long,qty)
    alert("Comprar BTC", alert.freq_once_per_bar_close)
    trade :=true
//if (((close - strategy.position_avg_price) / strategy.position_avg_price) * 100 ) > 2
if close > strategy.position_avg_price
    // Calcular el valor de ganancia o pérdida
    pnl = (close - strategy.position_avg_price) * qty
    // Actualizar el saldo
    balance := balance_initial + pnl
    strategy.close("Buy Trading")
alertcondition(is_change_above_threshold, title = "Buy 5% Discount", message = "Buy Position")
alertcondition(close > strategy.position_avg_price, title = "Close Trade", message = "Close Buy Position")