Các bác sửa giúp bộ đếm tín hiệu

Thảo luận trong 'Bàn luận về Amibroker, Metastock, Metatrader 4' bắt đầu bởi ABC1, 1/6/24.

Lượt xem : 508

  1. ABC1

    ABC1 New Member

    Tham gia ngày:
    17/4/24
    Bài viết:
    4
    Đã được thích:
    2
    Mình đang muốn đếm số lượng tín hiệu bán xuất hiện trước 1 tín hiệu mua. Bộ đếm sẽ trở về 0 nếu gặp 1 tín hiệu mua khác. Bác nào chỉ giúp.
     
    Chỉnh sửa cuối: 3/6/24
  2. Đang tải...

    Bài viết tương tự Diễn đàn Date
    Chào các bác ạ, có bác nào có code TDmacd cho amibroker không ạ Bàn luận về Amibroker, Metastock, Metatrader 4 25/6/24
    Nhờ các bác cao thủ sửa giúp e đoạn code sau Bàn luận về Amibroker, Metastock, Metatrader 4 24/6/24
    Xin các bác code lọc Tenkan Sen cắt Kijun Sen từ dưới lên Bàn luận về Amibroker, Metastock, Metatrader 4 27/10/23
    Nhờ các bác chỉ giúp e code adx ạ Bàn luận về Amibroker, Metastock, Metatrader 4 2/9/23
    Nhờ các bác sửa giúp bộ siêu lọc Ichimoku Bàn luận về Amibroker, Metastock, Metatrader 4 12/8/23

  3. Đoàn Đức Anh

    Đoàn Đức Anh New Member

    Tham gia ngày:
    26/8/21
    Bài viết:
    3
    Đã được thích:
    0
    Giới tính:
    Nam
    Bác gửi code lên đây thì mới hiểu và giúp được
     
  4. ABC1

    ABC1 New Member

    Tham gia ngày:
    17/4/24
    Bài viết:
    4
    Đã được thích:
    2
    Mình chạy thì vòng lặp chính báo lỗi out of range. Mục tiêu là đếm số lượng tín hiệu. Bác xem giúp.

    // Khởi tạo mảng SellSignalCountArray với giá trị 0
    SellSignalCountArray = Nz(0, BarCount);

    // Hàm đếm số tín hiệu bán trước khi có tín hiệu mua
    function CountSellSignalsBeforeBuy(signalBar)
    {
    local count;
    count = 0;

    // Đảm bảo signalBar nằm trong phạm vi hợp lệ
    if (signalBar > 0 AND signalBar < BarCount)
    {
    for (i = signalBar - 1; i >= 0; i--)
    {
    if (i >= 0 AND i < BarCount AND SellSignal)
    {
    count++;
    }
    else if (i >= 0 AND i < BarCount AND (BuySignal OR BuyPoint))
    {
    break;
    }
    }
    }

    return count;
    }

    // Vòng lặp chính, đảm bảo không truy cập vượt quá phạm vi mảng
    for (i = 0; i < BarCount; i++)
    {
    // Kiểm tra chỉ số i trước khi truy cập vào các phần tử mảng
    if (i >= 0 AND i < BarCount)
    {
    if (BuyPoint OR BuySignal)
    {
    // Kiểm tra chỉ số signalBar trước khi gọi hàm CountSellSignalsBeforeBuy
    if (i > 0 AND i < BarCount)
    {
    SellSignalCountArray = CountSellSignalsBeforeBuy(i);
    }
    }
    else
    {
    SellSignalCountArray = 0; // Đảm bảo tất cả các giá trị đều được khởi tạo
    }
    }
    }

    // Thêm cột để kiểm tra kết quả
    AddColumn(SellSignalCountArray, "Sell Signals Before Buy", 1);
     

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

Tags:

Chia sẻ trang này