Chiến lược đảo ngược dao động TTM Falcon dựa trên đảo ngược giá

Tác giả:ChaoZhang, Ngày: 2023-12-05 15:07:10
Tags:

img

Tổng quan

Chiến lược được đặt tên là TTM Falcon Oscillator Reversal Strategy Based on Price Reversion.

Ý tưởng chính của chiến lược là đánh giá sự đảo ngược xu hướng bằng cách sử dụng các mô hình giá. Khi giá hình thành ba mức cao hoặc thấp mới K-line bar, nó được đánh giá là một tín hiệu đảo ngược giá để có các vị trí dài hoặc ngắn tương ứng.

Chiến lược logic

Chiến lược đánh giá sự đảo ngược giá bằng cách quan sát sự thay đổi giá đóng của thanh K-line.

  1. Khi giá đóng của thanh K-line đầu tiên thấp hơn thanh thứ hai, tín hiệu được ghi là 1; khi cao hơn, tín hiệu được ghi là 0.

  2. Nếu tín hiệu trước đó là 1 (tức là giảm giá), và giá đóng của thanh K-line thứ hai hoặc thứ ba thấp hơn mức đầu tiên, nó được đánh giá là tín hiệu đảo ngược giá và một tín hiệu bán được phát hành.

  3. Nếu tín hiệu trước đó là 0 (tức là tăng giá), và giá đóng của thanh K-line thứ hai hoặc thứ ba cao hơn mức đầu tiên, nó được đánh giá là tín hiệu đảo ngược giá và tín hiệu mua được phát hành.

Thông qua phương pháp này, chiến lược có thể nhanh chóng đánh giá sự đảo ngược giá và nhập các vị trí trong thời gian xung quanh các điểm đảo ngược.

Phân tích lợi thế

Những lợi thế chính của chiến lược này là:

  1. Phản ứng nhanh chóng. Chỉ bằng cách so sánh mối quan hệ kích thước giữa ba thanh K-line để đánh giá sự đảo ngược giá, nó có thể nhanh chóng xác định các điểm đảo ngược thị trường và nhập vị trí kịp thời.

  2. Tỷ lệ giao dịch giảm so với các chiến lược dao động khác, chiến lược này chỉ phát ra tín hiệu khi giá đảo ngược rõ ràng, có thể giảm hiệu quả các giao dịch không cần thiết.

  3. Không gian tối ưu hóa lớn cho các thông số. Chiến lược có tiềm năng tối ưu hóa lớn và các thông số chu kỳ đường K có thể được điều chỉnh để thích nghi với môi trường thị trường khác nhau.

  4. Kiểm tra hậu quả có thể định lượng: Chiến lược có thể được thực hiện trực tiếp cho kiểm tra hậu quả tự động trên các nền tảng định lượng, cải thiện đáng kể hiệu quả kiểm tra.

  5. Đơn giản và dễ hiểu logic. thương nhân mới có thể dễ dàng hiểu và nắm bắt được logic cốt lõi của chiến lược.

Phân tích rủi ro

Chiến lược cũng có một số rủi ro, chủ yếu được thể hiện trong:

  1. Phạm vi biến động giá lớn. Khi giá biến động quá mạnh, các tín hiệu đảo ngược có thể không chính xác, có xu hướng theo đuổi mức cao và bán mức thấp.

  2. Lựa chọn các tham số chu kỳ K-line có ảnh hưởng lớn đến hiệu suất của chiến lược, đòi hỏi rất nhiều tối ưu hóa để tìm kết hợp tham số tối ưu.

  3. Giao dịch quá thường xuyên: Trong một số môi trường thị trường, tín hiệu đảo ngược có thể quá thường xuyên, dẫn đến quá nhiều giao dịch.

  4. Thời gian đảo ngược không thể đoán trước. Chiến lược không thể xác định thời gian xu hướng mới sau khi đảo ngược giá sẽ kéo dài bao lâu, với nguy cơ không thể duy trì xu hướng.

Các giải pháp tương ứng là: điều chỉnh các tham số một cách thích hợp để giảm phạm vi biến động giá, tối ưu hóa và thử nghiệm đầy đủ trong các môi trường thị trường khác nhau và đặt dừng lỗ để kiểm soát lỗ duy nhất.

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

Các hướng chính để tối ưu hóa chiến lược này bao gồm:

  1. Tối ưu hóa chu kỳ đường K. Điều chỉnh phù hợp các tham số chu kỳ thời gian của đường K để tìm kết hợp tham số tối ưu.

  2. Thêm các điều kiện lọc. Thêm các điều kiện phụ khác trước khi phát tín hiệu để tránh các tín hiệu sai.

  3. Thêm cơ chế dừng lỗ. Đặt điểm dừng lỗ hợp lý để kiểm soát các lỗ đơn lẻ.

  4. Kết hợp các chỉ số khác. Kết hợp các tín hiệu của trung bình động, biến động và các chỉ số khác để cải thiện độ chính xác quyết định.

  5. Tối ưu hóa tham số thích nghi. Cho phép các tham số điều chỉnh năng động dựa trên những thay đổi môi trường thị trường để làm cho chiến lược mạnh mẽ hơn.

Thông qua các tối ưu hóa này, sự ổn định, tỷ lệ thắng và lợi nhuận của chiến lược có thể được cải thiện đáng kể.

Kết luận

Tóm lại, ý tưởng của chiến lược này để xác định điểm đảo ngược bằng các mô hình giá là rất đơn giản và thẳng thắn, với logic rõ ràng và dễ hiểu, và không gian tương đối lớn cho tối ưu hóa tham số có thể được điều chỉnh theo sở thích cá nhân. Nhưng cũng có một số rủi ro nhất định rằng các tín hiệu có thể quá thường xuyên và kiểm soát thời gian giữ không phù hợp. Thông qua kiểm tra ngược nghiêm ngặt và tối ưu hóa tham số mạnh mẽ, chiến lược này có thể trở thành một trong những chiến lược giao dịch dao động hiệu quả và có lợi nhuận.


/*backtest
start: 2022-11-28 00:00:00
end: 2023-12-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 10/01/2018
// TTM scalper indicator of John Carter’s Scalper Buys and Sells. The methodology 
// is a close approximation of the one described in his book Mastering the Trade. 
// The book is highly recommended. Note the squares are not real-time but will 
// show up once the third bar has confirmed a reversal. 
//
//You can change long to short in the Input Settings
//WARNING:
//- For purpose educate only
//- This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="TTM scalper indicator", overlay = true)
reverse = input(false, title="Trade reverse")
triggerSell = iff(iff(close[1] < close,1,0) and (close[2] < close[1] or close[3] <close[1]),1,0)
triggerBuy = iff(iff(close[1] > close,1,0) and (close[2] > close[1] or close[3] > close[1]),1,0)
buySellSwitch = iff(triggerSell, 1, iff(triggerBuy, 0, nz(buySellSwitch[1])))
SBS = iff(triggerSell and buySellSwitch[1] == false, high, iff(triggerBuy and buySellSwitch[1], low, nz(SBS[1])))
clr_s = iff(triggerSell and buySellSwitch[1] == false, 1, iff(triggerBuy and buySellSwitch[1], 0, nz(clr_s[1])))
clr = iff(clr_s == 0 , red , green)
pos = iff(clr == green, 1,
       iff(clr == red, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(SBS, color=clr, title="TTM", style = circles, linewidth = 2)

Thêm nữa