Chuyên lập trình AmiBroker cho Giao dịch chứng khoán

Thứ 3, 01/07/2025

::

PM
Đầu tư chứng khoán khoa học trên nền tảng phân tích dữ liệu và thống kê
Foreign - truy cập dữ liệu mã tham chiếu
2023-05-23 06:49:00 1776 Lượt xem

    Foreign - truy cập dữ liệu mã tham chiếu

    CÚ PHÁP:

    foreign( TICKER, DATAFIELD, fixup = 1)

    TRẢ VỀ

    MẢNG

    CHỨC NĂNG

    Cho phép tham chiếu đến các mã chứng khoán khác (khác với mã hiện tại) trong các công thức AFL. TICKER là một chuỗi chứa mã chứng khoán. DATAFIELD xác định mảng nào được tham chiếu. Các trường dữ liệu cho phép: "O" (giá mở cửa), "H" (giá cao nhất), "L" (giá thấp nhất), "C" (giá đóng cửa), "V" (khối lượng giao dịch), "I" (lãi suất mở cửa), và từ phiên bản 5.29 trở lên: "1" (dữ liệu phụ 1), "2" (dữ liệu phụ 2)
    Tham số cuối cùng - fixup - có các giá trị sau đây

    • 0 - không sửa chữa các khoảng trống
    • 1 - giá trị mặc định - các thanh dữ liệu OHLC bị thiếu được điền bằng giá đóng cửa của thanh trước và khối lượng được đặt bằng không.
      Lưu ý: Bạn có thể sử dụng Foreign/RelStrength mà không cần chỉ định tham số cuối cùng:
      Foreign( "ticker", "field" ), RelStrength( "ticker" ) - sau đó các khoảng trống sẽ được sửa chữa.
    • 2 - (hành vi cũ trước phiên bản 4.90) - gây ra việc điền vào các khoảng trống trong dữ liệu bằng các giá trị O, H, L, C, V trước đó

    Trừ khi bạn biết bạn đang làm gì, bạn nên sử dụng giá trị MẶC ĐỊNH của tham số fixup (Fixup=1). Nếu bạn không sử dụng fixup=1, các khoảng trống dữ liệu sẽ có giá trị Null và bạn cần xử lý chúng một cách riêng.

    VÍ DỤ

    // VÍ DỤ 1:
    // Vẽ biểu đồ chênh lệch giữa biểu đồ hiện tại và biểu đồ của mã chứng khoán khác

    Graph0 = Close - Foreign( "MSFT", "Close" ) ;

    // VÍ DỤ 2:
    // Biểu đồ hiệu suất tương đối tích hợp

    _N( TickerList = ParamStr("Tickers", "^DJI,MSFT,GE") );
    NumBars = 20;
    fvb = Status("firstvisiblebar");
    Plot( 100 * ( C - C[ fvb ] ) / C[ fvb ], Name(), colorBlue );
    for( i = 0;

     ( symbol = StrExtract( TickerList, i ) ) != ""; i++ )
    {
      fc = Foreign( symbol, "C" );

      if( ! IsNull( fc[ 0 ] ) )
      {
         Plot( 100 * ( fc - fc[ fvb ] )/ fc[ fvb ],
                        
    symbol,
              colorLightOrange + ( (2*i) % 15 ),
              styleLine );
      }
    }
    PlotGrid( 0, colorYellow );
    _N( Title = "{{NAME}} - Hiệu suất tương đối [%]: {{VALUES}}" );

    Đọc thêm

    Thu gọn

    Bài viết khác:
    Zalo
    Hotline