Chiến lược trọng tài trung bình động kép

Tác giả:ChaoZhang, Ngày: 2023-11-24 14:21:06
Tags:

img

Tổng quan

Đây là một chiến lược trọng tài sử dụng hình thành trung bình động kép để thực hiện các giao dịch trọng tài. Nó kết hợp các mô hình đảo ngược 123 và các chiến lược phụ Finite Volume Elements (FVE) và thực hiện các giao dịch trọng tài khi cả hai cung cấp tín hiệu mua hoặc bán đồng thời.

Chiến lược logic

123 Mô hình đảo ngược

Phân chiến lược này là từ cuốn sách How I Tripped My Money in the Futures Market của Ulf Jensen. Nó cung cấp các tín hiệu dưới các điều kiện sau:

  • Đi dài khi giá đóng tăng trong 2 ngày liên tiếp và cổ phiếu chậm 9 ngày dưới 50.
  • Đi ngắn khi giá đóng giảm trong 2 ngày liên tiếp và cổ phiếu nhanh 9 ngày trên 50.

Các phần tử khối lượng hữu hạn (FVE)

FVE là một chỉ số khối lượng thuần túy. Nó đánh giá liệu tiền có đang chảy vào hay ra dựa trên phạm vi chuyển động giá và khối lượng giao dịch.

Nó cung cấp tín hiệu khi hai thanh cuối cùng của chỉ số FVE tăng hoặc giảm cùng nhau.

Phân tích lợi thế

Chiến lược này kết hợp hai loại chỉ số để xác định xu hướng thị trường và dòng tiền, có thể tránh hiệu quả các tín hiệu sai.

Ngoài ra, hình thành trung bình động kép đại diện cho sự nhất quán giữa xu hướng ngắn hạn và trung hạn, do đó có sự ổn định hơn.

Phân tích rủi ro

Chiến lược này dựa trên các hình thành trung bình động, có thể dễ dàng tạo ra tín hiệu sai và dẫn đến tổn thất khi thị trường biến động.

Rủi ro có thể được giảm bằng cách điều chỉnh các tham số một cách thích hợp để làm cho chiến lược mạnh mẽ hơn hoặc bằng cách thiết lập dừng lỗ để kiểm soát rủi ro.

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

Nhiều loại trung bình động có thể được thử nghiệm để tìm sự phù hợp tối ưu. Các chỉ số hỗ trợ khác như chỉ số sức mạnh và chỉ số biến động cũng có thể được giới thiệu để tránh tín hiệu sai.

Ngoài ra, nghiên cứu có thể được thực hiện về cách điều chỉnh động các tham số dựa trên điều kiện thị trường để cải thiện khả năng thích nghi.

Tóm lại

Chiến lược điều chỉnh trung bình động kép này tích hợp hai chỉ số loại đảo ngược để đánh giá, có thể giảm thiểu rủi ro ở một mức độ nào đó. Nhưng việc dựa vào các hình thành trung bình động có nghĩa là cần tối ưu hóa thêm để làm cho chiến lược mạnh mẽ hơn. Nhìn chung, nó cung cấp một khuôn khổ cơ bản cho giao dịch điều chỉnh ngắn hạn và đáng nghiên cứu thêm.


/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/08/2020
// This is combo strategies for get a cumulative signal. 
//
// 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
// The FVE is a pure volume indicator. Unlike most of the other indicators 
// (except OBV), price change doesn?t come into the equation for the FVE (price 
// is not multiplied by volume), but is only used to determine whether money is 
// flowing in or out of the stock. This is contrary to the current trend in the 
// design of modern money flow indicators. The author decided against a price-volume 
// indicator for the following reasons:
// - A pure volume indicator has more power to contradict.
// - The number of buyers or sellers (which is assessed by volume) will be the same, 
//     regardless of the price fluctuation.
// - Price-volume indicators tend to spike excessively at breakouts or breakdowns.
//
// 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


FVE(Period,Factor) =>
    pos = 0
    nRes = 0.0
    xhl2 = hl2
    xhlc3 = hlc3
    xClose = close
    xVolume = volume
    xSMAV = sma(xVolume, Period)
    nMF = xClose - xhl2 + xhlc3 - xhlc3[1]
    nVlm = iff(nMF > Factor * xClose / 100,  xVolume, 
             iff(nMF < -Factor * xClose / 100, -xVolume, 0))
    nRes := nz(nRes[1],0) + ((nVlm / xSMAV) / Period) * 100
    pos := iff(nRes > nRes[1] and nRes > nRes[2], 1,
             iff(nRes < nRes[1] and nRes < nRes[2], -1, nz(pos[1], 0)))   
    pos

strategy(title="Combo Backtest 123 Reversal & Finite Volume Elements (FVE)", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Period = input(18, minval=1)
Factor = input(0.6, minval=0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFVE = FVE(Period,Factor)
pos = iff(posReversal123 == 1 and posFVE == 1 , 1,
	   iff(posReversal123 == -1 and posFVE == -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 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Thêm nữa