Chiến lược đảo ngược động lượng đa khung thời gian


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

Chiến lược đảo ngược động lượng đa khung thời gian

Tổng quan

Chiến lược này kết hợp các chỉ số động lực trong các khoảng thời gian khác nhau để có thể xác định xu hướng thị trường đảo ngược trên nhiều thang thời gian. Chiến lược sử dụng dao động Stochastic để xác định điểm đảo ngược xu hướng ngắn hạn và kết hợp các chỉ số ((giá cao nhất - giá thấp nhất) / giá đóng cửa với chu kỳ dài hơn để xác định xu hướng dài hạn, để có thể xác định xu hướng đảo ngược trên nhiều chiều thời gian.

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

Chiến lược bao gồm hai phần:

  1. 123 Chiến lược đảo ngược

Phần này sử dụng đường nhanh và đường chậm của dao động Stochastic để xác định xu hướng ngắn hạn. Cụ thể, nếu giá đóng cửa cao hơn ngày trước và đường nhanh của Stochastic thấp hơn đường dài và đường nhanh thấp hơn 50, hãy làm nhiều; Nếu giá đóng cửa thấp hơn ngày trước và đường nhanh của Stochastic cao hơn đường dài và đường nhanh cao hơn 50, hãy làm trống.

  1. (giá cao nhất - giá thấp nhất) / chỉ số giá đóng cửa

Chỉ số này phản ánh sự biến động của đường K hiện tại. Nếu giá trị chỉ số lớn hơn, nghĩa là biến động hiện tại tăng lên và có thể đảo ngược; Nếu giá trị chỉ số nhỏ hơn, nghĩa là biến động hiện tại yếu đi và xu hướng có thể tiếp tục.

Kết hợp hai chỉ số, có thể đánh giá xu hướng đảo ngược trong ngắn hạn và trung hạn, để thực hiện chiến lược giao dịch theo nhiều quy mô thời gian.

Lợi thế chiến lược

  • Kết hợp nhiều chỉ số thời gian để tăng độ chính xác

Chiến lược sử dụng cả các chỉ số ngắn hạn và trung hạn để đảm bảo độ tin cậy của tín hiệu đảo ngược và tránh các tín hiệu sai do chỉ số đơn lẻ.

  • Cài đặt tham số chỉ số linh hoạt

Stochastic oscillator và các tham số của chỉ số giá cao nhất - giá thấp nhất / giá đóng cửa có thể được điều chỉnh theo thị trường, giúp chiến lược linh hoạt hơn.

  • Cấu trúc chiến lược đơn giản

Chiến lược dựa trên Stochastic, hỗ trợ các phán đoán xu hướng trung và dài hạn, cấu trúc đơn giản và rõ ràng, dễ hiểu và sửa đổi.

  • Khả năng mở rộng

Khung chiến lược đơn giản, phổ biến, có thể dễ dàng giới thiệu thêm các chỉ số, xây dựng mô hình đa yếu tố.

Phân tích rủi ro

  • Thị trường xu hướng có thể không hoạt động tốt

Chiến lược này chủ yếu là đảo ngược, có thể không hoạt động tốt trong thị trường xu hướng liên tục. Các tham số nên được điều chỉnh thích hợp để phù hợp với thị trường xu hướng.

  • Cần chú ý đến nguy cơ tín hiệu sai của chỉ số

Trong trường hợp thị trường bất thường, Stochastic và (giá cao nhất - giá thấp nhất) / chỉ số giá đóng cửa có thể phát ra tín hiệu sai, cần phòng ngừa nguy cơ tín hiệu sai.

  • Thiết lập tham số chỉ số cần kinh nghiệm

Stochastic và các tham số của chỉ số (giá cao nhất - giá thấp nhất) / giá đóng cửa cần được tối ưu hóa theo tình hình thị trường, nếu không có thể ảnh hưởng đến hiệu suất chiến lược.

  • Cần kiểm soát đúng quy mô vị trí

Chiến lược này là một chiến lược đảo ngược, có thể có sự biến động lớn về lợi nhuận và lỗ hổng, cần kiểm soát tốt vị trí và rủi ro.

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

  • Giới thiệu thêm các chỉ số để xây dựng mô hình đa yếu tố

Có thể đưa vào nhiều yếu tố hơn trong khuôn khổ hiện có, chẳng hạn như số lượng giao dịch, các chỉ số đảo ngược khác, và xây dựng mô hình đa yếu tố.

  • Tăng hệ thống chống thiệt hại

Có thể thiết lập dừng di chuyển hoặc dừng thời gian, kiểm soát hiệu quả tổn thất của giao dịch đơn lẻ.

  • Tối ưu hóa tham số

Các tham số có thể được tối ưu hóa thông qua các phương pháp có hệ thống hơn như thuật toán di truyền.

  • Tăng học máy

Các mô hình được đào tạo bằng thuật toán học máy để xác định xu hướng đảo ngược có thể cải thiện thêm độ chính xác.

  • Kết hợp với phân tích cảm xúc.

Tham gia phân tích cảm xúc của dữ liệu không có cấu trúc như dữ liệu xã hội, hỗ trợ dự đoán điểm đảo ngược.

Tóm tắt

Chiến lược này tích hợp các chỉ số hai chiều thời gian ngắn và trung hạn để đánh giá xu hướng đảo ngược trong nhiều khoảng thời gian, là một khung chiến lược đảo ngược rất tốt. Nó có các ưu điểm như tính linh hoạt, cấu trúc đơn giản, khả năng mở rộng của các tham số chỉ số. Bước tiếp theo có thể được cải tiến từ việc giới thiệu nhiều yếu tố, tối ưu hóa tham số, dừng lỗ và học máy, để nâng cao hơn nữa khả năng lợi nhuận và khả năng kiểm soát rủi ro của chiến lược.

Mã nguồn chiến lược
//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/05/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//  This histogram displays (high-low)/close
//  Can be applied to any time frame.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

HLCHist(input_barsback, input_percentorprice, input_smalength) =>
    xPrice = (high-low)/close
    xPriceHL = (high-low)
    xPrice1 = iff(input_percentorprice, xPrice * 100, xPriceHL)
    xPrice1SMA = sma(abs(xPrice1), input_smalength)
    pos = 0.0
    pos := iff(xPrice1SMA[input_barsback] > abs(xPrice1), 1,
    	   iff(xPrice1SMA[input_barsback] < abs(xPrice1), -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & (H-L)/C Histogram", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
input_barsback = input(4, title="Look Back")
input_percentorprice = input(false, title="% change")
input_smalength = input(13, title="SMA Length")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLCHist = HLCHist(input_barsback, input_percentorprice, input_smalength)
pos = iff(posReversal123 == 1 and posHLCHist == 1 , 1,
	   iff(posReversal123 == -1 and posHLCHist == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? red: possig == 1 ? green : blue )