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ê
SetForeign - thay thế mảng giá trị hiện tại bằng mảng giá trị của chứng khoán tham chiếu
2023-05-23 08:04:00 1429 Lượt xem

    SetForeign - thay thế giá trị hiện tại bằng giá trị của chứng khoán tham chiếu

    CÚ PHÁP

    SetForeign( ticker, fixup = True, tradeprices = False )

    TRẢ VỀ

    SỐ

    CHỨC NĂNG

    Hàm SetForeign thay thế mảng giá trị/volume hiện tại bằng mảng giá trị/volume của chứng khoán ngoại, trả về True (1) nếu ticker tồn tại, False (0) nếu không tồn tại.
    Nếu ticker không tồn tại (và hàm trả về giá trị false), mảng giá trị không thay đổi.

    Tham số fixup kiểm soát xem liệu các lỗ dữ liệu có được điền bằng dữ liệu của thanh trước hay không.

    • 0 - không điền lỗ
    • 1 - giá trị mặc định - các trường OHLC của thanh dữ liệu thiếu sẽ được điền bằng giá Close của thanh trước và khối lượng được đặt thành không.
    • 2 - (hành vi cũ trước phiên bản 4.90) - làm cho việc điền các lỗ trong dữ liệu bằng các giá trị O, H, L, C, V của thanh trước

    Tham số tradeprices kiểm soát xem các mảng giá giao dịch có nên được thay thế hay không. Nếu được đặt thành TRUE, không chỉ các mảng OHLC, V, OI, Avg được đặt thành giá trị của chứng khoán ngoại, mà còn các biến BuyPrice, SellPrice, ShortPrice, CoverPrice, PointValue, TickSize, RoundLotSize, MarginDeposit cũng được đặt để tương ứng với chứng khoán ngoại. Điều này cho phép hàm Equity() hoạt động tốt với SetForeign.

    Một lời gọi SetForeign( "ticker" ) tương đương với chuỗi lệnh sau:

    C = Foreign( "ticker", "C" );
    O = Foreign( "ticker", "O" );
    H = Foreign( "ticker", "H" );
    L = Foreign( "ticker", "L" );
    V = Foreign( "ticker", "V" );
    OI = Foreign( "ticker", "I" );
    Avg = ( C + H + L )/3;
    nhưng nhanh gấp 6 lần (SetForeign mất khoảng thời gian tương tự như một lời gọi Foreign duy nhất). Để khôi phục giá trị gốc, gọi hàm RestorePriceArrays()

    VÍ DỤ:

    // Ví dụ 1: Vẽ chỉ báo sử dụng dữ liệu chứng khoán ngoại
    SetForeign("MSFT");
    Plot( Ultimate(), "Ultimate từ MSFT", colorRed );
    RestorePriceArrays();
    // Ví dụ 2: Sử dụng SetForeign với hàm Equity
    SetForeign("MSFT", True, True );
    Buy = Cross( MACD(), Signal());
    Sell = Cross( Signal(), MACD());
    e = Equity(); // backtest trên MSFT
    RestorePriceArrays( True ); // <- phải khớp với tham số được sử dụng trong SetForeign

    Đọc thêm

    Thu gọn

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