Chiến lược theo xu hướng động lượng


Ngày tạo: 2023-10-30 11:36:26 sửa đổi lần cuối: 2023-10-30 11:36:26
sao chép: 1 Số nhấp chuột: 736
1
tập trung vào
1617
Người theo dõi

Chiến lược theo xu hướng động lượng

Tổng quan

Chiến lược này sử dụng các chỉ số VIDA để xác định xu hướng của thị trường tiền điện tử và giao dịch dựa trên xu hướng. Đây là một chiến lược giao dịch kỹ thuật định lượng.

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

Chiến lược này bắt đầu bằng cách tính toán chỉ số VIDYA. Chỉ số VIDYA dựa trên động lực của sự thay đổi giá, có thể phản ứng nhanh hơn với sự thay đổi xu hướng. Cụ thể, nó kết hợp với Chande Momentum Oscillator (CMO) và trung bình di chuyển đơn giản (SMA).

Sau khi tính ra VIDYA, chiến lược đánh giá xu hướng theo hướng của đường cong của nó. Khi VIDYA tăng lên, làm nhiều hơn; Khi VIDYA giảm, bằng phẳng.

Phân tích lợi thế

  • Chỉ số VIDYA phản ứng nhanh, có thể bắt kịp sự thay đổi của xu hướng sớm, có lợi thế hơn so với các chỉ số truyền thống như SMA.

  • Sự kết hợp giữa cường độ và định hướng của xu hướng giúp phân biệt hiệu quả giữa các xu hướng mạnh và yếu, tránh bị lừa dối bởi các xu hướng sai của thị trường lắc lư.

  • Đơn giản hóa chiến lược được thực hiện chỉ dựa trên chỉ số duy nhất của VIDYA. Không gây ra xung đột và sai lệch về chỉ số.

  • Thiết lập Vidya dài hạn có thể theo dõi xu hướng dài hạn, giúp nắm được hướng của xu hướng chính.

  • Chiến lược phản hồi hoạt động tốt và có kỳ vọng về lợi nhuận tích cực.

Phân tích rủi ro

  • VIDYA có thể bị trì hoãn trong việc phản ứng với sự kiện bất ngờ của thị trường và không thể nắm bắt ngay các cơ hội giao dịch ngắn hạn.

  • Thiết lập VIDYA dài hạn không nhạy cảm với thay đổi xu hướng ngắn hạn, có thể có sự rút lui lớn ở giữa.

  • Chiến lược theo dõi xu hướng thuần túy, không hoạt động tốt trong tình huống chấn động. Có thể kết hợp với các điều kiện lọc bổ sung để cải thiện hiệu suất.

  • Dữ liệu phản hồi không đầy đủ, không thể xác minh hoàn toàn sự ổn định của chiến lược. Trong giao dịch thực tế, các tham số cần được kiểm tra tối ưu hóa nhiều lần.

  • Thị trường tiền điện tử có nhiều biến động, cần kiểm soát cẩn thận quy mô vị trí và điều kiện dừng lỗ, quản lý rủi ro nghiêm ngặt.

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

  • Kiểm tra chỉ số giá trị gia tăng hoặc chỉ số tỷ lệ biến động để tăng độ nhạy cảm nhận biết sự thay đổi xu hướng.

  • Kiểm tra sự kết hợp của VIDYA với các chỉ số xu hướng khác để tạo ra hiệu ứng tập hợp chỉ số.

  • Tối ưu hóa chiến lược dừng lỗ, dừng lỗ sớm nhất khi xu hướng đảo ngược.

  • Tối ưu hóa chiến lược quản lý vị trí, điều chỉnh vị trí theo tình hình thị trường.

  • Kiểm tra sự ổn định trong các biến thể và chu kỳ tiền điện tử khác nhau.

Tóm tắt

Chiến lược tổng thể là một chiến lược theo dõi xu hướng định lượng. Nó sử dụng chỉ số VIDYA để xác định xu hướng, nắm bắt một cách đơn giản và hiệu quả tình hình xu hướng dài hạn của tiền điện tử. Tuy nhiên, cũng có một số hạn chế, cần tối ưu hóa hơn nữa về việc ngăn chặn, quản lý vị trí và các khía cạnh khác để làm cho chiến lược trở nên vững chắc và thực tế.

Mã nguồn chiến lược
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
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/
// @version=5
// Author = TradeAutomation


strategy(title="VIDYA Trend Strategy", shorttitle="VIDYA Trend Strategy", process_orders_on_close=true, overlay=true, pyramiding=25,  commission_type=strategy.commission.percent, commission_value=.075, slippage = 1, initial_capital = 1000000, default_qty_type=strategy.percent_of_equity, default_qty_value=4)


// Backtest Date Range Inputs // 
StartTime = input(defval=timestamp('01 Jan 2000 08:00'), group="Date Range", title='Start Time')
EndTime = input(defval=timestamp('01 Jan 2099 00:00'), group="Date Range", title='End Time')
InDateRange = true

// Strategy Inputs //
len = input.int(title="VIDYA Length", defval=50, step=5,group="Trend Settings")
src = input.source(title="VIDYA Price Source",defval=ohlc4, group="Trend Settings")

// VIDYA Calculations //
valpha=2/(len+1)
vud1=src>src[1] ? src-src[1] : 0
vdd1=src<src[1] ? src[1]-src : 0
vUD=math.sum(vud1,9)
vDD=math.sum(vdd1,9)
vCMO=nz((vUD-vDD)/(vUD+vDD))
var VIDYA = 0.0
VIDYA := na(VIDYA[1]) ? ta.sma(src, len) : nz(valpha*math.abs(vCMO)*src)+(1-valpha*math.abs(vCMO))*nz(VIDYA[1])
plot(VIDYA, title="VIDYA",color=(VIDYA > VIDYA[1]) ? color.green : (VIDYA<VIDYA[1]) ? color.red : (VIDYA==VIDYA[1]) ? color.gray : color.black, linewidth=2)

// Entry & Exit Signals //
if (InDateRange)
    strategy.entry("Long", strategy.long, when = VIDYA>VIDYA[1])
    strategy.close("Long", when = VIDYA<VIDYA[1])
if (not InDateRange)
    strategy.close_all()