Cách viết code amibroker

 - 

Giới thiệu về Amibroker

Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”.AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.Bạn đang xem: Hướng dẫn code đơn giản amibroker p1

Cách Amibroker lưu trữ dữ liệu




Bạn đang xem: Cách viết code amibroker

*

Các hàm thường dùng trong AmiBroker

Các ký hiệu thường dùng trong viết code:C: close giá đóng cửa/ giá hiện tại trong phiênO: Open giá mở cửaH: giá cao trong phiênL: giá thấp trong phiênV: volume, khối lượngma(c,30) bình quân giá đóng cửa 30 phiên giao dịchma(v,30) bình quân khối lượng giao dịch 30 phiênref(c,-1) giá đóng cửa của ngày hôm qua hoặc 1 phiên trước đóref(c,-2) giá đóng cửa của ngày hôm kia hoặc cách đó 2 phiênref(v,-1) khối lượng của ngày hôm qua/ khối lượng của 1 phiên trước đóHHV(C,15) giá trị cao nhất của giá đóng cửa 15 phiên gần nhấthhv(h,30) giá cao nhất của giá cao 30 phiên gần nhấtLLV(L,30) giá thấp nhất của giá thấp trong vòng 30 phiênLLV(C,30) giá thấp nhất của giá đóng cửa trong vòng 30 phiênC*V: Giá nhân với khối lượng = giá trị giao dịchC>=1.02*Ref(C,-1) => giá lớn hơn 2% so với giá ngày hôm quaV >= 1.3*MA(V,15) => khối lượng lớn hơn hoặc bằng 130% so với bình quân khối lượng 15 phiênRSI(14) tìm ra các mã có RSI ROC: percentage rate of change

ValueWhen(EXPRESSION, ARRAY, n = 1) : get value of the array when condition met: lấy giá trị khi dữ liệu thỏa điều kiện Expression


*



Xem thêm: Cách Tạo Phiếu Khảo Sát Trên Google, Google Biểu Mẫu

CROSS: trả về 1 khi Array 1 cắt Array 2 theo chiều hướng đi lên

EXREM: trả về 1 khi lần đầu tiên xuất hiện tín hiệu "true" trong Array 1, sau đó trả về 0 cho đến khi Array 2 là true ngay cả khi có tín hiệu "true" trong Array 1. Hàm này hữu ích khi bạn muốn loại bỏ nhiều điểm BUY hoặc SELL xuất hiện liên tiếp nhau.

Các hàm trong AFL

Plot( array, name, color/barcolor, style = styleLine, minvalue = {empty}, maxvalue = {empty}, XShift = 0, Zorder = 0, width = 1 )

array – mảng dữ liệu được vẽ, vd: RSI(16), Close, MA(Close,20),…name - đại diện cho tên của đồ thịcolor - dùng để thể hiện màu sắc cho đồ thị (nếu tham số thứ 3 là số) hoặc động (khi tham số thứ 3 là 1 array). style: định nghĩa dạng đồ thị được vẽ

styleLine = 1 - normal (line) chart (default): đường kẻ liềnstyleHistogram = 2 - histogram chart : Biểu đồ tần suấtstyleThick =4 - fat (thick): đường kẻ đậmstyleDots = 8 - include dots: đường kẻ chấmstyleNoLine = 16 - no linestyleDashed = 32 - dashed line style: đường kẻ gạch đứtstyleCandle = 64 - candlestick chart: nếnstyleBar = 128 - traditional bar chart…Tham khảo: https://www.amibroker.com/guide/afl/plot.htmlMin value và max value - (chỉ được sử dụng bởi đồ thị styleOwnScale) xác định giá trị tối thiểu và tối đa của đồ thị (ranh giới dưới và trên cho trục Y).XShift - cho phép chuyển biểu đồ qua thanh cuối cùng một cách trực quan.ZOrder - xác định vị trí trục Z của ô đã cho. Giá trị mặc định là 0. Zorder = 0 cũng có nghĩa là đặt nơi "lưới".

*



Xem thêm: Các Món Canh Chay Dễ Làm - Các Món Canh Chay Ngon Dễ Nấu

shift object sang phải hoặc sang trái = số bar đã inputwidth - xác định pixel hoặc chiều rộng phần trăm của ô đã cho. Mặc định là 1 pixeltham số Zshift có tác dụng shift object sang phải hoặc sang trái = số bar đã input, ở trường hợp này là 10.Ví dụ:// Example 20-bar Moving average shifted 10 bars into the future past the last bar:Plot(Close,"Close",colorBlack,styleCandle);Plot(MA(Close,20), "Shifted MA", colorRed, styleLine, Null, Null, -10 );// Note that shift occurs during plotting AND does NOT affect source arrayMột điểm khá hay cần lưu ý đó là khả năng thay đổi màu sắc (Dynamic Color) khi các object (indicator, price,…) thỏa mãn một số điều kiện cho trước (sử dụng hàm Iff )dynamic_color = IIf(MACD() > 0 , colorBlue, colorRed);Plot(MACD(), "My MACD", dynamic_color, styleHistogram | styleThick)Param- add user user-definable numeric parameterSYNTAX

"name" defaultval: giá trị mặc định cho biếnmin, max – giá trị lớn nhất và nhỏ nhất step - defines minimum increase of the parameter via slider in the Parameters dialog sincr - automatic section increment value (used by drag-drop interface to increase default values for parameters)

Buy và Sell

Đây là 2 danh sách quan trọng trong Amibroker, chứa điểm mua và điểm bán

VD:

Buy= Cross(EMA(Close,13), EMA(Close,26) ); Sell= Cross(EMA(Close,26), EMA(Close,13) ); Buy sẽ chứa 3 loại giá trị:

NULL (không xác định)1: Khi EMA 13 cắt đi lên EMA 260: Khi EMA 13 không cắt EMA 26

Tương tự với Sell:

NULL (không xác định)1: Khi EMA 26 cắt đi lên EMA 130: Khi EMA 26 không cắt EMA 13

Hàm vẽ biểu tượng trong Amibroker: PlotShapes

Cú pháp:

PlotShapes( shape, color, layer = 0, yposition = graph0, offset = -12, XShift = 0 );shape: Hình dạngVD: shapeUpArrow, shapeDownArrow, shapeHollowUpArrow, shapeHollowDownArrow, shapeSmallUpTriangle, shapeSmallDownTriangle, shapeHollowSmallUpTriangle, shapeHollowSmallDownTriangle, shapeUpTriangle, shapeDownTriangle, shapeHollowUpTriangle, shapeHollowDownTriangle, shapeSmallSquare, shapeHollowSmallSquare, shapeSquare, shapeHollowSquare, shapeSmallCircle, shapeHollowSmallCircle, shapeCircle, shapeHollowCircle, shapeStar, shapeHollowStar, shapeDigit0, shapeDigit1, shapeDigit2, shapeDigit3, shapeDigit4, shapeDigit5, shapeDigit6, shapeDigit7, shapeDigit8, shapeDigit9color: Màu sắc, vd ColorGreen, ColorRedlayer: defines layer number on which shapes are plotted yposition: defines Y-position where shapes are plotted (by default they are plotted "around" graph0 (first indicator) line) offset - (or distance) parameter (by default -12 ), Offset is expressed in SCREEN pixels. Negative offsets shift symbols down, positive offsets shift symbol up. To place the shape exactly at ypostion, specify 0 as offset (new in 5.66) XShift - allows to visually shift the the shapes by the specified number of bars (even past the last bar).

Đoạn code dưới đây cho điểm mua và bán sử dụng EMA. Ở mỗi điểm mua hoặc bán, sẽ có 1 mũi tên minh họa kèm theoPlot(Close,"Close", colorAqua,styleCandle); Plot(EMA(Close,13), "EMA13", colorBlue, styleLine, Null, Null);Plot(EMA(Close,26), "EMA26", colorOrange, styleLine, Null, Null);Plot(EMA(Close,52), "EMA52", colorRed, styleLine, Null, Null);Buy= Cross(EMA(Close,13), EMA(Close,26) ); Sell= Cross(EMA(Close,26), EMA(Close,13) ); PlotShapes(IIf(Buy, shapeUpArrow, shapeNone), colorGreen, 0,L, Offset=-45); PlotShapes(IIf(Sell, shapeDownArrow, shapeNone), colorRed, 0,H, Offset=-45);