Chiến lược đột phá đóng đường trung bình động chỉ số


Ngày tạo: 2023-12-07 15:50:13 sửa đổi lần cuối: 2023-12-07 15:50:13
sao chép: 0 Số nhấp chuột: 696
1
tập trung vào
1619
Người theo dõi

Chiến lược đột phá đóng đường trung bình động chỉ số

Tổng quan

Chiến lược này xác định định hướng đa vị trí bằng cách đánh giá hướng của đường trung bình di chuyển của chỉ số. Khi có hình dạng của đường dương chủ yếu nuốt đường âm và khối lượng giao dịch tăng lên, hãy thực hiện nhiều thao tác. Khi hướng đường trung bình di chuyển của chỉ số chuyển hướng hoặc hình dạng của đường dương chủ yếu nuốt đường dương, hãy thực hiện thao tác bằng phẳng.

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

  1. Sử dụng hai tham số khác nhau để xác định xu hướng của thị trường. Đường EMA ngắn hạn được coi là thị trường đa đầu trên đường EMA dài hạn, ngược lại là thị trường trống.

  2. Khi thị trường ở trạng thái đa đầu, nếu có hình thức mà đường nến chủ yếu nuốt một đường K trước đó, và khối lượng giao dịch lớn hơn 1,2 lần so với đường K trước đó, thì sẽ tạo ra tín hiệu giao dịch nhiều. Hình thức này cho thấy sức mạnh đa đầu mạnh mẽ, có thể truy cập vào giao dịch nhiều.

  3. Khi xu hướng thị trường chuyển hướng, tức là khi EMA ngắn hạn đi qua EMA dài hạn, hiển thị lực lượng đa đầu yếu đi, nên cân bằng. Hoặc khi có hình thức tiêu thụ mặt trời, hiển thị lực lượng đầu không tăng trọng vào, cũng nên chủ động dừng lỗ cân bằng.

Phân tích lợi thế

  1. Sử dụng hai EMA để đánh giá cấu trúc thị trường, có thể đánh giá chính xác hơn về tình trạng thị trường không gian.

  2. Hình thức ăn uống cho thấy lực lượng đơn phương đột ngột tăng cường, có thể nắm bắt được tình hình lớn hơn. Kết hợp với khối lượng giao dịch, tăng cường bộ lọc, tránh bị trì hoãn bởi đột phá giả.

  3. Có cơ chế dừng lỗ. Do không thiết lập điểm dừng lỗ, việc sử dụng chuyển động cấu trúc thị trường để dừng lỗ có thể làm giảm tổn thất điểm trượt do không cần thiết dừng lỗ.

Phân tích rủi ro

  1. EMA đôi đánh giá cấu trúc thị trường cũng có thể đánh giá sai, do đó bỏ lỡ thị trường hoặc tham gia nhiều hơn. Các tham số chu kỳ EMA có thể được điều chỉnh thích hợp.

  2. Các hình thức ăn uống dễ bị sai lệch bởi các biến động. Bạn có thể thêm các điều kiện lọc để tránh giao dịch sai.

  3. Không có thiết lập điểm dừng có thể dẫn đến tổn thất lớn hơn. Bạn có thể thử các phương pháp như dừng lỗ break even.

Hướng tối ưu hóa

  1. Có thể kết hợp nhiều chỉ số khác để đánh giá tính trống rỗng, chẳng hạn như MACD, sóng năng lượng, v.v.

  2. Có thể thêm mức dừng lỗ một mức độ nhất định nếu thích hợp.

  3. Các tham số chu kỳ EMA có thể được tối ưu hóa theo đặc điểm của các loại giao dịch.

Tóm tắt

Chiến lược này có ý tưởng tổng thể rõ ràng và dễ hiểu, sử dụng cấu trúc phán đoán đường trung bình di chuyển của chỉ số, hình dạng ăn uống để nắm bắt đột phá. Ưu điểm là logic phán đoán đơn giản, tín hiệu giao dịch rõ ràng. Nhưng cũng có nguy cơ bị giam cầm.

Mã nguồn chiến lược
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=5
// # ========================================================================= #
// #                   |   STRATEGY  |
// # ========================================================================= #
strategy(
  title                           = "fpemehd Strategy001",
  shorttitle                      = "f_001",
  overlay                         =  true,
  default_qty_type                =  strategy.percent_of_equity, 
  default_qty_value               =  100, 
  initial_capital                 =  10000000, 
  currency                        =  currency.USD, 
  slippage                        =  0, 
  commission_type                 =  strategy.commission.cash_per_order, 
  commission_value                =  0.01, 
  process_orders_on_close         =  true)
// # ========================================================================= #
// #                   |   STRATEGY  |
// # ========================================================================= #


// Inputs
I_start_date = input (defval = timestamp("20 Jan 1990 00:00 +0900"))
I_finish_date = input(defval = timestamp("20 Dec 2030 00:00 +0900"))

I_short_ema = input.int(defval = 15 , title = "Short EMA", minval = 1 , maxval = 300 , step = 1)
I_long_ema = input.int(defval = 30 , title = "Long EMA", minval = 1 , maxval = 300 , step = 1)

I_body = input.float(defval = 1 , title = "Size of Body", minval = 1 , maxval = 5 , step = 0.1)

time_cond = true

// Calculate Engulfing Candles
C_uptrend = false
C_downtrend = false
C_ema_short = ta.ema(source = close, length = I_short_ema) 
C_ema_long = ta.ema(source = close, length = I_long_ema) 
C_uptrend := close > C_ema_short and C_ema_short > C_ema_long
C_downtrend := close < C_ema_short and C_ema_short < C_ema_long

C_pre_body = math.abs(open[1]-close[1])
C_pre_body_ratio = (math.abs(open[1]-close[1])) / (math.abs(high[1]-low[1])) * 100

C_now_body = math.abs(open-close)
C_now_body_ratio = (math.abs(open-close)) / (math.abs(high-low)) * 100

C_bullish_engulfing = (open[1] > close[1] and open <= close) and (low < low[1] and high > high[1])
C_bearish_engulfing = (open[1] < close[1] and open >= close) and (low < low[1] and high > high[1])
C_avoid_doge = (C_pre_body_ratio > I_body and C_now_body_ratio > I_body) ? true : false
C_volume_filter = volume > volume[1] * 1.2

// Signals
long_signal = C_uptrend and C_bullish_engulfing and C_avoid_doge and C_volume_filter
close_signal = C_downtrend or C_bearish_engulfing 


if long_signal and time_cond
    strategy.entry(id = "Long", direction = strategy.long)

if close_signal and time_cond
    strategy.close(id = "Long")