Chiến lược giao dịch dựa trên trung bình di chuyển Hull và nến

Tác giả:ChaoZhang, Ngày: 2023-09-21 10:31:58
Tags:

Tổng quan

Ý tưởng cốt lõi của chiến lược này là so sánh Hull Moving Average (HMA) với giá trị nến để tạo ra tín hiệu mua và bán. Nó sẽ mua khi HMA nằm trên nến và bán khi HMA nằm dưới nến.

Nguyên tắc

Đầu tiên, chiến lược tính toán HMA của một khoảng thời gian nhất định bằng cách sử dụng hàm hma ((). Sau đó nó lấy giá mở của nến trước đó làm điểm chuẩn. Nếu HMA cao hơn giá mở nến trước đó, một tín hiệu mua được tạo ra. Nếu HMA thấp hơn giá mở nến trước đó, một tín hiệu bán được tạo ra.

Điều kiện nhập là giá phải phá vỡ HMA theo hướng ngược lại trước khi vào thị trường. Điều đó có nghĩa là nó sẽ chỉ mua khi giá phá vỡ trên HMA từ dưới. Nó sẽ bán chỉ khi giá phá vỡ dưới HMA từ trên. Điều này tránh bị đánh bại bởi thị trường dao động.

Các điều kiện thoát là dừng lỗ khi giá giảm trở lại phía bên kia của HMA. Ví dụ, nếu giá giảm xuống dưới HMA sau khi mua, nó sẽ dừng bán lỗ.

Tóm lại, chiến lược này xác định hướng xu hướng chính bằng cách sử dụng sự trơn tru của HMA để tạo ra tín hiệu.

Phân tích lợi thế

  1. Sử dụng HMA thay vì SMA có thể xác định tốt hơn xu hướng và lọc tiếng ồn.

  2. Cơ chế thoát hiểm có thể làm giảm khả năng bị mắc kẹt và mở các vị trí lặp lại.

  3. Sử dụng giá nến trước đó thay vì giá hiện tại tránh phù hợp đường cong.

  4. Các quy tắc đơn giản và rõ ràng, phù hợp với tối ưu hóa tham số và giao dịch robot.

  5. Có thể được áp dụng linh hoạt cho bất kỳ công cụ và khung thời gian nào, với tính phổ quát.

Rủi ro và cải tiến

  1. Thiết lập thông số HMA không chính xác có thể bỏ lỡ xu hướng hoặc quá nhạy cảm.

  2. Việc dựa vào chỉ số duy nhất có thể bị ngăn chặn bởi các nỗ lực đột phá, xem xét kết hợp các chỉ số khác để lọc tín hiệu.

  3. Nếu stop loss quá gần HMA, có thể bị mắc kẹt lại bởi breakout tiếp theo.

  4. Không thể xác định hướng và sức mạnh của xu hướng.

  5. Dừng lỗ cố định gây ra biến động lớn trong rủi ro / phần thưởng.

Kết luận

Chiến lược này tương đối đơn giản và thực tế tổng thể với một ý tưởng cốt lõi rõ ràng. Nó xác định xu hướng chính với HMA và lọc các tín hiệu giả bằng cách phá vỡ. Nó tránh bị đánh bại bởi các thị trường hỗn loạn. Tối ưu hóa tham số thích hợp có thể đạt được kết quả tốt. Tuy nhiên, độ tin cậy và tỷ lệ thắng vẫn bị giới hạn như một chiến lược chỉ số duy nhất.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 2h
basePeriod: 15m
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/
// © SeaSide420. Any timeFrame/pair , Hull Moving Average vs Candle
//@version=4
strategy("Hull Moving Average vs Candle",shorttitle="HMA-vs-Candle",overlay=true,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.cash_per_order,commission_value=1.00,slippage=1)
Period=input(title="Hull MA Period",type=input.integer,defval=50,minval=1)
Resolution=input(title="Candle Resolution", type=input.resolution,defval="D")
Price=input(title="Source of Price",type=input.source,defval=open)
HMA=hma(Price,Period)
Candle=security(syminfo.tickerid,Resolution,Price,barmerge.gaps_off,barmerge.lookahead_off)
change_color=HMA>Candle?color.green:color.red
plot1=plot(Candle,color=change_color,title="Candle Line",linewidth=2,transp=50)
plot2=plot(HMA[1],color=change_color,title="Hull MA Line",linewidth=2,transp=50)
fill(plot1,plot2,color=change_color,transp=50)
strategy.close("BUY",when=Price<HMA and HMA<Candle,comment="close buy entry")
strategy.close("SELL",when=Price>HMA and HMA>Candle,comment="close sell entry")
if (Price>HMA and HMA>Candle and Price>Price[1])
    strategy.entry("BUY",strategy.long)
if (Price<HMA and HMA<Candle and Price<Price[1])
    strategy.entry("SELL",strategy.short)



//                                                                   /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//                                                                                        ~ priceless artwork by SeaSide420

Thêm nữa