ranluc
Well-Known Member
mình chỉ viet ami, không rành mt4Chào Anh ranluc. em có thể nhờ anh giúp viết code Mt4 về % khoảng cách giá và đường MA200; MA50 được không ạ?
mình chỉ viet ami, không rành mt4Chào Anh ranluc. em có thể nhờ anh giúp viết code Mt4 về % khoảng cách giá và đường MA200; MA50 được không ạ?
chào bạn, bạn cho mình xin code như hình vẽ với, mình vào làm không được, bạn có thể gửi qua mail mình với: khiem.tankimbao@gmail.com; cảm ơn bạn nhiềuCác code chỉ báo của bác ranluc đều hoạt động rất tốt, bạn nào ko chạy đc cứ kêu em quote lại code cho, khỏi làm mất thời gian của bác ranluc.
Chỉ có một chuyện là em cần thêm thời gian ngâm cứu mấy thông số chỉ báo, em vẫn chưa hiểu hết được :)View attachment 5824
Chờ tý, máy mình lỗi mới ghost lại windows :D.chào bạn, bạn cho mình xin code như hình vẽ với, mình vào làm không được, bạn có thể gửi qua mail mình với: khiem.tankimbao@gmail.com; cảm ơn bạn nhiều
Chào bạn, bạn gửi mình xin code RS với, mình chạy bị lỗi như thế này. Mình lấy dữ liệu từ Cafef hàng ngày, không biết là để sử dụng được RS này có cần phải import dữ liệu nào khác vào amibroker không, hay tự tạo dữ liệu riêng để chạy RS.Các code chỉ báo của bác ranluc đều hoạt động rất tốt, bạn nào ko chạy đc cứ kêu em quote lại code cho, khỏi làm mất thời gian của bác ranluc.
Chỉ có một chuyện là em cần thêm thời gian ngâm cứu mấy thông số chỉ báo, em vẫn chưa hiểu hết được :)View attachment 5824
Chỉ báo chỉ để vẽ chart thôi, không dùng ở AnalysisWindow.Chào bạn, bạn gửi mình xin code RS với, mình chạy bị lỗi như thế này. Mình lấy dữ liệu từ Cafef hàng ngày, không biết là để sử dụng được RS này có cần phải import dữ liệu nào khác vào amibroker không, hay tự tạo dữ liệu riêng để chạy RS.
Mới tập tành, mong anh em chỉ giáo giúp. Cảm ơn rất nhiều.
chào bạn, bạn cho mình xin code như hình vẽ với, mình vào làm không được, bạn có thể gửi qua mail mình với: khiem.tankimbao@gmail.com; cảm ơn bạn nhiều
Em dùng dữ liệu của cophieu68 chỉ một loại đó. Bác dùng cái nào dùng một cái thôi chứ dùng nhiều lại phải chuyển qua chuyển lại giữa Database mất công lắm. CafeF em chưa dùng nên ko biết nó thế nào, trước em mua Datafeed của Vndirect nhưng sau thấy ko cần thiết nên em dùng của cophieu68, vừa free vừa chuẩn :D.Chào bạn, bạn gửi mình xin code RS với, mình chạy bị lỗi như thế này. Mình lấy dữ liệu từ Cafef hàng ngày, không biết là để sử dụng được RS này có cần phải import dữ liệu nào khác vào amibroker không, hay tự tạo dữ liệu riêng để chạy RS.
Mới tập tành, mong anh em chỉ giáo giúp. Cảm ơn rất nhiều.
- RS+RSI//RS modified by ranluc
_SECTION_BEGIN("RS");
base = ParamStr("Base", "^VN30"); //GetBaseIndex() );
Nth = Param("Nth", 1,1,5);
change = 2 ;
baseC = Foreign( base, "C" );
refBar = PeakBars(baseC, change, Nth);
relStr = RelStrength(base) *LastVisibleValue(Ref(baseC/C,-refBar))/10 - 100;
Plot( relStr, "RS("+base+")", colorOrange, styleLine|styleThick);
Plot( EMA(relStr, 50), "", colorBlue, styleLine );
_SECTION_END();
- RSCD hay còn gọi là MoCD_SECTION_BEGIN("RSI");
SetChartOptions(0,0,chartGrid30|chartGrid70);
periods = Param( "Periods", 15, 1, 200, 1 );
Plot( RSI( periods), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
base = "VN30INDEX";
relStr = RelStrength(base);
Plot( RSIa(relStr,15), "", colorgreen, ParamStyle("Style") );
_SECTION_END();
_SECTION_BEGIN("EMA");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1, 10 );
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();
- Đường màu vàng VN30 cho pane trên//RSCD= RS + MACD by ranluc
_SECTION_BEGIN("RSCD");
r1 = Param( "Fast avg", 12, 2, 200, 1 );
r2 = Param( "Slow avg", 26, 2, 200, 1 );
r3 = Param( "Signal avg", 9, 2, 200, 1 );
base = ParamStr("Base", "^VN30");
relStr = RelStrength(base);
Plot(ml= EMA(relStr, r1) - EMA(relStr, r2), StrFormat(_SECTION_NAME()+"(%g,%g)", r1, r2), colorgreen, styleThick );
Plot( sl = EMA(ml,9), "Signal" + _PARAM_VALUES(), ParamColor("Signal color", colorBlue ), ParamStyle("Signal style") );
Plot(1.5*( ml-sl), "MACD Histogram", ParamColor("Histogram color", colorDefault ), styleNoTitle | ParamStyle("Histogram style", styleHistogram | styleNoLabel, maskHistogram ) );
_SECTION_END();
_SECTION_BEGIN("Index");
base = ParamStr("Index", "^VN30"); //VNIndex or VN30
Nth = Param("Nth", 1,1,5);
baseC = Foreign(base, "C");
refBar = PeakBars(baseC,2,Nth);
baseCn = LastvisibleValue(Ref(C/baseC,-refBar))*baseC;
Plot( baseCn , "", colorYellow, styleLine|styleNoLabel); //index
Title += " " + base + "=" + baseC+" ("+WriteVal(ROC(baseC, 1),1.1)+"%)";
_SECTION_END();
Bác ranluc cho em hỏi bác có chơi chứng khoán Mỹ ko. Nếu có thì bác đang chơi ở sàn nào vậy ạ. Em muốn thử chứng khoán Mỹ mà ở vn có ông GKFXPrime nghe cộng đồng phản ánh thấy oải quá em ko dám vào. Cảm ơn bác nhiều nếu được bác chia sẻ ạ!Chỉ báo chỉ để vẽ chart thôi, không dùng ở AnalysisWindow.
Copy vào \AmiBroker\Formulas\Custom, rồi chạy Ami, vào Windows/Charts/Custom/, nhấn 2xclick vào file đó để gọi ra vẽ chart
không, minh chỉ chơi cơ sở VN và 1 ít phái sinh VN thôi.Bác ranluc cho em hỏi bác có chơi chứng khoán Mỹ ko. Nếu có thì bác đang chơi ở sàn nào vậy ạ. Em muốn thử chứng khoán Mỹ mà ở vn có ông GKFXPrime nghe cộng đồng phản ánh thấy oải quá em ko dám vào. Cảm ơn bác nhiều nếu được bác chia sẻ ạ!
Bác ranluc cho em hỏi chút, chỉ báo RSCD, bác có thể thêm code lọc cho chỉ báo này giúp em với điều kiện giá trị dương (phần phía trên trục 0.0)không, minh chỉ chơi cơ sở VN và 1 ít phái sinh VN thôi.
Thêm đoạn này vào cuối:Bác ranluc cho em hỏi chút, chỉ báo RSCD, bác có thể thêm code lọc cho chỉ báo này giúp em với điều kiện giá trị dương (phần phía trên trục 0.0)
cảm ơn bác nhiều
Ở phần Settings, tab General, không check vào ô Pad and AlignFilter = ml>0;
AddColumn(ml,"RSCD",1.1);
mình đã thêm vào như thế nàyThêm đoạn này vào cuối:
Ở phần Settings, tab General, không check vào ô Pad and Align
mình đã thay vnindex và ra hình ảnh ok, nhưng khi lọc vẫn báo lỗi dòng này: relStr = RelStrength(base);Vẫn là lỗi nhiều người hỏi tới hỏi lui, không tìm thấy chỉ số cần, "^VN30" hay "VN30", VNIndex" ...
hình ảnh cũng giống bạn nhưng không lọc được, bạn thử chạy lọc xem có chạy không
Em cảm ơn bác Naxi và bác ranluc rất nhiều, em đã làm được rồi. Nhân tiện các bác cho em hỏi nếu muốn thêm giá bán để cắt lỗ x% hoặc chốt lời y% trên biểu đồ trong amibroker thì mình phải làm sao? và tạo biểu đồ chỉ số rs như hình bên dưới thì code như thế nào ạ. Cảm ơn các bác.Em dùng dữ liệu của cophieu68 chỉ một loại đó. Bác dùng cái nào dùng một cái thôi chứ dùng nhiều lại phải chuyển qua chuyển lại giữa Database mất công lắm. CafeF em chưa dùng nên ko biết nó thế nào, trước em mua Datafeed của Vndirect nhưng sau thấy ko cần thiết nên em dùng của cophieu68, vừa free vừa chuẩn :D.
Bác vào menu Analysis/Formula Editor rồi paste mấy đoạn code của bác ranluc vào. Sau đó chọn Save as trong thư mục "C:\Program Files (x86)\AmiBroker\Formulas\Custom" (windows 64) với tên gì đó cho dễ nhớ thì tùy. Có hai cách đưa chỉ báo vào đồ thị: 1 là kéo thả, 2 là click phải chọn insert vào.
Các code của bác ranluc em quote lại đây:
- RS mặc định đã được chỉnh lại:
- RS+RSI
- RSCD hay còn gọi là MoCD
- Đường màu vàng VN30 cho pane trên
Muốn thay đổi VN30 sang VNINDEX thì click phải vào pane của chỉ báo chọn Parameters rồi thay ^vn30 bằng ^vnindex <== cái ký tự này phụ thuộc vào loại data thị trường mà bác đang dùng, ví dụ của cophieu68 hay datafeed của vndirect.
Thấy một số sách họ vẽ được RS từ 1 đến 100 mà sao code mình không thấy bácCám ơn bác @chim_non mở quán và đặt tít dùm.Relative Strength - một chỉ báo đơn giản mà hiệu quả
Chỉ báo RS - Relative Strength (Comparative) so sánh độ mạnh cp với một cp khác, hay so sánh với chỉ số ngành, chỉ số thị trường chung.
Phương pháp giao dịch dựa trên độ mạnh cũng thường được gọi bằng tên Momentum trong các tài liệu khác.
Chỉ báo RS này khác với chỉ báo RSI.
Chỉ báo RS dường như không thấy nhắc đến trong các lớp PTKT bậc 1, bậc 2. Nó là 1 trong 9 bước test của phương pháp Wyckoff. Trong phương pháp VSA, cuốn Master the Markets, nó chỉ được nhắc đến ở chương cuối, trang cuối cùng. Các quỹ lớn cũng thừa nhận RS đơn giản mà hiệu quả, hơn hẳn phương pháp screening (lọc theo vốn hóa và thanh khoản như ETF).
Phần lớn cp bị ảnh hưởng bởi chỉ số chung, đây là vấn đề tâm lý dễ nhận thấy: khi VNI, VN30 tăng, người ta cùng mua, đẩy giá lên cao, khi VNI, VN30 giảm người ta lại ào ào bán ra, đạp giá xuống. Vấn đề ở đây là cp yếu, dù nó cũng được đẩy giá khi chỉ số chung tăng, cũng không thể tăng mạnh như cp mạnh. Vì vậy chọn cổ phiếu theo các chỉ báo kỹ thuật khác như MACD, RSI... cũng không đạt hiệu quả. Lúc đó người chơi sẽ hoang mang: tui cũng theo chart, đường đỏ cắt đường xanh, vậy mà banks CE còn cp tui chọn chỉ lèo tèo 1-2 nấc.
Phần nhỏ cp không bị ảnh hưởng bởi thị trường hay thậm chí ngươc thị trường. Tuy nhiên nhiều cơ hội nằm ở phần lớn vậy thì tìm ở phần nhỏ làm chi?
Trong một thị trường, có cổ phiếu mạnh, có cổ phiếu yếu. Khi thị trường tăng ta cần chọn mua (long) cp tăng mạnh hơn thị trường (tăng mạnh hơn VNIndex, VN30 index). Khi thị trường giảm ta cần chọn bán (short) cp yếu hơn thị trường hay đơn giản là nghỉ ngơi.
Dưới đây minh họa một mã cp mạnh, với code Amibroker.
View attachment 4993
Cửa sổ trên, thêm lớp chỉ số VN30 để so sánh trực tiếp, đường màu vàng.
Code:
_SECTION_BEGIN("Index");
base = ParamStr("Index", "^VN30"); //VNIndex or VN30
Nth = Param("Nth", 1,1,5);
baseC = Foreign(base, "C");
refBar = PeakBars(baseC,2,Nth);
baseCn = LastvisibleValue(Ref(C/baseC,-refBar))*baseC;
Plot( baseCn , "", colorYellow, stylethick|styleNoLabel); //index
Title += " " + base + "=" + baseC+" ("+WriteVal(ROC(baseC, 1),1.1)+"%)";
_SECTION_END();
Từ 30/1 đến 9/2 VN30 giảm từ 1100 về 996, ANV không giảm, chứng tỏ mạnh hơn thị trường, mặc dù trước đó đã có 1 đợt tăng nóng từ 10 lên 14. Khi VN30 tăng từ 996 lên 1150, tăng 15% thì ANV tăng từ 14. lên 22, đạt 50%. Tin tức không có gì thêm ngoại trừ cá tra bị Mỹ đánh thuế nặng, ngành thủy sản suy giảm mạnh.
Cửa sổ dưới là chỉ báo RS có sẵn của Amibroker, code sửa lại để dễ so sánh.
Code
//modified by ranluc
_SECTION_BEGIN("RS");
base = ParamStr("Base", "^VN30"); //GetBaseIndex() );
Nth = Param("Nth", 1,1,5);
change = 2 ;
baseC = Foreign( base, "C" );
refBar = PeakBars(baseC, change, Nth);
relStr = RelStrength(base) *LastVisibleValue(Ref(baseC/C,-refBar))/10 - 100;
Plot( relStr, "RS("+base+")", colorOrange, styleLine|styleThick);
Plot( EMA(relStr, 50), "", colorBlue, styleLine );
_SECTION_END();
Lấy ngày tham chiếu là 26/1 khi VN30 tạo đỉnh 1104, AVN close giá 14.15, giá trị RS = 0. Ngày 9/2 VN30 điều chỉnh sâu, RS=14.6, nghĩa là so với VN30 ANV vẫn tăng 14.6%. Nếu người chơi mua VN30=996 ngày 9/2 (hay mã đại diện cho VN30 là E1VFVN30=16.35) thì đến ngày 30/3, VN30=1153, E1VFVN30=18.88, ANV=22.9. Lợi nhuận của ANV so với VN30 là =55.0%-14.6%=40.4%
Ví dụ khác, cổ phiếu yếu:
View attachment 4996
Về kỹ thuật FPT từ tháng 11/2017 đến tháng 1/2018 liên tiếp tạo đỉnh mới cao hơn đỉnh cũ, đáy mới cao hơn đáy cũ, giao dịch theo MACD vẫn có lãi, nhưng không bằng thị trường, nghĩa là ví dụ trung bình người ta có lãi 30% thì FPT chỉ lãi 20%, thực ra là lỗ.
Các mã trên đây chọn ngẫu nhiên, không khuyến nghị gì cả.
Mình chia sẽ code mình dùng cho mục đích của mình, chỉ tìm khoảng 30 mã mạnh nhất, nên không quan tâm xếp hạng toàn bộ 1000 mã VN. Thật ra trong phần code ở trên chưa lọc ra được những mã chạy không cùng nhịp với thị trường chung, có thể gọi là nhiễu nặng, high vola, hay có tính chu kỳ khác với chu kỳ chỉ số chung.Thấy một số sách họ vẽ được RS từ 1 đến 100 mà sao code mình không thấy bác