Hướng dẫn code đơn giản amibroker p1

30 3.9K 82
Hướng dẫn code đơn giản amibroker p1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hướng dẫn code đơn giản Amibroker (P1) Chào người, em xin chia sẻ chút mà em có tự mày mò vấn đề Vì em tìm hiểu, cóp nhặt cơng thức linh ta linh tinh nên viết sơ sài thiếu thống Em cố gắng đơn giản dễ hiểu Đêm hôm rảnh rỗi bác đọc dòng nhảm lướt qua phần đầu, xem hình với thích thơi, nhé! Trước tiên em xin phép lan man tí: Vì em lại biết đến trò cốt kiếc này? Lúc sử dụng Ami, em bị dị ứng màu trắng Mà bác phiên Ami trước phơng tồn màu trắng, nên em phải đổi sang phông đen Các in cầy tơ màu sắc lại phù hợp với màu trắng, lần kéo kéo vô lại phải chỉnh Em bực google hồi này, chỉnh sửa nội dung indicator Hay đỡ phải chỉnh màu lần kéo kéo vô À, muốn chỉnh sửa cầy tơ có sẵn, lích phải vào edit Ồ bảng Em éo thích màu xích lơ, em sửa thành vàng, để style đậm đà (styleThick) cho phong cách, nhìn cho rõ Xong save lại lần sau có màu vàng phong cách Còn bác muốn nuôi em cầy tơ để thử phương pháp trading, Các bác tìm búa Người phán xử Nó lòi cửa số giống hình mà trinh ngun Em lan man hết xừ trang Microsoft doc Thôi vào khái niệm Ngôn ngữ Amibroker, Amibroker Formula Language hay AFL Bác rảnh Google code afl amibroker đầy lũ Nhưng chén thánh đâu Nhìn hay biết hoạt động À hình xong thủ tục giới thiệu cửa sổ code anh em yêu quý Các mảng Trước tiên giá khối lượng Bọn lập trình gọi Mảng hay Array Thơi dân chứng cháo giá vol ok O Open – giá mở cửa ngày H High – giá cao ngày L Low – giá thấp ngày C Close – giá đóng cửa V Volumne – khối lượng giao dịch ngày Giá cao 10 ngày: HHV(H,10); (Cao 10 mức giá cao) Giá thấp 10 ngày: LLV(L,10); (Thấp 10 mức giá thấp) Giá đóng cửa thấp 10 ngày: LLV(C,10); Tham chiếu Tham số Cái thấy hay dùng (không xưng em với bác nữa) Hàm tham chiếu (Reference): cơng thức Ref( ARRAY, period ); Ví dụ Giá đóng cửa ngày hơm qua gán cho biến C1 Tên biến đặt Ví dụ: À bác mở Menu Analysis -> Formula Editor hình búa tơi nói Có nghĩa em “nói” (viết cơng thức) C>EmLan; nghĩa giá hơm lớn em Lan (Giá đóng hơm qua) Còn giá hơm trước -2, hơm trước -3, hơm kía hơm tiếp tục Anh em để ý viết đúng, Ami tự nhận ngơn ngữ làm cho chữ đổi màu, chuyển đậm, để phân biệt với tên hay thông số mà người dùng tự đặt Chú ý: Dấu chấm phẩy Dấu chẩm phẩy quan trọng Cứ hỏi bọn lập trình Dấu chấm phẩy CUỐI DỊNG rõ phiền chót quên Hàm tham số (Parameters): Công thức Anh em xem trang nhé, trang chật Param( ''name'', defaultval, min, max, step); Lần lượt: Tên, giá trị mặc định, giá trị nhỏ nhất, giá trị lớn nhất, bước nhảy (ví dụ đặt từ lên 2, đặt từ lên 3, đặt 10000000 từ lên giời Thơi bạn đặt Còn đặt cao để đỡ thời gian muốn Optimized – tối ưu hóa code, trình bày sau!) Ví dụ: Thoigian = Param("Loi cu ta ve",-15,-100,100,1); Các bác viết tiếp hình, đặt tên Save lại Ở phần Custom, chuột phải vào vừa tạo Insert kéo trực tiếp vào Như đặt mặc định Thoigian 15 phiên trước hôm Em Lan (giá đóng cửa) trở thành người cũ thứ 15 (âm 15 15 phiên kế trước) Em Lan người tình 100 phiên trước (giá trị nhỏ nhất) 100 phiên sau Chắc huynh đệ quen với bảng chỉnh thông số kéo đường MA hay Volume vào đồ thị Thoigian biến, EmLan biến, sử dụng trình code Loi cu ta ve tên hiển thị, hình Vậy chỉnh sửa Lối cũ ta thành âm mười lăm (-15) hay 10 hay 100 sử dụng Mặc định -15 Hiển thị Chart Công thức: Plot( array, name, color, style, minvalue, maxvalue, XShift); Giải thích Array: Mảng cần hiển thị Chút bác hiểu Name: Tên đặt Sẽ hiển thị phần ti tồ (title) góc trái chart Lưu ý tên phải ngoặc kép Color: cách viết: ColorYellow colorred Colorgreen - thích màu cho màu đằng sau chữ color Nếu viết chữ tự chuyển đậm Style: cách viết: styleLine (đường nét liền mảnh), styleThick (đường nét liền đậm), styledashed (đường đứt đoạn) Min max value: Bỏ qua nhé! Viết thành số Dấu chấm phẩy cuối câu nhé! Ví dụ đây, ví dụ đây! Plot(C,"Chikou Span",colorLime,styleLine,0,0,-26); Tơi viết đường Chikou Span theo tinh thần Ichimoku Đó đường giá lùi lại 26 phiên so với thời điểm Như vậy: Plot(Giá, “đặt tên Chikou Span”, màu xanh chanh, kiểu đường mảnh, âm 26 nghĩa lùi 26 phiên); Các cụ viết Save lần Kéo vào đồ thị giá Kết hình: Ví dụ 2: Cổ phiếu vượt đỉnh phá đáy Các anh em nhớ cơng thức HHV LLV (Higher high value Lower low value) mà để phần đầu? Tôi tạo đường đỉnh đáy 60 ngày (khoảng tháng) EmQuynh=HHV(H,60); EmChi=LLV(L,60); Plot(EmQuynh,"Dinh cao voi voi",colorWhite,styleDashed); Plot(EmChi,"Vuc sau muon trung",colorWhite,styleDashed); Giải thích: Em Quỳnh Đỉnh cao vời vợi (60 ngày) Em Chi vực sâu mn trùng (đáy thấp mức giá thấp – 60 ngày) Plot (hiển thị) em ý lên đồ thị (tên biến, tên tiêu đề, màu trắng trinh nguyên, kiểu nét đứt); Các bạn lại save vào kéo vào đồ thị bước ví dụ trước À dấu gạch // plot Chikou Span để biến dòng thành Comment, khơng hiển thị Tơi nói vấn đề Comment sau Chúng ta có khung hay đường band hiển thị mức giá cao thấp 60 ngày Nhưng để hiển thị rõ rang hơn, sửa lại dòng code: EmQuynh=HHV(Ref(H,-1),60); EmChi=LLV(Ref(L,-1),60); Như vậy, Em Quỳnh trở thành vực cao 60 ngày liền trước TÍNH TỪ ngày hơm qua, hơm chinh phục em Chúng ta ý việc để hàm Ref(H,-1) giá cao ngày hôm qua lồng hàm HHV thay cho biến H (giá cao) Cẩn thận dấu ngoặc phải đầy đủ với Lưu lại so sánh đồ thị sau sửa code Lưu ý hình (sau sửa) nhìn thấy rõ Vnindex phá xuống mức Em Chi, bên (Chưa sửa) Em Chi vực sâu giá ngày hơm nên khó phát Đường MA Chúng ta kết thúc đường quen thuộc đường trung bình Tất nhiên có sẵn Ami q trình tự phát triển ý tưởng thân, nên sử dụng hàm MA( ARRAY, periods); Ví dụ: Tơi lấy đường trung bình động Khối lượng 20 ngày trừ Khối lượng trung bình động 50 ngày Nhung_ngay_ben_em_Nhi = Param("T1",20,1,200,1); Nhung_ngay_ben_em_Ha = Param("T2",50,1,200,1); EmNhi=MA(V,Nhung_ngay_ben_em_Nhi); EmHa=MA(V,Nhung_ngay_ben_em_Ha); Chenhlech=(EmNhi-EmHa)/EmHa; Plot(Chenhlech,"Dong tien",colorWhite,styleHistogram|styleOwnScale); Plot(EmNhi,"MA Volume 20",colorGreen,styleLine); Plot(EmHa,"MA Volume 50",colorRed,styleLine); Như vậy, vừa tạo công cụ theo phong cách MACD khối lượng, giúp thấy rõ chuyển động khối lượng giao dịch trung bình Chúng ta thay đổi thơng số 20 50 ngày sử dụng Diễn giải phần code: dòng đầu đặt thơng số thời gian trung bình Tiếp theo cơng thức MA khối lượng Chú ý thay MA (đường trung bình động thường) thành EMA đường trung bình động lũy thừa Chenhlech mức tang giảm khối lượng trung bình Phần Plot hiển thị hình ảnh chart Chú ý đoạn styleHistogram|styleOwnScale dấu | với chức kết hợp kiểu style StyleOwnScale: chênh lệch tính với cơng thức loanh quanh số 0, khối lượng trung bình lại vài ngàn đến vài triệu nên để với biểu đồ, ta phải u cầu Chenhlech Quy mơ riêng (StyleOwnScale) Bạn xóa đoạn styleHistogram|styleOwnScale thay có styleHistogram để hiểu thêm Hướng dẫn Code Amibroker - P2 Chia đoạn commnet Nói chút vần đề này! Ở phần trước, tơi có nhắc đến việc comment Những dòng comment đoạn mã thực quan trọng trình làm việc Chúng ta muốn tạo hiệu dễ hiểu Vấn đề thường xuyên sửa đổi đọc đọc lại đoạn mã gồm ký hiệu phức tạp trình tối ưu hóa Điều phức tạp não Đoạn code để máy tính đọc, anh em ta thích đọc câu “Hôm tăng ác đấy” hay “múc nhiệt tình vào” “Tây lơng bán ác q” Ví dụ đoạn mã trên, lần cần phải sửa đổi, lại phải căng mắt tìm lại dòng, khơng biết thằng – phút trước – vừa viết khỉ ho Nếu chị em lại đưa cho anh chàng hàng xóm nhờ xem hộ vấn đề “nó” tăng ầm ầm mà robot em lại báo mua đỉnh, anh chàng bối rối với mớ bòng bong bạn Nếu bạn nhớ đoạn code xác định đáy đỉnh hôm qua: Chúng ta thêm comment nội dung sau dấu // xem làm đoạn Anh em để ý thấy phần đầu cuối đoạn với cú pháp: _section_begin(“ghi tên section”); Nội dung _section_end(); Ok giúp phân đoạn dễ dàng Nhưng thắc mắc việc phân đoạn comment rồi, phải gõ thêm dòng làm cơng Chúng ta làm thử nghiệm nhỏ Chỉnh sửa đoạn code chút, này: Thêm cú pháp phân đoạn vào để phân đoạn hiển thị em Quỳnh em Chi Save lại kéo sang biểu đồ giá Nhấp chuột phải, chọn Delete Indicator đá em Quỳnh khỏi đời Bằng cách phân tách Section, tạo Indicator riêng rẽ để làm việc tốt với chart Cuối cùng, so sánh Đoạn văn rõ ràng mạch lạc so với để trần cục đoạn Anh chị em bỏ hết dấu // đoạn để biến dòng comment màu xanh thành dòng lệnh Sau Save lại kéo thử hình để xem thay đổi với đoạn mã gốc Tôi đọc dòng (sau bỏ // ): Hiển thị hình mũi tên lên trên, dạng tam giác thỏa mãn điều kiện Cond7 Màu xanh lục Trời tơi lười q Qua vừa trải qua hy vọng anh em, à chị em tự tìm hiểu chức Bác Google biết tuốt: PlotShapes afl Amibroker https://www.amibroker.com/guide/afl/plotshapes.html Phần Plot bên (bài trước làm quen với lệnh Plot rồi) hiển thị đường Ichimoku mà tác giả thiết lập phần đầu PlotOHLC hiển thị giá trị Open, High, Low, Close Tơi có thủ thuật nho nhỏ muốn biết dòng lệnh dạng Plot có ý nghĩa gì, ta việc thêm // đầu để biến thành comment (comment có tác dụng giải thích, khơng ảnh hưởng đến lệnh) nhằm mục đích xem biến hình Các điều kiện lệnh BUY SELL Ồ xem gần hết dòng đầu lệnh gán điều kiện, giống Cond1 Cond2 Cond3 thơi nhỉ! dòng cuối lệnh gán điều kiện, từ StrongBuy (Mua mạnh) đến WeakSell (bán yếu) Mọi người ý đến lệnh Buy Sell Đây câu lệnh điều kiện Amibroker, điều kiện thực thi Nó khác với loại gán điều kiện khác (kiểu Cond1 Cond2) chỗ: Cond1 thứ (tơi bí từ) mà đặt ra, sau dùng “thứ” điều kiện để làm vật liệu cho câu lệnh thực thi Còn Buy Sell đẳng cấp khác Đường đường câu lệnh gốc Amibroker, nên viết Buy Sell, Ami nhận in đậm Buy (mua) Tenkan cắt lên Kijun DL lớn giá đóng cửa Các bạn xem lại giá trị DL phần thiết lập đầu Sell bạn tự đọc Phần cuối Phần cuối lại PlotShapes (hy vọng người Gu Gồ hiểu ý nghĩa câu lệnh này) Các câu lệnh PlotShapes phần lồng lệnh IIF để hiển thị mũi tên báo mua bán, mua yếu mua mạnh, bán yếu bán mạnh Áp dụng thử thủ thuật thêm dấu // comment để xem tác dụng câu lệnh “dạng Plot” Plot, PlotShapes hay PlotOHLC câu lệnh cuối để hiển thị dải Ruy-băng bên À hiểu câu lệnh IIF màu sắc ColSenk phía rồi! Cảm ơn người! Hướng dẫn code đơn giản Amibroker - P3 *CẨN THẬN: phần đầu nhảm nhí Anh em kéo xuống trang được, chịu khó đọc Xin chào bạn! Mình vào chủ đề ln À thơi, nói phét tý đã, hề! Mình cóp nhặt linh ta linh tinh, nên phần lại đoạn Mông không mông, ngực khơng ngực Nghĩ nói đấy, lại phần tổng hợp nên cách thức nhặt chỗ tý nồi lẩu tả pí lù thập cẩm Nấu lẩu hải sản, thêm tý thịt gà bò, cá nát bét xong lại mắm tôm vào gia vị Thái hết muốn ăn Vậy nên hơm chia phần chút Nếu nói việc code Amibroker sản phẩm nào, theo ý – theo ý thơi – có mục đích, hay cách dùng (hay dùng từ tùy bạn) (1) tạo công cụ hiển thị diễn giải – (2) áp dụng hệ thống giao dịch – (3) lọc lựa cổ phiếu Nghe tên trừu tượng khó hiểu, cho người viết tinh tướng ta thích dùng chơi chữ - cố tình hề Thật khơng có lạ cả, tơi giải thích Các công cụ diễn giải biểu đồ Đây “thứ” quen thuộc người dùng Amibroker Thơi nói thẳng ln, indicator đường MA, báo giao động RSI, MACD, Bollinger Band, đường ADX, Stochastic, xây dựng theo công thức ơng Robert Williams John Kevin Rayer nghĩ Nói chung hầu hết thứ bạn sử dụng, nhìn thấy biểu đồ Mấy anh bạn phân tích RSI từ vùng mua sang vùng trung tính, kết hợp với giá chạm bật MA50 MACD, Stochastic cho tín hiệu mua, v.v cho vào báo cáo môi giới sử dụng indicator dạng Hãy nhìn tranh bên dưới! Từ xuống dưới: RSI, đồ thị giá, ADX MACD Code RSI, ADX MACD (Các bạn click chuột phải vào tên indicator chọn edit để cửa sổ code trên) Các anh em ý đến câu lệnh quen thuộc trước Đúng vậy, lệnh PLOT Để hiển thị lên biểu đồ, ta dùng lệnh Các Indicator chủ yếu để diễn giải chuyển động giá hay khối lượng, khơng quen nhìn biểu đồ trần (nghĩa có giá & khối lượng, khơng mặc thêm hết) indicator dùng để giải thích, kiểu như: MA20 nằm MA50 xu tăng ngắn hạn, hay ADX> 50 xu hướng (mua bán) mạnh, Đầu tiên, phải nghĩ ta muốn xem người ấy, nghĩa muốn hiểu biểu đồ giá Như 1, tạo hiển thị mức giá cao/thấp tháng hay biểu đồ “làm mềm” khối lượng  Bước 1: Tạo công thức dựa liệu gốc giá (O,H,L,C) khối lượng (V)  Bước 2: Hiển thị lệnh PLOT Ở ví dụ trên, RSI(), ADX(), MACD() hàm tính tốn có sẵn Amibroker, việc thêm thông số vào dấu ngoặc () RSI(14) – cho 14 ngày Đối với RSI cho thêm đường mua, bán (tôi đặt 80-20) nét gạch Thêm vào đơn giản code (các bạn sửa 80-20 thành thông số khác tùy theo): Plot(80,"Overbought",colorYellow,styleDashed); Plot(20,"Oversold",colorYellow,styleDashed); Các indicator hay sử dụng có sẵn Amibroker, việc thêm thông số Các bạn chịu khó google cách trước công thức chưa hiểu rõ Hệ thống giao dịch Một hệ thống giao dịch gồm điều kiện để vào lệnh thoát lệnh Theo cách máy móc – lập trình cho máy thực hiện, cần đạt đủ điều kiện ok, phát tín hiệu Ở chém gió chút, máy móc kỷ luật lại điểm yếu – khó thích nghi với thay đổi thị trường (ví dụ tùy loại robo hay hệ thống giao dịch mà phù hợp với thị trường có xu hướng hay thị trường khung giao động) Con người dễ thích nghi điểm yếu – thiếu kỷ luật Có lẽ nhiều người nhìn thấy dạng biểu đồ này: Những mũi tên xanh đỏ đại diện cho quy tắc chứa điều kiện cho việc mua/bán kích hoạt code Theo truyền thống trước, ta viết code đơn giản Các bạn đọc website viết Ừ ông nói biết biết Lúc đầu đọc dòng thấy hợp lý mà có hiệu khơng nhỉ? Mở chát, vẽ MA nheo mắt nhìn, a chỗ cắt, giá lên A chỗ cắt, giá không giảm? Nhiều chỗ loạn mắt quá, phân biệt? Viết thử code đơn giản giao dịch đường trung bình động (Moving Average) - Đầu tiên, xác định đường nhanh chậm Tôi thử với nhanh – 20 ngày Chậm – 50 ngày o Các anh em nhớ cách đặt thông số chứ? Nhanh = Param("Thoi gian nhanh",20,1,200,1); Cham = Param("Thoi gian cham",50,1,200,1); Tiếp theo thiết lập đường MA (tôi dùng EMA – MA lũy thừa thay cho MA đơn giản) MAnhanh=EMA(C,Nhanh); MAcham=EMA(C,Cham); Điều kiện đường cắt nhau: Ở có cách Cách 1: Dùng Cross (Cắt nhau) //==Dieu kien DieukienMua= Cross(MAnhanh,MAcham); DieukienBan= Cross(MAcham,MAnhanh); //==Buy and Sell Buy = DieukienMua; Sell = DieukienBan; Lưu ý: Mua MAnhanh cắt lên MAcham, bán ngược lại Các bạn nhớ trước có Exrem chứ? Và cách 2: Cách //==Dieu kien DieukienMua= MAnhanh>MAcham; DieukienBan= MAnhanhMAcham Các bạn có lẽ thắc mắc khác Cross? Sao khơng dùng Cross cho nhanh lại phải viết thêm dòng Tiếp tục diễn giải: Buy = Exrem(điều kiện 1, điều kiện 2); Lệnh Buy kích hoạt (như kéo cò súng) LẦN ĐẦU xảy điều kiện (MA cắt lên), sau ta thả cò súng mà điều kiện xuất (MA cắt xuống) Sau đó, xuất điều kiện 1, ta lại kéo cò Nếu điều kiện khơng xuất khơng kéo cò lệnh Buy lần Hình minh họa có khơng có Exrem Nhưng khác Cross? Bởi Cross Cross, cắt qua, kiểu điều kiện Còn với cách 2, tơi tạo điều kiện khơng phải Cross (Ví dụ giá đóng cửa lớn mức hay khối lượng gấp lần khối lượng trung bình) đặt điều kiện lần - - - Tiếp theo, bước cuối làm hiển thị tín hiệu lên hình PlotShapes(Buy*shapeUpArrow,colorLime,0,L,-50); PlotShapes(Sell*shapeDownArrow,colorRed,0,H,-50); Có thể bạn biết cách dùng Plotshapes, tơi diễn giải lại PlotShapes(Hình dạng, màu sắc , layer – để , vị trí, khoảng cách); Dòng đầu tiên: Buy*shapeUpArrow nghĩa điều kiện buy chèn hình mũi tên Chú ý dấu * Bạn thay đổi nhiều hình dạng khác Tham khảo https://www.amibroker.com/guide/afl/plotshapes.html colorLime để màu xanh với buy đỏ với sell Vị trí: mũi tên buy (hướng lên) vị trí L (low) nghĩa đáy nến Ngược lại với sell Khoảng cách khoảng cách từ mũi tên đến nến Vì khoảng cách = vị trí mũi tên gần sát giá cao (thấp) nến, khó phát Các bạn để dấu âm (vd: -50) trước Đã xong Vậy bạn nên có dòng lệnh (ở để điều kiện kết hợp Exrem) Nếu thành thạo rút gọn xuống (tơi lại thử dùng cross – cách có tác dụng trường hợp đơn giản này): Anh em Save lại, mở đồ thị giá, chèn vào thêm đường EMA20 EMA50 xong kéo code vừa tạo vào thấy có mũi tên điểm cắt Vậy vừa xem qua cách tạo công cụ giao dịch với điều kiện đơn giản Bài sau tơi nói thêm vấn đề này, (3) chức lọc cổ phiếu cách sử dụng chức Analysis (nhiều người sử dụng Ami thường bỏ quên tính tuyệt vời này) cách kiểm tra hiệu công cụ giao dịch tín hiệu Xin cảm ơn! Tham khảo thêm: https://www.amibroker.com/guide/h_indbuilder2.html Hướng dẫn code đơn giản Amibroker – P4 Lọc cổ phiếu Chức Scan Explore Amibroker dùng để quét tín hiệu lọc cổ phiếu theo tiêu chí Các bạn mở tab Analysis hình vẽ (hoặc chọn File > New > Analysis Phần khoanh đỏ chức mà tơi nói đến Nói qua “thứ” cần cài đặt làm việc với Analysis: Trước tiên, anh em vào chủ đề để tìm hiểu qua cách tạo watchlist – danh sách theo dõi cổ phiếu http://forum.vietstock.vn/threads/23726-PTKT-ai-ko-thich-dung-vao-?p=1147173 Từ trái qua phải: Apply to: All symbols (tất liệu – mã chứng khoán), Current (mã chứng khốn mà mở tab bên cạnh – trường hợp CHP), Filter (nếu bạn đọc tạo watchlist link ấn thử vào hình phiễu xanh bên cạnh, watchlist chọn danh mục bạn ok) Range: Tốt để From to date chọn ngày bắt đầu kết thúc bên cạnh Lưu ý tháng-ngàynăm Formula: Bạn chọn lọc cổ phiếu dựa code Amibroker đưa bạn đến thư mục chứa code để chọn cơng cụ Ấn vào biểu tượng màu vàng bên cạnh chọn Biểu tượng để mở cửa sổ xem/chỉnh sửa code chọn Nếu bạn tìm thư mục có chứa code mình, đừng lo lắng, làm hình bên cách khác để chọn code để “phân tích” (Analysis) Chức Scan Bạn có cơng cụ cho tín hiệu mua/bán cổ phiếu (xem lại phần trước hướng dẫn cách tạo công cụ tín hiệu mua/bán theo điều kiện tự đặt ra) muốn biết hôm nay, hay kể từ đầu tháng, cổ phiếu quan tâm (giả sử bạn cho vào danh sách watchlist cổ phiếu có “tương lai”, cơng ty làm ăn ok, lãnh đạo ok, em tiếp tân ok, v.v ) có cổ phiếu đạt điểm mua để nhào zô  Nhiệm vụ: kiểm tra xem từ đầu tháng 6, danh mục VN30 có mã đạt điểm mua/bán với điều kiện đường EMA10 EMA20 cắt Bước 1: Tạo danh sách VN30 Làm theo hướng dẫn link Danh sách VN30: https://www.hsx.vn/Modules/Listed/Web/StockIndexView/1964531007 Bước 2: Tạo code tín hiệu theo điều kiện Tạo code sau, đặt tên EMA10 cross EMA20 save lại Bước 3: Mở tab Analysis, cài đặt thứ thứ, nhấn nút Scan ==> kết quả! Ở bảng kết quả, ta thấy: Mã chứng khoán – Buy/Sell – Ngày – Giá đóng cửa ngày Ví dụ: Chọn sang tab đồ thị chart bên cạnh, thêm đường EMA10 EMA20 vào CII cho tín hiệu bán (theo điều kiện EMA trên) ngày 15 tháng Click đúp vào hàng CII mở tab chart, ta thấy CII cho tín hiệu vừa Scan Tất nhiên ta thấy chất lượng tín hiệu khơng cao Điều phụ thuộc vào điều kiện mua/bán tốt đến đâu Chức Explore với hàm Filter Giả sử bạn muốn lọc tất cổ phiếu VN30 với điều kiện - khối lượng trung bình tháng gần lớn khối lượng trung bình tháng, xu hướng tăng (đường trung bình MA50>MA100) Điều kiện 1: Condition1 = MA(V,20)>MA(V,60): //trung binh khoi luong thang>3 thang Điều kiện 2: Condition2 = MA(C,50)>MA(C,100); //Dieu kien Uptrend Hàm Filter (https://www.amibroker.com/guide/h_exploration.html) để lệnh cho Ami: Tìm cho bố mã thỏa mãn điều kiện Filter = Condition1 AND Condition2; AddColumn(Array,”tên hiển thị”); Addcolumn dùng để thêm vào cột thông số bảng kết quả, hay sử dụng chức Explore Ví dụ: Bạn muốn kết giá đóng cửa, khối lượng số RSI ngày hơm đó: AddColumn(C,"Price"); AddColumn(RSI(14),"RSI"); Được bạn có code lọc đơn giản Ấn nút vertify syntax (kiểm tra) bên phải phần đặt tên Oops, vừa đánh nhầm dấu chấm phẩy ; thành dấu hai chấm : Sửa lại cho đúng, kiểm tra lần lưu lại  Nhiệm vụ: Kiểm tra mã cổ phiếu VN30 thỏa mãn điều kiện lọc tuần cuối tháng Bước 1: Cài đặt thứ thứ, bước Scan với code sử dụng Code vừa tạo Bước 2: Ấn Explore (cạnh Scan) Kết quả: Các mã cổ phiếu thỏa mãn điều kiện Ngồi có cột Price RSI thêm công thức Addcolumn Ấn vào nút để sửa code, thêm vào cột khối lượng tỷ lệ khối lượng trung bình tháng so với tháng Chúng ta click vào phần tiêu đề để xếp thứ tự tăng giảm Ví dụ click click vào mục RSI để phân loại tăng, giảm dần Trong danh sách, MBBank có RSI cao khoảng 78 vào ngày 29 tháng 6, với khối lượng trung bình tháng tăng 19% so với tháng Click đúp vào hàng MBB đó, chuyển sang tab chart – thêm RSI(14) để xem Thực hành thêm số thao tác Bây giờ, bạn biết cách Scan danh sách cổ phiếu cho tín hiệu hành động (hoặc toàn thị trường, chọn All symbol tạo danh sách tất cổ phiếu Hose hay HNX, tùy thuộc người) cách tạo điều kiện để lọc Để thực hành, bạn thêm điều kiện khác vào cơng cụ lọc Filter, ví dụ như: - Điều kiện RSI lớn hay khoảng giá trị Ví dụ 20 HHV(Ref(H,-1),50000); (để 50 nghìn phiên trước để chắn đỉnh thời đại) Điều kiện (các bạn sáng tạo thêm nữa nhé) Và thấy tín hiệu mua bán đặt khơng hiệu quả, thử thay điều kiện xem Hãy kết hợp nhiều điều kiện để có điểm mua an tồn Tơi có đọc câu hệ thống tốt phải cân tốt an toàn hội Nếu bạn mua sớm, thiếu xác nhận đà tăng giá thiếu an toàn, đợi xác nhận lâu vừa nguy hiểm hội Cách thêm danh sách lọc vào watchlist Giả sử bạn tìm chuỗi điều kiện thần thánh đó, sau nhấn Explore cho bảng kết Bạn muốn cho vào danh sách cần chờ đến lúc Scan tín hiệu mua bán thần thánh chuẩn bị lồi mồm - Tạo watchlist Bôi đen mã cổ phiếu cần đưa vào danh sách, chuột phải chọn lựa chọn tùy theo nhu cầu, chọn watchlist cần add thêm vào → OK Backtest Một người bạn bạn cho bạn Robot Ami thiên tài, bách phát bách trúng với chứng hấp dẫn sau FLC Quyết Đại Ka Mụ phù thủy bảo: – Thôi không sao, ta nhiều táo ngon lắm, ta cho Bạch Tuyết nói: – Không cháu không nhận đâu, cháu không phép nhận thứ người lạ Mụ phù thủy nói tiếp: – Đừng lo cháu gái xinh đẹp? Táo ngon, ta bổ táo ăn nửa xanh, nửa chín ta cho Đừng hiểu nhầm ý tôi! Người bạn có ý muốn chia sẻ với bạn cơng cụ tuyệt vời Tơi chẳng đánh giá việc Ý tơi bạn nên kiểm tra lại giống nàng Bạch Tuyết nên check thử táo trước cắn Một số câu hỏi bạn cần phải đặt ra: - Hệ thống giao dịch có tỷ lệ thắng/thua bao nhiêu? Nếu thắng thắng bao nhiêu, thua thua bao nhiêu? Ví dụ: - Nó cho lợi nhuận DÀI HẠN? Mình tn thủ theo cách KỶ LUẬT? Ví dụ hệ thống bắt bạn phải mua, bán liên tục 5-6 lần tháng khơng thể theo Ví dụ bán ngày thứ 3, thứ bắt mua lại bạn có ok? Hệ thống phù hợp với DẠNG cổ phiếu nào? (vd phương pháp mua giá bật tăng 810% khó áp dụng cho cổ phiếu khơng tăng sốc, hay VNindex 10% 70 điểm phiên – không tưởng) - Kinh nghiệm chiến thắng khứ không đảm bảo thành công tuyệt đối tương lai .nhưng test trước khơng Ý tưởng thử nghiệm hệ thống với liệu khứ Các bạn nhớ phương pháp Scan tín hiệu mua/bán dựa EMA10 cắt EMA20 phần đầu chứ? Bây kiểm tra Nhiệm vụ: Kiểm tra hệ thống giao dịch với EMA10 EMA20 - - Bước 1: Thiết lập thứ thứ tab Analysis phần trên, với formula code “EMA10 cross EMA20” tạo phần đầu o Chỉnh phần Apply to: phần nên: Kiểm tra toàn sàn Hose, HNX, kiểm tra riêng phân nhóm cổ phiếu Vậy nên tiến hành nhiều lượt thử, lượt thử nhóm khác Trước tiên thử VN30 o Chỉnh phần Range: Nếu bạn kiểm tra giai đoạn UPTREND thị trường, ví dụ từ năm 2012 đến nay, kết tuyệt vời Đó điều muốn nhìn thấy khơng phải lúc test Chúng ta khơng muốn bị lừa kiểu Tơi khuyến khích lùi thời gian năm 2008 (bỏ qua giai đoạn điên) hay chí 2000 Bước 2: Nhấn nút Backtest cạnh nút Explore Chờ chút ta có bảng kết Bước 3: Nhấn nút Report khung chọn ngày, cạnh cờ lê Chúng ta có bảng thống kê Một số tiêu chí cần xem xét: Mức lợi nhuận hàng năm Tổng số lượng giao dịch Tỷ lệ thắng, Tỷ lệ thua Trung bình lợi nhuận, Trung bình thua lỗ Mức thua lỗ lớn giao dịch (Max system % drawdown) mức thua lỗ lớn vốn (Max system % drawdown – vd nhiều lệnh lỗ liên tiếp tạo mức lỗ lớn này) Các bạn tự tìm hiểu thêm chức Backtest vài vấn đề nữa, tơi xin trình bày phần sau Mỗi nhận tạo code mới, nghĩ đến Nàng Bạch Tuyết nhé! ... hiệu Xin cảm ơn! Tham khảo thêm: https://www .amibroker. com/guide/h_indbuilder2.html Hướng dẫn code đơn giản Amibroker – P4 Lọc cổ phiếu Chức Scan Explore Amibroker dùng để quét tín hiệu lọc cổ phiếu... hiển thị dải Ruy-băng bên À hiểu câu lệnh IIF màu sắc ColSenk phía rồi! Cảm ơn người! Hướng dẫn code đơn giản Amibroker - P3 *CẨN THẬN: phần đầu nhảm nhí Anh em kéo xuống trang ln được, chịu khó... niệm Ngôn ngữ Amibroker, Amibroker Formula Language hay AFL Bác rảnh Google code afl amibroker đầy lũ Nhưng chén thánh đâu Nhìn hay biết hoạt động À hình xong thủ tục giới thiệu cửa sổ code anh em

Ngày đăng: 06/08/2019, 20:43

Từ khóa liên quan

Mục lục

  • Hướng dẫn code đơn giản Amibroker (P1)

  • Các mảng cơ bản

  • Tham chiếu và Tham số

  • Hiển thị Chart

  • Đường MA

  • Hướng dẫn Code Amibroker cơ bản - P2

  • Chia đoạn và commnet

  • Tập mổ xẻ, phanh thây và học hỏi các tiền bối

    • Đọc từng đoạn code ICHIMOKU

    • Đoạn điều kiện

    • Phần hiển thị

    • Các điều kiện và lệnh BUY và SELL

    • Phần cuối

    • Hướng dẫn code đơn giản Amibroker - P3

    • 1. Các công cụ diễn giải biểu đồ

    • 2. Hệ thống giao dịch

      • Viết thử code đơn giản giao dịch bằng đường trung bình động (Moving Average)

      • Hướng dẫn code đơn giản Amibroker – P4

      • Lọc cổ phiếu

      • Chức năng Scan

      • Chức năng Explore với hàm Filter

      • Thực hành thêm một số thao tác

Tài liệu cùng người dùng

Tài liệu liên quan