Tài nguyên đang được tải lên... tải...

Chiến lược chéo EMA5 và EMA13

Tác giả:ChaoZhang
Tags:EMASMA

img

Tổng quan

Chiến lược này sử dụng sự chéo chéo của Trung bình Di chuyển Triệt để 5 ngày (EMA5) và Trung bình Di chuyển Triệt để 13 ngày (EMA13) để tạo ra các tín hiệu giao dịch. Khi EMA5 vượt qua trên EMA13, nó tạo ra một tín hiệu dài; khi EMA5 vượt qua dưới EMA13, nó tạo ra một tín hiệu ngắn. Chiến lược nhằm mục đích nắm bắt những thay đổi xu hướng ngắn hạn và sử dụng sự chéo chéo của hai trung bình di chuyển để xác định các điểm vào và ra.

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

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

  1. Đơn giản và dễ hiểu: Chiến lược chỉ sử dụng hai chỉ số EMA, làm cho nó đơn giản, dễ hiểu và thực hiện.
  2. Khả năng thích nghi cao: Bằng cách điều chỉnh các tham số thời gian EMA, chiến lược có thể thích nghi với môi trường thị trường và các công cụ giao dịch khác nhau.
  3. Khai thác thời gian cao: So với SMA, EMA phản ứng nhanh hơn với những thay đổi giá, giúp nhanh chóng nắm bắt những thay đổi xu hướng.

Rủi ro chiến lược

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

  1. Thêm lọc xu hướng: Ngoài các tín hiệu chéo EMA, kết hợp các chỉ số xu hướng dài hạn (chẳng hạn như EMA50) để lọc xu hướng để giảm các tín hiệu sai.

Tóm lại


/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Milankacha

//@version=5
strategy('5-13 EMA by Naimesh ver04', overlay=true)

qty = input(1, 'Buy quantity')

testStartYear = input(2021, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testStartHour = input(0, 'Backtest Start Hour')
testStartMin = input(0, 'Backtest Start Minute')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin)
testStopYear = input(2099, 'Backtest Stop Year')
testStopMonth = input(1, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title='Color Background?', defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? #00FF00 : na
testPeriod() => true


ema1 = input(5, title='Select EMA 1')
ema2 = input(13, title='Select EMA 2')
//ema3 = input(50, title='Select EMA 3')
//SL = input(70, title='Stoploss')
//TR = input(250, title='Target')

expo = ta.ema(close, ema1)
ma = ta.ema(close, ema2)
//EMA_50 = ta.ema(close, ema3)

//avg_1 = avg (expo, ma)
//s2 = ta.cross(expo, ma) ? avg_1 : na
//plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0)

p1 = plot(expo, color=color.rgb(231, 15, 15), linewidth=2)
p2 = plot(ma, color=#0db63a, linewidth=2)
fill(p1, p2, color=color.new(color.white, 80))

longCondition = ta.crossover(expo, ma)

shortCondition = ta.crossunder(expo, ma)


if testPeriod()
    //strategy.entry('Long', strategy.long, when=longCondition)
    strategy.entry('Short', strategy.short, when=expo<ma)

//strategy.close("Long", expo<ma, comment= 'SL hit')
strategy.close("Short", expo>ma, comment= 'SL hit')



//plotshape(longCondition and close>EMA_50, title='Buy Signal', text='B', textcolor=color.new(#FFFFFF, 0), style=shape.labelup, size=size.normal, location=location.belowbar, color=color.new(#1B8112, 0))
//plotshape(shortCondition and close<EMA_50, title='Sell Signal', text='S', textcolor=color.new(#FFFFFF, 0), style=shape.labeldown, size=size.normal, location=location.abovebar, color=color.new(#FF5733, 0))



Có liên quan

Thêm nữa