Chiến lược đường chéo không chênh lệch trung bình động

Tác giả:ChaoZhang, Ngày: 2024-01-26 15:45:03
Tags:

img

Tổng quan

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

  1. Tính toán 8 thời gian biểu động trung bình EMA và trung bình di chuyển thấp nhất trong 8 ngày qua
  2. Tính toán sự khác biệt giữa giá và trung bình di chuyển hiện tại
  3. Khi diff nhỏ hơn 0, đó là tín hiệu giảm, khi diff vượt qua trên 0, đó là tín hiệu phân kỳ đáy, cho thấy tăng.
  4. Kết hợp giá trị số của diff để so sánh mức giảm tối đa trong tuần qua để tạo ra tín hiệu giao dịch

Phân tích lợi thế

  1. Sử dụng hệ thống trung bình động kép có thể lọc hiệu quả những bước đột phá sai
  2. Áp dụng lý thuyết giá tối thiểu để phát hiện tín hiệu đáy
  3. So sánh số liệu để đánh giá các điều kiện bán quá mức và mua quá mức, tránh theo đuổi mức cao và giết chết mức thấp

Phân tích rủi ro

  1. Các chiến lược trung bình động kép có xu hướng bị ảnh hưởng bởi whipsaw
  2. Cần phải chú ý đến vấn đề tần suất giao dịch quá mức
  3. Cài đặt hợp lý các thông số trung bình động là rất quan trọng

Hướng dẫn tối ưu hóa

  1. Điều chỉnh các thông số thời gian trung bình động để thích nghi với các chu kỳ khác nhau
  2. Kết hợp chỉ số stochastic để tránh các điều kiện bán quá mức và mua quá mức

Tóm lại

Chiến lược này tích hợp phương pháp chênh lệch trung bình động và hệ thống chéo trục không để cải thiện độ chính xác phát hiện điểm mua và bán. Tuy nhiên, vẫn cần tối ưu hóa thêm các thiết lập tham số và kết hợp với các chỉ số khác để lọc tín hiệu. Nói chung, chiến lược chỉ số đơn giản này có hiệu quả đáng kể và có thể được sử dụng như một chiến lược cơ bản cho giao dịch trực tiếp.


/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Estratégia diferença menor preço de 8")

// Configuração da Média Móvel
emaPeriod = 8

ema= ema(close, emaPeriod)
ema1= ema(close[1], emaPeriod)
lowestEMA = lowest(ema, 8)

// Calcula a diferença entre o preço e a média móvel
diff = close - ema
diff1 = close[1] - ema1
diffLow = ema - lowestEMA

//Condições
diffZero = diff < 0
diffUnder = diff < diffLow
diffUm = diff > 0
Low0 = diffLow == 0




// Sinais de entrada
buy_signal = diffUnder and crossover(diff, diff1) 
sell_signal = diffUm and diffUnder and crossunder(diff, diff1)

// Executa as operações de compra/venda
if buy_signal
    strategy.entry("Buy", strategy.long)
if sell_signal
    strategy.exit("Buy")

// Plota as linhas
plot(0, title="Linha Zero", color=color.gray)
plot(diff, title="Diferença", color=color.blue, linewidth=2)

plot(diffLow, title="Diferença", color=color.red, linewidth=2)


Thêm nữa