Dưới đây là một code Amibroker đơn giản dựa theo supertrend với 2 lệnh MUA và BÁN khi đường giá cắt lên trên Supertrend (3,10) thì mua, và đường giá cắt xuống dưới Supertrend (3,10) thì bán, được viết dưới dạng AFL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
// Nhập mã cổ phiếu stockSymbol = "VN30F2311" quantity = "10" // Tạo đường Supertrend (3,10) Supertrend = Supertrend(stockSymbol, 3, 10) // Khởi tạo biến trạng thái state = "NEUTRAL" // Vòng lặp while(True) { // Lấy giá đóng cửa hiện tại close = Close(stockSymbol, 0) // Kiểm tra trạng thái if(state == "NEUTRAL") { // Nếu giá đóng cửa cắt lên trên Supertrend if(close > Supertrend.Current()) { // Đặt trạng thái thành BUY state = "BUY" // Đặt lệnh mua với giá bằng giá close if (state == "BUY") {ih = InternetOpenURL( “http://127.0.0.1:5000/place_order?symbol=" & stockSymbol & "&action=NB&quantity=" & quantity & "&price=" & close & "” ); InternetClose(ih);} } // Nếu giá đóng cửa cắt xuống dưới Supertrend else if(close < Supertrend.Current()) { // Đặt trạng thái thành SELL state = "SELL" // Đặt lệnh bán với giá bằng giá close if (state == "SELL") {ih = InternetOpenURL( “http://127.0.0.1:5000/place_order?symbol=" & stockSymbol & "&action=NS&quantity=" & quantity & "&price=" & close & "” ); InternetClose(ih);} } } // Chờ đến ngày giao dịch tiếp theo WaitNextBar() |