1. 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

    Thảo luận trong 'Trao đổi - Chia sẻ về Trading' bắt đầu bởi Bianas, 11/5/17.. Trả lời: 16, lượt xem: 1874.

    Bianas Bianas
    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.

    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​
     

    Các file đính kèm:

    • xpMA.mq4
      Kích thước:
      4.7 KB
      Đọc:
      173
    Chỉnh sửa cuối: 12/5/17
    Đang tải...
  2. dmh

    dmh

    Bài viết:
    56
    Đã được thích:
    15
    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
     
    Danh Duc thích bài này.
  3. gnolmon

    gnolmon

    Bài viết:
    3
    Đã được thích:
    4
    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
     
  4. Bianas

    Bianas

    Bài viết:
    31
    Đã được thích:
    128
    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.
     
  5. Bianas

    Bianas

    Bài viết:
    31
    Đã được thích:
    128
    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.
     
    Kenji Ho thích bài này.
  6. Liem Le

    Liem Le

    Bài viết:
    7
    Đã được thích:
    1
    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
     
  7. Jaguar696

    Jaguar696

    Bài viết:
    14
    Đã được thích:
    6
    Tôi cũng là fan của MA
    thanks indicator của bác :)
     
  8. Bianas

    Bianas

    Bài viết:
    31
    Đã được thích:
    128
    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 cuối: 13/5/17
    Khánh Trình thích bài này.
  9. Bianas

    Bianas

    Bài viết:
    31
    Đã được thích:
    128
    Anh em xài MA như thế nào cùng comment cho anh em học hỏi đi ạ :D!
     
  10. Liem Le

    Liem Le

    Bài viết:
    7
    Đã được thích:
    1
    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.
     
  11. Hải Iko

    Hải Iko

    Bài viết:
    23
    Đã được thích:
    25
  12. Bianas

    Bianas

    Bài viết:
    31
    Đã được thích:
    128
    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
     
  13. Bianas

    Bianas

    Bài viết:
    31
    Đã được thích:
    128
    Danh Duc thích bài này.
  14. Liem Le

    Liem Le

    Bài viết:
    7
    Đã được thích:
    1
    Em backtest thì có repaint nha Bác.:(. Hèn gì nhìn quá khứ ảo quá ảo
     
  15. Bianas

    Bianas

    Bài viết:
    31
    Đã được thích:
    128
    Danh Duc thích bài này.
  16. xuanduoc

    xuanduoc

    Bài viết:
    1
    Đã được thích:
    0
    bác xem bằng phần mềm gì vậy?
     
  17. Bianas

    Bianas

    Bài viết:
    31
    Đã được thích:
    128
    Ý bác hỏi xem gì ạ :eek:?