Chiến lược kết hợp 123 Reversal và Pivot Point

Tác giả:ChaoZhang, Ngày: 2024-01-16 15:48:44
Tags:

img

Tổng quan

Chiến lược này kết hợp chiến lược mô hình đảo ngược 123 và chiến lược điểm xoay để đạt được tỷ lệ thắng cao hơn. Chiến lược mô hình đảo ngược 123 xác định các điểm đảo ngược xu hướng, trong khi chiến lược điểm xoay xác định các mức hỗ trợ và kháng cự chính. Bằng cách kết hợp cả hai, nó có thể nắm bắt xu hướng trong khi xác định các mức giá vào và ra cụ thể.

Chiến lược logic

123 Chiến lược đảo ngược mô hình

Chiến lược này xác định các điểm đảo ngược xu hướng bằng cách sử dụng chỉ số Stochastic Oscillator. Nó đi dài khi giá đóng cao hơn giá đóng trước trong 2 ngày liên tiếp và STO chậm 9 giai đoạn dưới 50; Nó đi ngắn khi giá đóng thấp hơn giá đóng trước trong 2 ngày liên tiếp và STO nhanh 9 giai đoạn trên 50.

Chiến lược điểm trung tâm

Chiến lược này tính toán 3 mức hỗ trợ và 3 mức kháng cự dựa trên giá cao, thấp và đóng cửa ngày trước. Điểm chuyển động = (cao + thấp + đóng) / 3 Hỗ trợ 1 = 2Điểm chuyển động cao Chống 1 = 2Điểm trung tâm thấp Hỗ trợ 2 = Điểm Pivot (Kháng kháng 1 Hỗ trợ 1) Chống 2 = Điểm Pivot + (Chống 1 Hỗ trợ 1) Hỗ trợ 3 = thấp 2*(cao Điểm Pivot) Chống 3 = cao + 2*(Điểm xoay thấp) Sau đó, nó xác định bước vào và bước ra dựa trên mức hỗ trợ và kháng cự.

Ưu điểm

  1. Kết hợp các điểm mạnh của hai loại chiến lược khác nhau để đạt được tỷ lệ thắng cao hơn
  2. Mô hình 123 xác định hiệu quả các sự đảo ngược xu hướng ngắn hạn
  3. Các điểm pivot sử dụng các mức S / R chính để lọc các ngắt sai

Rủi ro và phòng ngừa rủi ro

  1. STO đôi có thể chậm lại và bỏ lỡ những sự đảo ngược ngắn hạn
  2. Các điểm trung tâm có thể không phải lúc nào cũng giữ được, các sự đột phá có thể tiếp tục
  3. Các thông số có thể được điều chỉnh hoặc kết hợp với các chỉ số khác để bảo hiểm rủi ro

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

  1. Tác động thử nghiệm của các bộ tham số khác nhau
  2. Kết hợp với các chỉ số / mô hình khác để cải thiện hiệu suất
  3. Kết hợp máy học để tối ưu hóa các thông số một cách năng động

Tóm lại

Chiến lược này kết hợp khéo léo xác định xu hướng và mức giá chính, cho phép nó phát hiện sự đảo ngược trong khi sử dụng S / R để lọc tín hiệu. Những cải tiến hơn nữa có thể được thực hiện thông qua điều chỉnh tham số và kết hợp với các chiến lược khác. Nó xứng đáng với nghiên cứu và ứng dụng nhiều hơn bởi các nhà giao dịch lượng.


/*backtest
start: 2023-12-16 00:00:00
end: 2024-01-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/04/2021
// 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
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// 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


PP2(res,SellFrom,BuyFrom) =>
    pos = 0.0
    xHigh  = security(syminfo.tickerid,res, high)
    xLow   = security(syminfo.tickerid,res, low)
    xClose = security(syminfo.tickerid,res, close)
    vPP = (xHigh+xLow+xClose) / 3
    vS1 = 2*vPP - xHigh 
    vR1 = 2*vPP-xLow
    vS2 = vPP - (vR1 - vS1)
    vR2 = vPP + (vR1 - vS1)
    vS3 = xLow - 2 * (xHigh - vPP)
    vR3 = xHigh + 2 * (vPP - xLow) 
    S =  iff(BuyFrom == "S1", vS1, 
          iff(BuyFrom == "S2", vS2,
           iff(BuyFrom == "S3", vS3,0)))
    B =  iff(SellFrom == "R1", vR1, 
          iff(SellFrom == "R2", vR2,
           iff(SellFrom == "R3", vR3,0)))
    pos := iff(close > B, 1,
             iff(close < S, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Pivot Point V2)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Pivot Point V2 ----")
res = input(title="Resolution", type=input.resolution, defval="D")
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3"])
BuyFrom = input(title="Buy from ", defval="S1", options=["S1", "S2", "S3"])
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPP2 = PP2(res,SellFrom,BuyFrom)
pos = iff(posReversal123 == 1 and posPP2 == 1 , 1,
	   iff(posReversal123 == -1 and posPP2 == -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