Xp Moving Average – Là đường MA nhưng ngon hơn nhiều

Xp Moving Average – Là đường MA nhưng ngon hơn nhiều

Xp Moving Average – Là đường MA nhưng ngon hơn nhiều

Bianas

Senior Mod
Đã Xác Nhận
Trial mod
5,070
29,700
Mọi người đã biết, có khá nhiều loại MA với những ưu nhược điểm riêng của từng loại, từ SMA (Simple), EMA (Exponential) đến DEMA (double) rồi cả TEMA (Triple). Mình là fan của đường trung bình, và chắc chắn trên TraderViet cũng sẽ có nhiều anh em yêu thích đường MA như mình nên hôm nay xin giới thiệu một custom indicator - đó là XpMA.

Về bản chất thì nó vẫn là đường trung bình động, tuy nhiên có bổ sung 2 chức năng:

- Thứ nhất, em nó có thể làm mọi kiểu mà anh em muốn :D . Không như SMA chỉ có mỗi một kiểu chậm mà chắc, D/TMA thì quá nhanh muốn chậm rãi như em SMA cũng không được.
- Thứ hai, tính năng mình rất thích đó là chuyển màu theo xu hướng. Tính năng này làm anh em đỡ mất thời gian, mỏi mắt soi thật kỹ đường MA rồi nhìn vùng nến đó xem chính xác là nó đang có xu hướng gì.

Nói chung em XpMA này có thể làm hài lòng những anh em khó tính nhất :)
Hộp thoại setting và diện mạo em nó sau cài đặt:
xp-moving-average-la-duong-ma-nhung-ngon-hon-nhieu-traderviet.gif


Dưới đây là cách setup thông số cho phù hợp với nhu cầu từng người.

MA_Period: chu kỳ đường MA (tự chọn)

MA_Type: dạng MA muốn sử dụng

Simple moving average 0
Exponential moving average 1
Smoothed moving average 2
Linear weighted moving average 3
Double Exponential Moving Average 4
Triple Exponential Moving Average 5

MA_Applied: kiểu tính toán
Close price 0
Open price 1
High price 2
Low price 3
Median price, (high+low)/2 4
Typical price, (high+low+close)/3 5
Weighted close price, (high+low+close+close) 6

Cách sử dụng đường MA thì nhiều vô kể, nên mình không đề cập, chờ anh em cùng comment chia sẻ.

Các bài viết liên quan:
Hướng dẫn cài custom indicator bên ngoài vào MT4
Đường trung bình động giản đơn - Simple Moving Average
Đường trung bình động hàm mũ - Exponential Moving Average
Đo góc đường MA


Attached file: xpMA.mq4

Happy trading!
Nguồn sưu tầm​
 

Đính kèm

  • xpMA.mq4
    4.7 KB · Xem: 423

Giới thiệu sách Trading hay
Phương Pháp Mới Để Giao Dịch Kiếm Sống

Quyển sách của Tiến sỹ Alexander Elder đề cập đến những vấn đề cơ bản và cần thiết nhất với các trader. Sách được đánh giá rất cao trên toàn cầu
Chỉnh sửa lần cuối:
thấy cũng hay mà chưa hiểu cái thông số T3MA_volume factor : 0.8 nghĩa là gì? @Bianas giải thích giúp với
 
làm sao để có một cái đường còn lại giống như bác ạ. Đường còn lại là đường gì đấy bác
 
thấy cũng hay mà chưa hiểu cái thông số T3MA_volume factor : 0.8 nghĩa là gì? @Bianas giải thích giúp với
Mình không dùng T3MA nên cũng chưa tìm hiểu, cứ để default vậy thôi. Hôm nào sẽ viết bài về T3MA cho ae.
 
làm sao để có một cái đường còn lại giống như bác ạ. Đường còn lại là đường gì đấy bác
Bác cài thêm XpMA vào chart một lần nữa với thông số khác là ra đó bác. Mình dùng Linear weighted average với chu kỳ lần lượt là 24 và 100.
 
Indicator này code sao vậy Bác. Bác có bảng code của nó k cho em xin với :D
Của bác đây nhé. Nếu bác hiệu chỉnh em nó ngon hơn nữa thì nhớ share cho 500 ae TraderViet! :))

//+------------------------------------------------------------------+
//| XP Moving Average |
//| xpMA.mq4 |
//| Developed by Coders Guru |
//| http://www.xpworx.com |
//+------------------------------------------------------------------+
#property link "http://www.xpworx.com"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Yellow
#property indicator_color2 Green
#property indicator_color3 Red
#define MODE_DEMA 4
#define MODE_TEMA 5
#define MODE_T3MA 6
/* Moving average types constants:
------------------------------------
MODE_SMA 0 Simple moving average,
MODE_EMA 1 Exponential moving average,
MODE_SMMA 2 Smoothed moving average,
MODE_LWMA 3 Linear weighted moving average.
MODE_DEMA 4 Double Exponential Moving Average.
MODE_TEMA 5 Triple Exponential Moving Average.
MODE_T3MA 6 T3 Moving Average.
------------------------------------*/
/* Applied price constants:
-------------------------------
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high+low)/2.
PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.
--------------------------------- */
extern int MA_Period = 10;
extern int MA_Type = MODE_EMA;
extern int MA_Applied = PRICE_CLOSE;
extern double T3MA_VolumeFactor = 0.8;
double UpBuffer[];
double DownBuffer[];
double Buffer3[];
double buffer[];
double tempbuffer[];
double matriple[];
int init()
{
IndicatorBuffers(6);
SetIndexStyle(2,DRAW_LINE,STYLE_DOT,2);
SetIndexBuffer(2,UpBuffer);
SetIndexStyle(1,DRAW_LINE,STYLE_DOT,2);
SetIndexBuffer(1,DownBuffer);
SetIndexStyle(0,DRAW_LINE,STYLE_DOT,2);
SetIndexBuffer(0,Buffer3);
SetIndexBuffer(3,buffer);
SetIndexBuffer(4,tempbuffer);
SetIndexBuffer(5,matriple);
return(0);
}
int deinit()
{
return(0);
}
void start()
{

int counted_bars=IndicatorCounted();
int i = 0;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;

switch (MA_Type)
{
case 0:
case 1:
case 2:
case 3:
{
for(i=0; i<limit; i++)
{
buffer = iMA(NULL,0,MA_Period,0,MA_Type,MA_Applied,i);
}
}
break;

case 4:
{
for(i=0; i<limit; i++)
{
tempbuffer = iMA(NULL,0,MA_Period,0,MODE_EMA,MA_Applied,i);
}
for(i=0; i<limit; i++)
{
matriple = iMAOnArray(tempbuffer,0,MA_Period,0,MODE_EMA,i);
}
for(i=0; i<limit; i++)
{
buffer = iMAOnArray(matriple,0,MA_Period,0,MODE_EMA,i);
}
}
break;

case 5:
{
for(i=0; i<limit; i++)
{
tempbuffer = iMA(NULL,0,MA_Period,0,MODE_EMA,MA_Applied,i);
}
for(i=0; i<limit; i++)
{
buffer = iMAOnArray(tempbuffer,0,MA_Period,0,MODE_EMA,i);
}
}
break;

case 6:
{
for(i=0; i<limit; i++)
{
buffer = iCustom(NULL,0,"T3MA",MA_Period,T3MA_VolumeFactor,0,i);
}
}
break;
}
for(int shift=limit; shift>=0; shift--)
{
UpBuffer[shift] = buffer[shift];
DownBuffer[shift] = buffer[shift];
Buffer3[shift] = buffer[shift];
}
for(shift=limit; shift>=0; shift--)
{
if (buffer[shift+1]>buffer[shift])
{
UpBuffer[shift+1] = EMPTY_VALUE;
//Buffer3[i+1] = EMPTY_VALUE;
}
else if (buffer[shift+1]<buffer[shift] )
{
DownBuffer[shift+1] = EMPTY_VALUE;
//Buffer3[i+1] = EMPTY_VALUE;
}
else
{
UpBuffer[shift+1] = CLR_NONE;
DownBuffer[shift+1] = CLR_NONE;
}
}
return(0);
}
 
Chỉnh sửa lần cuối:
Thanks Bác nhiều nhé. Em k biết code. Em nhờ ng khác thôi :D. Nhưng con này có repaint k Bác. Nhìn quá khứ ảo lòi luôn.
 
Thanks Bác nhiều nhé. Em k biết code. Em nhờ ng khác thôi :D. Nhưng con này có repaint k Bác. Nhìn quá khứ ảo lòi luôn.
May cho bác là em nó cũng thuộc dạng bình dị, không có repaint - phẫu thuật thẩm mỹ như mấy em indicator khác. :D
 

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

  • Mạc An trong Phân tích Forex - Vàng - Hàng hóa 1,660 Xem / 96 Trả lời
  • DuongHuy trong Hệ thống giao dịch - Trading system 37,517 Xem / 18 Trả lời
  • DuongHuy trong Phân tích Forex - Vàng - Hàng hóa 379 Xem / 29 Trả lời
  • Quíc Óp trong Phân tích Forex - Vàng - Hàng hóa 395 Xem / 18 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