Long Only Triple EMA Golden Cross Chiến lược giao dịch

Tác giả:ChaoZhang, Ngày: 2023-09-26 16:23:53
Tags:

Tổng quan

Chiến lược này tạo ra các tín hiệu giao dịch dựa trên thập tự vàng và thập tự tử của ba đường EMA với các giai đoạn khác nhau để tận dụng thế mạnh của mỗi đường EMA và đạt được hiệu suất giao dịch tốt hơn.

Chiến lược logic

Chiến lược tính toán ba đường EMA với thời gian 8, 50 và 200, và tạo ra tín hiệu khi EMA nhanh hơn vượt qua trên hoặc dưới EMA chậm hơn.

  1. Tính toán đường EMA 8 giai đoạn, 50 giai đoạn và 200 giai đoạn.

  2. Đi dài khi EMA 8 giai đoạn vượt trên EMA 50 giai đoạn (cross vàng), đóng vị trí khi EMA 50 giai đoạn vượt dưới EMA 8 giai đoạn (cross chết).

  3. Tùy chọn chỉ mua dài khi giá vượt quá đường EMA 200 giai đoạn để tránh whipsaws.

  4. Một đường EMA lấy lợi nhuận tùy chọn có thể được thiết lập để đóng các vị trí khi giá vượt dưới nó.

EMA nhanh xác định đáy, EMA trung bình xác định xu hướng, và EMA chậm lọc ra tiếng ồn.

Ưu điểm

  1. EMA ba lần xác định hiệu quả xu hướng và tận dụng điểm mạnh của từng cá nhân. EMA 8 giai đoạn bắt đáy ngắn, EMA 50 giai đoạn xác định xu hướng trung hạn và EMA 200 giai đoạn lọc ra tiếng ồn.

  2. Chỉ đi xa hơn 200 thời gian EMA tránh whipsaws.

  3. EMA có lợi nhuận tùy chỉnh đặt ra mục tiêu lợi nhuận hợp lý.

  4. Tùy chỉnh trực quan như màu thanh và EMA vẽ tăng tính linh hoạt.

  5. Lý thuyết đơn giản của đường chéo vàng/cái chết rất dễ hiểu.

Rủi ro và giảm thiểu

  1. Sự chậm trễ của EMA có thể gây ra thời gian nhập cảnh bị bỏ lỡ.

  2. Sử dụng EMA dài hơn để lọc hoặc thêm các điều kiện.

  3. Mục tiêu lợi nhuận cố định không thích nghi.

  4. Không dừng có nghĩa là rủi ro không giới hạn.

Cơ hội gia tăng

  1. Tối ưu hóa thời gian EMA cho các thông số tốt nhất.

  2. Thêm các chỉ số như MACD cho thời gian.

  3. Thực hiện lợi nhuận năng động dựa trên biến động.

  4. Thêm logic stop-loss, trailing hoặc giá trị cố định.

  5. Cải thiện điều kiện nhập, ví dụ như bộ lọc khối lượng.

Kết luận

Chiến lược này tận dụng việc lọc xu hướng của EMA để xác định các động thái có khả năng cao. Tối ưu hóa lối ra, thêm các chỉ số và bộ lọc có thể cải thiện hiệu suất.


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

//@version=2
strategy("Long only EMA CROSS 8/50/200 Backtest", shorttitle="Golden Cross Tri EMA", overlay=true)

// EMA 8/50/200 Cross TEST



// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Show 8 EMA")
switch3=input(true, title="Show 50 EMA")
switch4=input(true, title="Show 200 EMA")
switch5=input(false, title="Show profit level EMA")
bool_Long_EMA200=input(false, title="Long only above EMA200")
movingaverage_8 = ema(close, input(8))
movingaverage_50 = ema(close, input(50))
movingaverage_market_signal = ema(close, input(200))
movingaverage_profitlvl = ema(close, input(50))


// Calculation
bullish_cross = if bool_Long_EMA200 == true
    crossover(movingaverage_8, movingaverage_50) and movingaverage_8 > movingaverage_market_signal
else 
    bullish_cross = crossover(movingaverage_8, movingaverage_50)
bearish_cross = crossunder(close, movingaverage_profitlvl)

// Strategy
if bullish_cross
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross )

// Colors
bartrendcolor = close > movingaverage_8 and close > movingaverage_50 and change(movingaverage_50) > 0 ? green : close < movingaverage_8 and close < movingaverage_50 and change(movingaverage_50) < 0 ? red : blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(switch2?movingaverage_8:na,color = change(movingaverage_8) > 0 ? green : red,linewidth=2, title="EMA8")
plot(switch3?movingaverage_50:na,color = change(movingaverage_50) > 0 ? green : red,linewidth=2,title="EMA50")
plot(switch4?movingaverage_market_signal:na,color = change(movingaverage_market_signal) > 0 ? green : red,linewidth=3,title="EMA200")
plot(switch5?movingaverage_profitlvl:na,color = change(movingaverage_profitlvl) > 0 ? green : red,linewidth=3, title="EMA Profit LVL")

//
alertcondition(bullish_cross, title='Golden Cross (bullish)', message='Bullish')
alertcondition(bearish_cross, title='Death Cross (bearish)', message='Bearish')

Thêm nữa