EMA-Cross-JC Intraday với Trailing SL

Tác giả:ChaoZhang, Ngày: 2023-09-04 15:39:54
Tags:

EMA-Cross-JC Intraday với Trailing SL Strategy

Chiến lược EMA-Cross-JC Intraday with Trailing SL là một chiến lược giao dịch kỹ thuật sử dụng Mức trung bình chuyển động (EMA) để xác định các cơ hội giao dịch.

Chiến lược này hoạt động bằng cách xác định các giao thoa giữa EMA nhanh và chậm. Khi EMA nhanh vượt qua trên EMA chậm, một tín hiệu mua được tạo ra. Khi EMA nhanh vượt qua dưới EMA chậm, một tín hiệu bán được tạo ra.

Chiến lược này cũng sử dụng lệnh dừng lỗ để quản lý rủi ro. lệnh dừng lỗ là lệnh dừng lỗ động được chuyển lên khi giá của tài sản di chuyển có lợi cho nhà giao dịch. Điều này giúp đảm bảo rằng thua lỗ của nhà giao dịch được giới hạn, đồng thời cho phép họ tham gia nhiều lợi nhuận tiềm năng nhất có thể.

Chiến lược EMA-Cross-JC Intraday with Trailing SL là một chiến lược tương đối đơn giản để sử dụng, nhưng nó có thể rất hiệu quả.

Dưới đây là một số lợi ích của việc sử dụng chiến lược EMA-Cross-JC Intraday with Trailing SL:

Đó là một chiến lược đơn giản để sử dụng, làm cho nó có thể tiếp cận với các nhà giao dịch của tất cả các cấp độ kinh nghiệm. Nó dựa trên các nguyên tắc kỹ thuật vững chắc, có nghĩa là nó có khả năng thành công cao. Nó sử dụng lệnh dừng lỗ để quản lý rủi ro, giúp bảo vệ các nhà giao dịch khỏi tổn thất lớn. Nó có thể được sử dụng để giao dịch cả các vị trí dài và ngắn, làm cho nó trở thành một chiến lược linh hoạt. Dưới đây là một số rủi ro liên quan đến việc sử dụng chiến lược EMA-Cross-JC Intraday with Trailing SL:

Chiến lược này dựa trên dữ liệu giá lịch sử và không có gì đảm bảo rằng nó sẽ có lợi nhuận trong tương lai. Chiến lược này có thể dễ bị whipsaw, đó là khi giá của một tài sản di chuyển nhanh chóng theo cả hai hướng. Chiến lược có thể biến động, có nghĩa là có nguy cơ mất mát lớn. Nhìn chung, chiến lược EMA-Cross-JC Intraday with Trailing SL là một chiến lược giao dịch tương đối đơn giản và hiệu quả có thể được sử dụng bởi các nhà giao dịch ở tất cả các cấp độ kinh nghiệm. Tuy nhiên, điều quan trọng cần nhớ là không có chiến lược giao dịch nào được đảm bảo là có lợi nhuận và các nhà giao dịch nên luôn thận trọng khi sử dụng bất kỳ chiến lược giao dịch nào.

Tôi hy vọng bài viết này sẽ hữu ích và thông tin.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-03 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA-Cross-JC Intraday with Trailing SL", overlay=true)

// emabasel = input(100, "Base Length")
emaslen = input(15, "Slow Length")
emaflen = input(9, "Fast Length")
intra =input(true, title = "Intraday?")
sq_time_hr = input(15, title="Exit Hr")
sq_time_min = input(20, title="Exit Min")

emaslow = ta.ema(close, emaslen)
emafast = ta.ema(close, emaflen)
// emabase = ta.ema(close, emabasel)

emaup = ta.crossover(emafast, emaslow)
emadown = ta.crossunder(emafast, emaslow)

tsival = ta.tsi(close, 13, 55)

plot(emaslow, title="Slow EMA", color=color.yellow, linewidth=1)
plot(emafast, title="Fast EMA", color=color.green, linewidth=1)
// plot(emabase, title="Base EMA", color=color.white, linewidth=3)

takeProfitPoints = input(200, title="Take Profit")
// tp_off = input(4000, title="Keep trailing")
stopLossPoints = input(100, title="Stop Loss")

// Define the time to square off positions
squareOffTime = timestamp(year, month, dayofmonth, sq_time_hr, sq_time_min)

var float trailingStop = na

if emaup and barstate.isconfirmed and time < squareOffTime //and tsival >=0
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=close - stopLossPoints, limit=close + takeProfitPoints)
    // trailingStop := emabase - stopLossPoints
    strategy.exit("Trailing Stop", "Buy", stop=trailingStop)

if emadown and barstate.isconfirmed and time < squareOffTime //and tsival <=0
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=close + stopLossPoints, limit=close - takeProfitPoints)
    // trailingStop := emabase + stopLossPoints
    strategy.exit("Trailing Stop", "Sell", stop=trailingStop)

// Close any open positions before the end of the trading day
if ta.barssince(strategy.opentrades) == 0 and time >= squareOffTime and intra == true
    strategy.close_all()

// plot(tsival, title = "TSI Value")
plotshape(emaup and barstate.isconfirmed, title="Crossover", style = shape.triangleup , size=size.small,color = color.green, location = location.belowbar)
plotshape(emadown and barstate.isconfirmed, title="Crossunder",style = shape.triangledown, size=size.small,color = color.red, location = location.abovebar)


Thêm nữa