Algo Trading Strategies

Algo Trading Strategies

Algo Trading Strategies

tienha

Active Member
1,426
3,501
Với mong muốn giảm thiểu tác động của human emotions, tránh những sai sót, tâm lý tiêu cực khi trade loss, trade dễ dàng hơn, đa dạng cũng như phân loại hơn, hiệu quả hơn qua xác xuất thống kê, Tien ha ngoài sử dụng chiến lược 123 (cách dễ dàng nhất và hiệu quả cho manual trader) đã nghiên cứu thêm sử dụng Algo trong trading cũng như chế tạo chiến lược trading ( system trading) hiệu quả.
Trader không phải dành riêng cho tất cả mọi người.
Algo Trading Strategies càng không phải ai cũng làm được.
Chế tạo chiến lược giao dịch là việc bạn thiết lập các quy tắc mua bán hàng hóa nào đó (forex, chứng khoán, futures...)
Chế tạo chiến lược giao dịch thì có thể dễ, có thể rất phức tạp, nhưng chế tạo chiến lược tạo ra lợi nhuận ổn định thì rất khó.
Tất cả chiến lược cần được chạy demo trước khi Real 1 thời gian.
Alogo Trading Strategies yêu cầu trader phải biết code (với trader độc lập) và phần mềm nên dùng ở đây Tien Ha khuyên các bạn nên lựa chọn 1 trong số các phần mềm hoặc ngôn ngữ lập trình sau:
1- Trade station (easy language)
2- Multichart (easy language), có bản Net
3- Ninjatrader (C#)
- Amibroker
- Python
- MT4, MT5 (khá khó chịu vì tính năng hạn chế)
....
Cá nhân mình lựa chọn Multichart với easy language vì nó khá dễ học code cho người không phải dân lập trình như mình, Trade station thì quốc tịch Việt Nam không phổ biến do khó khăn trong việc mở tài khoản.
3 cái Trade Station, Multichart và Nija Trader là ưu tiên so với còn lại.
Các code ở đây đa số mình sẽ để ở dạng Easy Language, nếu bạn rành ngôn ngữ khác có thể convert lại.
Việc sử dụng AI trong trading khá tốn kém, cần đầu tư công sức, tiền bạc.
I- Đầu tư
1- Phần mềm giao dịch và tài khoản:
Chi phí phần mềm Multichart là 1,500$/1 license/vĩnh viễn.
Phần mềm bổ xung cho phân tích chế tạo system: Giao động từ 290 đô đến vài ngàn đô
Data feed cho trading (IQFeed...) khoảng hơn 100 đô la/tháng.
Tài khoản Broker giao dịch: Tùy bạn nhưng với Interactive Broker thì Minimum khoảng 10,000 USD, tùy khả năng.
Còn Trade Station nếu mở được thì yêu cầu tài khoản 2,000 USD, bù lại được dùng phần mềm của họ miễn phí.
2- Phần cứng
Việc chế tạo hệ thống giao dịch, chạy testing, backtest, optimize, live trading cần 1 máy tính cấu hình cao, đường truyền cao, hoặc VPS gần Sàn giao dịch càng tốt.
Việc đầu tư máy tính khá tốn kém do yêu cầu rất lớn về Chip và Ram, (ổ cứng không quá quan trọng), Chip càng nhiều nhân và Ram càng dung lượng lớn càng tốt, tối thiểu 16gb Ram.
Cấu hình Máy tính Tien Ha đầu tư như sau:
upload_2020-8-6_17-33-33.png



Lưu ý:
Đa số các chiến lược giao dịch tạo ra hiện nay thất bại Fail khi chỉ tùy chỉnh mang lại kết quả tốt ở quá khứ nhưng thua lỗ ở tương lai. Nó run tốt ở backtest data (in of sample) nhưng fail ở future data (Out of Sample), ngoài ra điều chỉnh các chi phí từ sàn như Comission, Spread, Slippage cũng cần phải chú ý.
Chế tạo hệ thống sai cách sẽ mang đến sự thua lỗ.

Các ý tưởng để tạo chiến lược giao dịch ở đây có thể lấy từ sách, các chia sẻ trên mạng, các khóa học trading....các bạn có thể tùy chỉnh lại, thêm stoploss, thêm take profit... để tăng hiệu quả.
Các bước chi tiết để chế tạo hệ thống mình sẽ không post ở đây do nó khá nhiều bước cũng như cần phần mềm thao tác trực tiếp trên máy.

Okay, Let start, hãy bắt đầu
xem 1 chiến lược về GBPUSD Daily từ 7/2012-8/2020
upload_2020-8-6_18-0-21.png



chiến lược này không stop loss, không take profit
upload_2020-8-6_17-55-55.png


upload_2020-8-6_17-56-7.png



upload_2020-8-6_17-56-21.png


upload_2020-8-6_17-57-44.png




Tham số khi walkforward và optimize đánh giá khá ổn định, winrate cao: 73,5% win, Profit factor cao: 3, dd ở mức 9%, tuy nhiên lượng trade không nhiều, tổng cộng 219 lệnh.
upload_2020-8-6_17-59-0.png
 

Đính kèm

  • upload_2020-8-6_17-52-34.png
    upload_2020-8-6_17-52-34.png
    105.2 KB · Xem: 6
  • upload_2020-8-6_18-0-8.png
    upload_2020-8-6_18-0-8.png
    85.6 KB · Xem: 4

Giới thiệu sách Trading hay
Đánh Bại Thị Trường Forex - Tư duy khác biệt và các kỹ thuật giao dịch của chuyên gia quản lý quỹ triệu đô

Sách chia sẻ kiến thức và kinh nghiệm trading từ một chuyên gia quản lý quỹ, cùng các kỹ thuật giao dịch giúp quỹ này đứng trong top nhiều năm
Chỉnh sửa lần cuối:
Chào bác, cho mình hỏi tí về điểm hạn chế của ngôn ngữ MQL4, MQL5 so với các ngôn ngữ kia với, mình thấy nó phổ biến nhất mà, thanks bác.
 
Chào bác, cho mình hỏi tí về điểm hạn chế của ngôn ngữ MQL4, MQL5 so với các ngôn ngữ kia với, mình thấy nó phổ biến nhất mà, thanks bác.
Với các hedge fund hay HFT trading thì họ dùng khá phổ biến Python, Matlap, R do cách các ngôn ngữ này xử lý big data.
Còn MT4, MT5 họ không dùng.
Tuy nhiên Python, Matlap, R không dành cho New Trader hay dân không chuyên lập trình.
Easy Language luôn là lựa chọn ưu tiên hàng đầu do dễ học và áp dụng.
 
Ngưỡng mộ bác quá. Dùng đến chip 18 core và 64GB RAM thì biết là code khủng cỡ nào
 
code cho system trade với tham số đã optimized, ai dùng multichart/trade station/easy language có thể dùng luôn.
Chiến lược này dùng pattern doji để trade.

inputs: BCOunt(9),PCOunt(16),ExitBars(36);

if close>close[Pcount] and C_Doji(BCount)=1 then sellshort next bar at market;
if close<close[Pcount] and C_Doji(BCount)=1 then buy next bar at market;
If Barssinceentry>=ExitBars then Begin
sell next bar at market;
buy to cover next bar at market;
end;

Question: liệu với result như vậy có trading real được chưa?
 
code cho system trade với tham số đã optimized, ai dùng multichart/trade station/easy language có thể dùng luôn.
Chiến lược này dùng pattern doji để trade.

inputs: BCOunt(9),PCOunt(16),ExitBars(36);

if close>close[Pcount] and C_Doji(BCount)=1 then sellshort next bar at market;
if close<close[Pcount] and C_Doji(BCount)=1 then buy next bar at market;
If Barssinceentry>=ExitBars then Begin
sell next bar at market;
buy to cover next bar at market;
end;

Question: liệu với result như vậy có trading real được chưa?
Thanks bác đã chia sẻ, em code trên MQL4 nên nhìn lệnh bác hơi lạ.
Bác có thể cho em hỏi thêm BCCount và PCCount là gì không ạ.
9 và 16 chắc là input parameter?
 
PCCount chắc là moving average, còn BCCount là số lượng bar gần nhất phải không ak.
Sorry bác Tienha, em đang cố hiểu thuật toán theo ngôn ngữ mới. Như vậy thì thuật toán là nếu giá đóng cửa của nến 1 cao nhất trong vòng 16 bar, và trước đó trong còng 9 bar có nến doji, sell ở next bar?

Em hiểu thì đây là hệ thống khá selective, số lượng trade có vẻ ít. Bác nên backtest ở các cặp major khác xem sao. Em nghĩ là có thể re-optimize lại ea sau mỗi một khoản thời gian đủ dài: 100 trade hoặc 6-10 tháng.

Còn stoploss và take profit bác đang để ntn vậy?
 
Sorry bác Tienha, em đang cố hiểu thuật toán theo ngôn ngữ mới. Như vậy thì thuật toán là nếu giá đóng cửa của nến 1 cao nhất trong vòng 16 bar, và trước đó trong còng 9 bar có nến doji, sell ở next bar?

Em hiểu thì đây là hệ thống khá selective, số lượng trade có vẻ ít. Bác nên backtest ở các cặp major khác xem sao. Em nghĩ là có thể re-optimize lại ea sau mỗi một khoản thời gian đủ dài: 100 trade hoặc 6-10 tháng.

Còn stoploss và take profit bác đang để ntn vậy?
Bạn chẳng đọc kỹ bài đầu gì cả.
 
Oh sorry anh, vậy là không có take profit và stoploss, mà chỉ đơn thuần đóng lệnh sau 36 nến?
Còn thuật toán lúc đầu em hiểu như vậy có chuẩn chưa ạ, có gì nhờ anh giải thích thêm dùm.
1. Xác định nến Doij (nến non decision)
2. Nếu nến hiện tại là Doji, mua nếu momentum hiện tại lớn hơn Pcount trước.
3. Nếu nến hiện tại là Doji, bán nếu momentum hiện tại nhỏ hơn Pcount trước.
4. Thoát x bar sau entry, trừ phi có tín hiệu đảo chiều.

Question: Liệu với result như vậy có trading real được chưa?
Answer: Chưa nên, chiến lược này không có stop loss nên khá rủi ro, cần filter thêm điều kiện khác.
 
1. Xác định nến Doij (nến non decision)
2. Nếu nến hiện tại là Doji, mua nếu momentum hiện tại lớn hơn Pcount trước.
3. Nếu nến hiện tại là Doji, bán nếu momentum hiện tại nhỏ hơn Pcount trước.
4. Thoát x bar sau entry, trừ phi có tín hiệu đảo chiều.

Question: Liệu với result như vậy có trading real được chưa?
Answer: Chưa nên, chiến lược này không có stop loss nên khá rủi ro, cần filter thêm điều kiện khác.
Cảm ơn anh Tienha nhiều. Anh thử cân nhắc đặt max stoploss xem sao (1-5%) accountbalance, hoặc dựa trên kết quả của các backtest trong quá khứ.
 
Chia sẻ anh em 1 ý tưởng trading Phái sinh Việt Nam: Vn30F1M (DAILY)
Idea: Mua vào ngày 30 hàng tháng, bán sau 42 ngày kể từ ngày mua từ 2017-2020:

Code easy language:
input: length1(30), length2(42);
Input: MyStop(0), MyProfit(0);
vars: theDayOfMonth(0);
theDayOfMonth = dayOfMonth(date);
If theDayOfMonth = length1 then
Buy("Daybuy") this bar on close;
If BarsSinceEntry=length2 then
Sellshort("lengthdays") this bar on close;
setstopcontract;
if MyStop > 0 then setstoploss(MyStop);
If MyProfit > 0 then setprofittarget(MyProfit);

Kết quả như sau: Profit: 120 triệu, volume:1 lot, winrate 62.5%, profitfactor: 8,96, average trade: 5 triệu

upload_2020-10-8_14-24-28.png

upload_2020-10-8_14-26-3.png


Equity cuver:
upload_2020-10-8_14-25-21.png



chart:
upload_2020-10-8_14-26-20.png
 
Chia sẻ anh em 1 ý tưởng trading Phái sinh Việt Nam: Vn30F1M (DAILY)
Idea: Mua vào ngày 30 hàng tháng, bán sau 42 ngày kể từ ngày mua từ 2017-2020:

Code easy language:
input: length1(30), length2(42);
Input: MyStop(0), MyProfit(0);
vars: theDayOfMonth(0);
theDayOfMonth = dayOfMonth(date);
If theDayOfMonth = length1 then
Buy("Daybuy") this bar on close;
If BarsSinceEntry=length2 then
Sellshort("lengthdays") this bar on close;
setstopcontract;
if MyStop > 0 then setstoploss(MyStop);
If MyProfit > 0 then setprofittarget(MyProfit);

Kết quả như sau: Profit: 120 triệu, volume:1 lot, winrate 62.5%, profitfactor: 8,96, average trade: 5 triệu

View attachment 171892
View attachment 171894

Equity cuver:
View attachment 171893


chart:
View attachment 171895
E hỏi ngu chút là hợp đồng 1 tháng thì giữ thế nào qua được 42 ngày bác nhỉ ? :eek:
 

BÌNH LUẬN MỚI NHẤT

  • Mạc An trong Phân tích Forex - Vàng - Hàng hóa 180 Xem / 12 Trả lời
  • DuongHuy trong Phân tích Forex - Vàng - Hàng hóa 53 Xem / 5 Trả lời
  • DuongHuy trong Phân tích Forex - Vàng - Hàng hóa 467 Xem / 38 Trả lời
  • DuongHuy trong Hệ thống giao dịch - Trading system 37,553 Xem / 19 Trả lời
  • Quíc Óp trong Phân tích Forex - Vàng - Hàng hóa 446 Xem / 19 Trả lời
  • AdBlock Detected

    We get it, advertisements are annoying!

    Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

    Back
    Bên trên