MA CROSSOVER

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

Chiến lược MA Crossover là một chiến lược giao dịch kỹ thuật sử dụng đường chéo trung bình động để xác định các cơ hội giao dịch. Chiến lược được thiết kế để sử dụng trong khung thời gian hàng ngày, và nó có thể được sử dụng để giao dịch cả hai vị trí dài và ngắn.

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

Chiến lược MA Crossover 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 MA Crossover:

Đó 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. Đó là một chiến lược theo xu hướng, có nghĩa là nó có thể giúp các nhà giao dịch đi theo xu hướng. 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 MA Crossover:

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 có thể dễ bị chọc, đó 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 MA Crossover 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 ở mọi 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.

Dưới đây là một số điều bổ sung cần lưu ý khi sử dụng chiến lược MA Crossover:

Độ dài của các đường trung bình di chuyển có thể được điều chỉnh để phù hợp với phong cách giao dịch và khả năng chấp nhận rủi ro của bạn. Bạn cũng có thể sử dụng nhiều đường trung bình động để tạo ra một chiến lược phức tạp hơn. Điều quan trọng là kiểm tra lại chiến lược trên dữ liệu lịch sử để đảm bảo nó có lợi nhuận trước khi sử dụng nó cho giao dịch trực tiếp. Bạn cũng nên sử dụng lệnh dừng lỗ để hạn chế lỗ của mình. Tôi hy vọng bài viết này sẽ hữu ích và thông tin.


/*backtest
start: 2022-08-28 00:00:00
end: 2023-02-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":10000}]
*/

//@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