Trader So sánh 10 phương pháp giao dịch

ranluc

Well-Known Member
So sánh 10 chiến lược giao dịch
Các chiến lược này dùng các chỉ báo kỹ thuật thông dụng, phần lớn là trend following, backtest phái sinh VN30F1M, khung thời gian 5 phút.
  1. MA+ATR, 2xMA
  2. Momentum RSI/Stochk/RVI
  3. ADX
  4. PSAR
  5. Super Trend
  6. MACD
  7. Bollinger Band
  8. Donchian Channel
  9. Ichimoku cloud
  10. My System
 
1. Hệ thống đường trung bình MA
Hệ thống sử dụng 1 đường trung bình giá MA, giá vượt lên MA thì mua, thấp hơn MA thì bán. Chiến lược này tránh vùng sideway bằng cách sử dụng dải MA+/- ATR hay +/- phần trăm của giá..., vượt lên MA+ATR thì mua, vượt xuống MA-ATR thì bán, trong vùng MA+mATR, MA-mATR thì nghỉ.
Code Ami broker
//1. Short term Trend
per_ST = Param("ST",200,200,300,20);
Short_Trend= EMA(C,per_ST);
//2. barRange
per_ATR = 100;
barRange = ATR(per_ATR);
// Strategy 1: MA+ATR 2119p ==============================
Buy = C>Short_Trend + barrange;
Short = C<Short_Trend - barrange;
//exit
Sell = C<Short_Trend;
Cover = C>Short_Trend;
//

Kết quả backtest VN30F1M trong khoảng thời gian từ 1/1/2020 đến 1/1/2022
Vốn ban đầu 2000, Net profit 2185, MaxSysDrawDown-322, Trades 280 cả Long va Short, tỷ lệ thắng 23%, Thời gian giữ lệnh 95%
backtest1.PNG
Vài nhận xét:
- Lợi nhuận khá tốt trong giai đoạn có trend, thê thảm trong giai đoạn quý 3, quý 4/2021. Có lẽ cần sử dụng kỹ thuật walk-forward để chọn tham số MA phù hợp mỗi giai đoạn.
- Stop loss bằng m*ATR(), khoảng 3-4 điểm.
- code không tránh được gap ATO
- Thời gian giữ lệnh (thời gian tiền ở trong 1 thị trường): 95%, hầu như toàn thời gian

Hệ thống 2 đường MA
Mua (long) khi giá vượt lên MA ngắn hạn và MA ngắn hạn cao hơn MA dài hạn. Short ngược lại. Không giao dịch khi giá nằm giữa MA ngắn hạn và MA dài hạn.
//Strategy 1a: ==============================
Buy = C>Short_Trend + barrange AND Short_Trend>Long_Trend ;
Short = C<Short_Trend - barrange AND Short_Trend<Long_Trend;
Sell = C<Short_Trend ;
Cover = C>Short_Trend ;
Kết quả backtest hệ 2 đường MA tệ hơn 1 đường MA, mặc dù giao dịch ít hơn, tỷ lệ thắng cao hơn, tuy nhiên điểm vào trễ hơn.
 
Last edited:
2. Chiến lược Momentum RSI/StochK/RVI
Chiến lược này sử dụng 1 trong các chỉ báo momentum như RSI, Stochastic, RVI ...Ví dụ mua khi RSI >70, bán khi RSI<50.
Chỉ báo RVI không có sẵn trong Ami, code cũng đơn giản
RVI = 100 * EMA(Close-Open,period) / EMA(High-Low,period) + 50;
rsistorvi.PNG
Kết quả backtest
rsibacktest.PNG
- Có thể sử dụng đa khung thời gian để tăng hiệu quả, ví dụ RSI nến 1 giờ, RSI nến 15 phút, tuy nhiên chỉ cần giao dịch theo hướng EMA dài hạn cũng tốt rồi.
- RVI hiệu quả hơn Stochastic, hiệu quả hơn RSI, không quá xa
- điểm mua tốt là khi momentum mức cao (quá mua), chứ không phải mometum thấp ở mức quá bán
- thời gian nắm giữ 45%
- Net profit phải rất cố gắng mới đạt ngang chiến lược 1xMA.

Chiến lược 2a Vào theo chiến lược 2 (Momentum cao), thoát theo chiến lược 1 (cắt MA dài hạn)
Net profit tăng khoảng 10%
 
Last edited:
3. Chiến lược ADX
Long khi ADX đạt mức cao 20-25, đường DI+ cao hơn đường DI-, thoát khi DI+ cắt xuống DI-.
Short khi ADX cao 20-25, thoát khi DI+ cắt lên DI-.
Các đường DI+, DI- làm phẳng bằng EMA
Trade theo xu hướng của đường EMA(300)
Có thể ghép các điều kiện của chiến lược Momentum cao để cải thiện hiệu quả.

Code Ami của phần ADX
range = Param("Periods", 12, 12, 24, 3 );
smooth = 6;//Param("smooth", 8, 2, 15, 2);
ad = ADX(range);
pdsm = EMA(PDI(range),smooth) ;
mdsm = EMA(MDI(range),smooth) ;
LevelADX = 25;//Param("LevelADX", 20, 20, 30, 5);
color = IIf(ad<Ref(ad,-1), colorgrey50,
IIf(pdsm >mdsm, colorLime, colororange));
Plot( AD, _DEFAULT_NAME(), color, styleThick);
Plot( pdsm, "+DI", colorGreen);
plot( mdsm, "-DI", colorRed);
Plot(LevelADX, "", colorWhite, styledashed);

Kết quả optimize, net profit 1754, không cao hơn chiến lược 1 và 2
optiStr3.PNG
 
4. Chiến lược PSAR
- Điểm vào theo chiến lược momentum cao, điểm thoát khi giá cắt đường PSAR
- đường PSAR có vai trò trailing stop khá tốt
- chiến lược này giúp giảm đáng kể thời gian trong thị trường, còn khoảng 40%
- không có thiệt hại trong giai đoạn sideway q3-q4/2021
str4-opt.PNG str4_bt.PNG
 
5. Chiến lược Super Trend
- Chỉ báo Super Trend hiệu quả tốt khi làm trailing stop tự động. Mỗi khi giá đạt đỉnh mới, ví dụ 1515 thì trailing stop dời lên cách đỉnh một đoạn vài lần ATR, ví dụ 1510, vài bar sau giá đạt 1517.2 thì trailing stop tự động dời lên 1512.2.
- Chỉ báo không có sẵn trong Ami, code dưới đây:

//7. Super Trend
per_ATR = 100;//ParamOptimize("ATR",220,10,200,10);
barRange = ATR(per_ATR);
factor = 3;//ParamOptimize("Factor",5,4,12,1);
Up = C + factor*barRange;
Dn = C - factor*barRange;
trend = 1;
for (i = 1; i <BarCount-1; i++) {
trend = trend[i-1];
if ( trend == 1 OR Close > Up[i-1]) {
dn = Max(dn,Dn[i-1]);
trend = 1;
}
if ( trend ==-1 OR Close < Dn[i-1]) {
up = Min(up,Up[i-1]);
trend =-1;
}
}
superTrend = IIf(trend>0, Dn,Up);
//==============================

str5_opt.PNG
Kết quả optimize: Net Profit tốt, số lượng gd giảm hẳn, tuy nhiên thời gian giữ lệnh quá lâu, mức cắt lỗ khá xa, bằng 9 lần ATR, khoảng 15 điểm
exitpsarsuptr.PNG
* đường PSAR màu vàng chấm, đường Supertrend màu cam
 
Sơ kết 5 chiến lược đầu tiên
NetProfit_5str.PNG
Có lẽ chiến lược 4 là hiệu quả nhất trong 5 chiến lược này, vào khi momentum cao, thoát khi chạm PSAR, đường PSAR cho biết giá trị trailing stop, báo chấm dứt 1 trend rất sớm, thời gian giữ lệnh ngắn nhất. Sau khi hết trend có thể chuyển sang chiến lược sideway.
 

Attachments

  • Stratergy_12345.zip
    2.7 KB · Views: 4
Thấy đa số chứ ko riêng gì bác Rắn là lắp công thức vào để chạy rồi backtest chứ ko hề tìm hiểu sâu về công thức để lựa chọn.
Mà lắp bot ở việt nam toanf phải đánh time dài, vì dính cái T3 :)) khó vll.
CHứ bên forex mọi người đã dùng bot từ lâu lắm rồi, lợi nhuận đều đều 4-5% 1 tháng.
 
Mà lắp bot ở việt nam toanf phải đánh time dài, vì dính cái T3 :)) khó vll.
CHứ bên forex mọi người đã dùng bot từ lâu lắm rồi, lợi nhuận đều đều 4-5% 1 tháng.
Đúng rồi, T+ làm vướng công cụ và vướng luôn các cách tiếp cận, xui xui dính 1 cú thiên nga đen kiểu vài năm có 1 thì phương pháp nào cũng tạch. Nên tốt nhất vẫn là chờ mọi thứ rõ ràng và chấp nhận ăn ít lại:15: gọi là hớt váng.
 
Thấy đa số chứ ko riêng gì bác Rắn là lắp công thức vào để chạy rồi backtest chứ ko hề tìm hiểu sâu về công thức để lựa chọn.
Đúng là các chiến lược trên không có tìm hiểu sâu về công thức, vì không có mục đích gì, một vài ý tưởng như chuẩn hóa RVI, cho giá trị nằm trong +/-100 như RSI, nhưng chưa thực hiện. Theo mình một chiến lược cuối cùng phù hợp nên là một chiến lược đơn giản, đúc kết từ những vật liệu thô, dễ hiểu dễ áp dụng.
 
6. Chiến lược MACD
Kế hoạch là so sánh các phương pháp chứ không tìm hiểu sâu công thức. Ví dụ ở chiến lược #2, đã khái quát lên thành Momentum cao chứ không soi công thức RSI là cái gì, vì không cần thiết.
Ở chiến lược MACD điều thú vị là cách dùng
Cách 1: Mua khi đường MACD cắt lên đường signal, bán khi đường MACD cắt xuống đường signal. Cách này tận dụng mọi cơ hội, số lượng giao dịch khá cao. Xem ra khá giống chiến lược 2xMA.
Cách 2: Như tên gọi, phải có sử dụng tính chất hội tụ-phân kỳ mới hợp lý. Mua khi MACD cắt lên đường signal và trước đó có phân kỳ dương. Tuy nhiên sau khi backtest thì hiệu quả thất vọng.
Cách 3: Mua khi MACD nắm trên đường signal và histogram đạt giá trị cao hơn giá trị cao nhất nhịp liền trước. Nói cách khác histogram bứt phá giống như breakout. Cách này hiệu quả cao hơn hẳn.
Suy nghĩ có nên áp dụng breakout cho các chiến lược momentum, ADX?
breakhistogram.PNG
Điểm mua tốt không phải ớ (1) mà là ở (2)


Str6_MACD_equity.PNG
 
Last edited:
7. Chiến lược Bollinger Band
Mua khi giá vượt Band Top, thoát khi giá thấp hơn đường trung bình của band
Bán short khi giá giảm thấp hơn Band Bottom, thoát khi giá cao hơn đường trung bình.
Kết quả back test:
- Tin đồn cho rằng khi band co thắt thì sẽ bung mạnh, tuy nhiên back test điều này không ảnh hưởng đến win rate, net profit, nghĩa là thực chiến cứ vượt band là enter, không cần co thắt, việc đợi co thắt sẽ bỏ lỡ nhiều cơ hội.
- Kết hợp với EMA long term trend khi vào, PSAR khi exit có hiệu quả tốt hơn
- Kết hợp RSI hay ADX theo cách thông thường không cải thiện hiệu quả
netProfit_Str7_BB.PNG
 
7. Chiến lược Bollinger Band
Mua khi giá vượt Band Top, thoát khi giá thấp hơn đường trung bình của band
Bán short khi giá giảm thấp hơn Band Bottom, thoát khi giá cao hơn đường trung bình.
Kết quả back test:
- Tin đồn cho rằng khi band co thắt thì sẽ bung mạnh, tuy nhiên back test điều này không ảnh hưởng đến win rate, net profit, nghĩa là thực chiến cứ vượt band là enter, không cần co thắt, việc đợi co thắt sẽ bỏ lỡ nhiều cơ hội.
- Kết hợp với EMA long term trend khi vào, PSAR khi exit có hiệu quả tốt hơn
- Kết hợp RSI hay ADX theo cách thông thường không cải thiện hiệu quả
View attachment 7205
Kết hợp với thời gian tích lũy ( Biên <15%) thì sao anh
 
8. Chiến lược Donchian Channel
Chiến lược này liên quan đến chiến lược nổi tiếng của Nhóm con rùa The Turtle.
Mua long khi giá vượt giá cao nhất 20 bar, bán short khi giá thủng giá thấp nhất 20 bar. Có vài đề xuất cách thoát vị thế:
a. Thoát long khi giá giảm cắt band dưới
b. Thoát long khi giá giảm đường trung bình của band: (bandtop+bandbottom)/2
c. Thoát long khi giá giảm cắt band dưới khác, có chu kỳ 10 bar
d. Thoát long khi giá < bandBottom hay giá < PSAR()
Trong bài backtest này sử dụng cách d.
Với các chiến lược breakout kiểu này dùng PSAR tại điểm vào làm stop loss thì quá xa. Một stop loss khoảng 2*ATR() hay 1/2 bước nhảy PSAR thì đỡ buốt hơn.
Đường màu vàng chấm ở chart trên theo đúng công thức PSAR, làm stoploss+trailling stop cho các chiến lược MA.
Đường vàng chấm ở chart dưới, 1/2 bước nhảy, cho các chiến lược breakout
PSARhalf.PNG

Kết quả backtest, net profit:
str8.PNG
Turtle có đề xuất sau mỗi tín hiệu vào có lợi nhuận, thì bỏ tín hiệu vào kế tiếp để loại false breakout. Cách này rất hiệu quả và có thể áp dụng cho tất cả các chiến lược phía trên, sau mỗi trend, thị trường cần thời gian tích lũy, lúc này chưa thể break nổi đâu, nghỉ ngơi hoặc theo các chiến lược sideway
Vì là breakout nên volume cũng phải cao, tuy nhiên trong phái sinh volume không quan trọng lắm, đôi khi không có vol mà nó cứ lừ lừ tiến lên.
 
Last edited:
9. Chiến lược Ichimoku
Thật sự em chưa tìm hiểu cái này và cũng không có ý định tìm hiểu về sau. Nó có vẻ phức tạp và ảo ảo. Bản chất các đường trong đó cũng như MA thôi. Sorry. Bác nào có kinh nghiệm mời chia sẻ.
 
10. My Strategy: 3 tầng break out
Vào lệnh khi breakout đủ 3 tầng, gồm breakout giá, breakout momentum, breakout volume
- breakout giá, sử dụng Donchian channel, các band top/band bottom của Donchian channel như là ngưỡng kháng cự/hỗ trợ gần nhất
- breakout volume, dĩ nhiên rồi, breakout mà không có volume thì sao break nổi, volume thấp có thể là break giả, tuy nhiên trong ps volume không cần cao cũng có thể vượt qua, chỉ cần volume không thấp hơn trung bình là được. Liên quan tới chỉ số cơ sở, volume hay giá trị giao dịch tổng của chỉ số cơ sở cũng không cần cao tại thời điểm phái sinh breakout, có lẽ vì chỉ cần 1-2 trụ có volume cao là đủ chi phối toàn chỉ số rồi. Có trường hợp trend tăng mạnh, trắng bên bán cơ sở nên volume mất hẳn. Ngoài ra backtest thực hiện có trong giai đoạn HOSE nghẽn mạng nên có thể nhận xét này chưa đầy đủ
- breakout momentum, momentum tại thời điểm breakout cũng phải vượt đỉnh momentum cũ hoặc thời gian đủ lâu để mometum cũ tắt dần, giảm dần, đủ lâu để tích lũy.
Ngoài ra cần trade theo xu hướng chính, long khi giá nằm trên MA dài hạn hoặc quá bán, short khi giá nằm dưới MA dài hạn hoặc quá mua. Khi break rồi thì trailing theo PSAR, có thể chốt cuối ngày hoặc giữ qua đêm, có lẽ không nên chốt theo các ngưỡng hỗ trợ/kháng cự kế tiếp, các tính toán như Fibo ... thấy ít hiệu quả.
str10chart.PNG
Chart minh họa, tại các thời điểm 1,2,3 giá break đường Donchian Top, vượt đỉnh cũ, nhưng không phải là các điểm vào, điểm vào lại tốt theo trend vì momentum chưa vượt mức cũ. Tại thời điểm 4, giá vượt đỉnh cũ, momentum vượt mức cũ, tuy nhiên volume cơ sở thấp. Cả 4 điểm này đều không phải là break out
Kết quả back test:
bt10.PNG
 
Last edited:
Back
Top