Xin hỏi cách lấy ngày đạt MAX

Thảo luận trong 'Thảo luận chung' bắt đầu bởi NgMinh, 29/10/21.

Lượt xem : 1,672

  1. NgMinh

    NgMinh Member

    Tham gia ngày:
    27/10/21
    Bài viết:
    6
    Đã được thích:
    0
    Giới tính:
    Nam
    Xin các bạn tư vấn cách tìm ngày đạt đỉnh ( tìm ngày tương ứng với giá trị hàm HHV...). thanks
    upload_2021-10-29_11-5-55.png
     
  2. Đang tải...


  3. Danielkhanhnguyen

    Danielkhanhnguyen Well-Known Member

    Tham gia ngày:
    15/9/21
    Bài viết:
    133
    Đã được thích:
    105
    Giới tính:
    Nam
    Danielkhanhnguyen, via a mobile device, 30/10/21
    #2
    NgMinh and Hungtqhp like this.
  4. NgMinh

    NgMinh Member

    Tham gia ngày:
    27/10/21
    Bài viết:
    6
    Đã được thích:
    0
    Giới tính:
    Nam
    Cảm ơn bạn, đúng cái mình tìm. Mình tìm được ngày ứng với HHV nhưng còn lỗi sai ngày với LLV.
     
  5. NgMinh

    NgMinh Member

    Tham gia ngày:
    27/10/21
    Bài viết:
    6
    Đã được thích:
    0
    Giới tính:
    Nam
    Ngày tương ứng HHV thì đúng nhưng ngày LLV thì không đúng mà chưa hiểu lý do tại sao.( ngày LLV có giá đóng cửa 87.2 là ngày 4/10 trong khi nó báo là 2/11).
    upload_2021-11-8_11-8-20.png
     
    Chỉnh sửa cuối: 8/11/21
  6. Danielkhanhnguyen

    Danielkhanhnguyen Well-Known Member

    Tham gia ngày:
    15/9/21
    Bài viết:
    133
    Đã được thích:
    105
    Giới tính:
    Nam
    periods = Param( "Period", 20, 5, 200, 5 );

    dt = DateTime();

    hh = HHV( H, periods );
    nwhh = hh > Ref( hh, -1 ); // Detect new points where hhv is different from previous one
    dthh = ValueWhen( nwhh, dt, 1 ); // Assign the date where the above condition was true

    ll = LLV( L, periods );
    nwll = ll < Ref( ll, -1 ); // Same logic as hh
    dtll = ValueWhen( nwll, dt, 1 );

    Filter = 1;
    AddColumn( H, "High", 1.2 );
    AddColumn( hh, "HHV", 1.2 );
    AddColumn( IIf( nwhh, 1, Null ), "New HHV", 1 );
    AddColumn( dthh, "DT last HHV", formatDateTime, -1, -1, 150 );

    AddColumn( L, "Low", 1.2 );
    AddColumn( ll, "LLV", 1.2 );
    AddColumn( IIf( nwll, 1, Null ), "New LLV", 1 );
    AddColumn( dtll, "DT last LLV", formatDateTime, -1, -1, 150 );

    SetSortColumns( -2 ); // see most recent dates at top

    LastHHVDate = LastValue( dthh );
    LastLLVDate = LastValue( dtll );
    _TRACE( "Last HHV date: " + DateTimeToStr( LastHHVdate ) );
    _TRACE( "Last LLV date: " + DateTimeToStr( LastLLVdate ) );
     
    Hungtqhp and NgMinh like this.
  7. NgMinh

    NgMinh Member

    Tham gia ngày:
    27/10/21
    Bài viết:
    6
    Đã được thích:
    0
    Giới tính:
    Nam
    Mình dùng đoạn code này, nhưng ngày của LLV không đúng trong khi ngày của HHV thì ok, không hiểu làm sao.
     
  8. Danielkhanhnguyen

    Danielkhanhnguyen Well-Known Member

    Tham gia ngày:
    15/9/21
    Bài viết:
    133
    Đã được thích:
    105
    Giới tính:
    Nam
    đoạn code mình post trên, mình đã chỉnh sửa ở 2 dòng từ code gốc của Pepe, bạn chạy lại thử xem có ra kết quả đúng không?
    nwhh = hh > Ref( hh, -1 ); // Detect new points where hhv is different from previous one

    nwll = ll < Ref( ll, -1 ); // Same logic as hh

    bạn đọc về hàm ValueWhen của Amibroker thì sẽ hiểu vì sao nó chạy ra không đúng, và chỉnh sửa code lại để phù hợp với mục đích của bạn là được.

    ref link: http://www.amibroker.com/kb/2014/09/29/debugging-techniques-part-1-exploration/
     
    Chỉnh sửa cuối: 9/11/21
    Hungtqhp thích bài này.
  9. NgMinh

    NgMinh Member

    Tham gia ngày:
    27/10/21
    Bài viết:
    6
    Đã được thích:
    0
    Giới tính:
    Nam
    Thực sự là kỳ bí. ngày HHV đúng còn LLV vẫn lệch nhiều. Bank thử gán periods=20 xem.

    upload_2021-11-10_16-35-29.png
     
  10. Hungtqhp

    Hungtqhp Well-Known Member

    Tham gia ngày:
    17/8/21
    Bài viết:
    130
    Đã được thích:
    43
    Giới tính:
    Nam
    Cảm ơn bác.
     
  11. Danielkhanhnguyen

    Danielkhanhnguyen Well-Known Member

    Tham gia ngày:
    15/9/21
    Bài viết:
    133
    Đã được thích:
    105
    Giới tính:
    Nam
    Uhm, để mình kiểm tra lại xem sao. Mà mục đích của bạn là code cho Indicator hay code cho Automatic Analysis
     
    Danielkhanhnguyen, via a mobile device, 11/11/21
    #10
    Hungtqhp thích bài này.
  12. Danielkhanhnguyen

    Danielkhanhnguyen Well-Known Member

    Tham gia ngày:
    15/9/21
    Bài viết:
    133
    Đã được thích:
    105
    Giới tính:
    Nam
    Có lẽ đây là đoạn code mà bạn cần.
    Enjoy it!

    function GetDateTimeHHVorLLV(periods, type)
    {
    dtll = dthh = dt = DateTime();
    switch(type){
    case "HHV":
    for(i = BarCount; i>= BarCount - periods; i--){
    hh = HHV(H, periods);
    nwhh = hh > Ref(hh, -1);
    dthh = ValueWhen( nwhh, dt, 1 );
    dt = dthh;
    }
    break;
    case "LLV":
    for(i = BarCount; i>= BarCount - periods; i--){
    ll = LLV(L, periods);
    nwll = ll < Ref(ll, -1);
    dtll = ValueWhen( nwll, dt, 1 );
    dt = dtll;
    }
    break;
    }

    return dt;
    }

    periods = Param("Periods", 20, 10, 100);

    hh = HHV( H, periods );
    nwhh = hh > Ref( hh, -1 ); // Detect new points where hhv is different from previous one
    //dthh = ValueWhen( nwhh, dt, 1 ); // Assign the date where the above condition was true

    ll = LLV( L, periods );
    nwll = ll < Ref( ll, -1 ); // Same logic as hh
    //dtll = ValueWhen( nwll, dt, 1 );

    dtHHV = GetDateTimeHHVorLLV(periods, "HHV");
    dtLLV = GetDateTimeHHVorLLV(periods, "LLV");

    Buy = Sell = Short = Cover = 0;

    Filter = 1;
    AddColumn( H, "High", 1.2 );
    AddColumn( hh, "HHV", 1.2 );
    AddColumn( IIf( nwhh, 1, Null ), "New HHV", 1 );
    AddColumn(dtHHV, "dt_HHV", formatDateTime, -1, -1, 150 );

    AddColumn( L, "Low", 1.2 );
    AddColumn( ll, "LLV", 1.2 );
    AddColumn( IIf( nwll, 1, Null ), "New LLV", 1 );
    AddColumn(dtLLV, "dt_LLV", formatDateTime, -1, -1, 150);

    SetSortColumns(-2);

    upload_2021-11-11_21-44-53.png
     
    Hungtqhp thích bài này.
  13. Danielkhanhnguyen

    Danielkhanhnguyen Well-Known Member

    Tham gia ngày:
    15/9/21
    Bài viết:
    133
    Đã được thích:
    105
    Giới tính:
    Nam
    Ted Pham and Hungtqhp like this.

Lượt bình luận : 11

Chia sẻ trang này