Mảng ngoài phạm vi? Cứu giúp?
Results 1 to 9 of 9

Thread: Mảng ngoài phạm vi? Cứu giúp?

  1. #1
    EDIT: Đây là sửa chữa của bạn nhờ Johnvanwijk!
    https://www.forexibroker.com/trading...dom-calls.html


    Này bạn,
    Vì vậy, tôi đã cố gắng để rút ra một số điều tuy nhiên nó mang lại cho tôi lỗi Array ra khỏi phạm vi.
    Nó kéo mũi tên màu xanh lá cây hoàn toàn tuy nhiên mũi tên màu đỏ sẽ không hoạt động.

    Nếu ai đó có thể cho tôi biết tôi đang làm gì sai thì nó sẽ thật tuyệt vời.

    Không phải vì tôi đang cố gắng để có được nến mà không có ở đó hoặc ở tất cả như xa như tôi biết.
    Tôi nhận được rằng một số người có thể nói rằng nó đang đi quá khứ có thể truy cập thanh nhưng tôi đã thử nghiệm ngay cả với một giới hạn của 1000 mà tôi chắc chắn biểu đồ của tôi có và nó vẫn mang lại cho tôi ra khỏi phạm vi.

    Đây là mã:

    Đã chèn mã/ --------------------------------------------- --------------------- /| FractalsExercise.mq4 |/| |/| https://www.mql5.com |/p ----------------------------------------------- ------------------- #property copyright #property Siêu liên kết https://www.mql5.com #property variant 1.00 #property strict #property indior_chart_window double Highs # ​​91; # 93 ;; dual Lows # 91; # 93 ;;/ ----------------------------------------------- ------------------- /| Chức năng khởi tạo chỉ báo tùy chỉnh |/ ----------------------------------------------- ------------------- int OnInit ()/- vẽ thời trang SetIndexStyle (0, DRAW_ARROW, EMPTY, 1, clrGreen); SetIndexArrow (0, 234); SetIndexStyle (1, DRAW_ARROW, EMPTY, 1, clrRed); SetIndexArrow (1, 233);/- bộ đệm chỉ báo SetIndexBuffer (0, Cao); SetIndexBuffer (1, Thấp);/- return (INIT_SUCCEEDED);/ ----------------------------------------------- ------------------- /| Chức năng lặp chỉ số tùy chỉnh |/ ----------------------------------------------- ------------------- int OnCalculate (const int rates_total, const int prev_calculated, const datetime time # 91; # 93 ;, const double available # 91; # 93; , const cao gấp đôi # 91; # 93 ;, const double non # 91; # 93 ;, const double shut # 91; # 93 ;, const mở rộng tick_volume # 91; # 93 ;, const dài volume # 91; # 93; , const int lây lan # 91; # 93; -RRB-/- int I = 1; int ii = 1; int Restrict = Bars - 1; trong khi (I lt; Restrict) nếu (Cao # 91; t # 93) ; gt; Cao # 91; t 1 # 93; -RRB- nếu (Cao # 91; t # 93; gt; Cao # 91; I - 1 # 93; -RRB- Mẹo # 91; I # 93; = Cao # 91; I # 93 ;; I ; trong khi (ii lt; Hạn chế) nếu (Thấp # 91; 93 # 93; lt; Chi phí Thấp # 91; 93 1 # 93; -RRB- nếu (Thấp # 91; 91 # 93; lt; Thấp Chi phí # 91; 91 - 1 # 93; -RRB- Mẹo số 91; 93 # 93; = Thấp # 91; 93 # 93 ;; ii ;/- giá trị trả về của prev_calculated cho lần trả về cuộc gọi tiếp theo (rate_total);/ ----------------------------------------------- -------------------

    Cảm ơn!

  2. #2
    Nếu tôi chia các vòng trong khi thành hai chỉ báo, nó hoạt động không chỉ một lỗi mà không phải khi chúng ở trong đó cùng nhau. Nó không truy cập bất cứ thứ gì không có ở đó. Vì vậy, tôi không chắc chắn lý do tại sao nó nói rằng nó nằm ngoài phạm vi.

  3. #3

    Quote Originally Posted by ;
    Hey guys, Vì vậy, tôi đã cố gắng để vẽ một số điều tuy nhiên nó mang lại cho tôi lỗi Array ra khỏi phạm vi. Nó kéo mũi tên màu xanh lá cây tuyệt đối rằng các mũi tên sẽ không hoạt động. Nếu ai đó có thể cho tôi biết chính xác những gì tôi đang làm sai nó sẽ là tuyệt vời. Bởi vì tôi đang cố gắng để có được ở tất cả hoặc nến mà không có được nêu ra như xa như tôi hiểu, nó không phải. Tôi nhận được rằng một số người có thể nói rằng nó vượt ra ngoài các quán bar có sẵn nhưng tôi đã thử nghiệm ngay cả khi tôi tin rằng biểu đồ của tôi chứa và nó cung cấp cho tôi ra khỏi phạm vi. Đây là mã:// ----------------------------------------- ------------------------- ...
    Trong mỗi vòng lặp, cố gắng phá vỡ nó với một cái gì đó giống như hình minh họa dưới đây để ngăn chặn để vượt ra ngoài các Bars có sẵn: Chèn Mã nếu (I gt; = Bars-1) phá vỡ; Mã được chèn nếu (ii gt; = Bars-1) ngắt;

  4. #4
    1 Tệp đính kèm
    Quote Originally Posted by ;
    quote Trong mỗi vòng lặp, cố gắng chia nó bằng cách sử dụng một cái gì đó giống như ví dụ dưới đây để ngăn chặn để đi qua các Bars có sẵn: if (I gt; = Bars-1) break; nên (ii gt; = Bars-1) break;
    Từ những gì tôi có thể thấy đó là giới hạn của tôi nhưng tôi đã chèn nó vào mã chỉ để kiểm tra và thử nó ở nhiều nơi, tuy nhiên lỗi vẫn tồn tại. Tôi thành thật bối rối là tại sao nó lại cho tôi lỗi. Đây là một bức tranh về kết quả cho đến bây giờ. Nó sẽ làm tương tự với các mũi tên cho các mức thấp nhất. Bạn cũng có thể thấy sai lầm chỉ để cung cấp cho mọi người một ý tưởng.

  5. #5

    Quote Originally Posted by ;
    Trích dẫn Từ những gì tôi có thể thấy đó là chính xác những gì giới hạn của tôi đã tuy nhiên tôi chèn nó vào mã chỉ để kiểm tra và thử nó ở một số nơi tuy nhiên lỗi vẫn tiếp tục. Tôi thành thật bối rối là tại sao nó lại cho tôi lỗi. Đây là một hình ảnh của kết quả cho đến nay. Nó phải làm tương tự với các mũi tên chỉ lên đến mức thấp nhất của bạn. Bạn cũng có thể quan sát sai lầm chỉ đơn giản là đưa ra ý tưởng cho mọi người. hình ảnh
    Dòng nào là 71?

  6. #6

    Quote Originally Posted by ;
    Trích dẫn Dòng nào là 71?
    Đó có thể là Mức thấp [ii] = Giảm [ii]; trong vòng lặp thứ hai.

  7. #7
    Hi AntiVi, bạn phải cho biết số lượng bộ đệm được yêu cầu .... Sự thay đổi sau trong phần đầu của mã (sau #property indior_chart_window) làm cho nó hoạt động tốt .... #property indior_buffers 2 Chúc mừng! John chèn mã/ -------------------------------------------- ---------------------- /| FractalsExercise.mq4 |/| AntiVi |/| https://www.mql5.com |/ ----------------------------------------------- ------------------- #property bản quyền AntiVi #property liên kết https://www.mql5.com #property variant 1.00 #property nghiêm ngặt #property indior_chart_window/START ADDED JvW #property indior_buffers 2/END THÊM JvW đúp Highs # ​​91; # 93 ;; dual Lows # 91; # 93 ;;/ ----------------------------------------------- ------------------- /| Chức năng khởi tạo chỉ báo tùy chỉnh |/ ----------------------------------------------- ------------------- int OnInit ()/- kiểu vẽ SetIndexStyle (0, DRAW_ARROW, EMPTY, 1, clrGreen); SetIndexArrow (0, 234); SetIndexStyle (1, DRAW_ARROW, EMPTY, 1, clrRed); SetIndexArrow (1, 233);/- bộ đệm chỉ báo SetIndexBuffer (0, Cao); SetIndexBuffer (1, Thấp);/- return (INIT_SUCCEEDED);/ ----------------------------------------------- ------------------- /| Chức năng lặp chỉ số tùy chỉnh |/ ----------------------------------------------- ------------------- int OnCalculate (const int rates_total, const int prev_calculated, const datetime period # 91; # 93 ;, const double open # 91; # 93; , const double top # 91; # 93 ;, const double low # 91; # 93 ;, const double shut # 91; # 93 ;, const dài tick_volume # 91; # 93 ;, const dài volume # 91; # 93; , const int phân tán # 91; # 93; -RRB-/- int I = 1; int ii = 1; int Restrict = Bars - 1; trong khi (I lt; Restrict) nếu (Cao # 91; t # 93) ; gt; Cao # 91; t 1 # 93; -RRB- nếu (Cao # 91; t # 93; gt; Cao # 91; I - 1 # 93; -RRB- Mức cao # 91; I # 93; = Cao # 91; I # 93 ;; I ; trong khi (ii lt; Hạn chế) nếu (Thấp # 91; 93 # 93; lt; Thấp # 91; 93 1 # 93; -RRB- nếu (Thấp # 91; ii # 93; lt; Thấp # 91; ii - 1 # 93; -RRB- Mức thấp # 91; 93 # 93; = Thấp # 91; 93 # 93 ;; ii ;/- giá trị trả về của prev_calculated cho năng suất cuộc gọi thứ hai (rate_total);/ ----------------------------------------------- -------------------

  8. #8

    Quote Originally Posted by ;
    Trích dẫn Bạn là một thiên tài. Tôi không thể tin rằng sửa chữa là đơn giản. Làm điều đó cho mình học tập và tôi sẽ đổ lỗi cho sự thiếu kinh nghiệm của riêng tôi cho việc này. Tôi đã dành 5 giờ để cố gắng tìm ra và tất cả những gì tôi tìm thấy là cách giải quyết mà không khắc phục được gì. Tôi sẽ chỉnh sửa bài đăng để thêm bản sửa lỗi để mọi người có thể tìm thấy câu trả lời nếu họ bận tâm tìm kiếm nó! Cảm ơn bạn rất nhiều!
    Hi AntiVi, Cùng với đó mà john đã chia sẻ, bạn cũng muốn nhận được trong thói quen sử dụng thông tin được truyền như args vào mục đích OnCalculate thay vì dựa vào thông tin từ các built in vars. Ngoài ra, bạn muốn chắc chắn rằng bạn đang thực hiện của bạn. Bạn không cần phải xử lý toàn bộ vòng lặp (tất cả dữ liệu biểu đồ) trên mọi dấu tích. Bạn chỉ cần xử lý phần dữ liệu chỉ số yêu cầu cập nhật. Đây là một minh họa tốt về cách sử dụng hàm OnCalculate này. Đã chèn Mã #property strictproperty indior_chart_window/START ADDED JvW #property indior_buffers 2/END THÊM JvW double Highs # ​​91; # 93 ;; đôi tay # 91; # 93 ;;/THÊM----------------------------------------------- ------------------- /| Chức năng khởi tạo chỉ báo tùy chỉnh |/ ----------------------------------------------- ------------------- int OnInit ()/- vẽ thời trang SetIndexStyle (0, DRAW_ARROW, EMPTY, 1, clrGreen); SetIndexArrow (0,234); SetIndexStyle (1, DRAW_ARROW, EMPTY, 1, clrRed); SetIndexArrow (1,233);/- bộ đệm chỉ báo SetIndexBuffer (0, Cao); SetIndexBuffer (1, Thấp); return (INIT_SUCCEEDED);/ ----------------------------------------------- ------------------- /| Chức năng lặp chỉ số tùy chỉnh |/ ----------------------------------------------- ------------------- int OnCalculate (const int rates_total, const int prev_calculated, const datetime period # 91; # 93 ;, const double open # 91; # 93; , const cao gấp đôi # 91; # 93 ;, const double non # 91; # 93 ;, const double close # 91; # 93 ;, const mở rộng tick_volume # 91; # 93 ;, const dài volume # 91; # 93; , const int phân tán # 91; # 93; -RRB-/- int limit = rates_total - prev_calculated - hai; giới hạn = giới hạn lt; 1? 1: giới hạn; cho (int i = giới hạn; I gt; 0; I -) nếu (cao # 91; I # 93; gt; lớn # 91; I 1 # 93; lớn # 91; I # 93; gt; lớn # 91; i-1 # 93; -RRB- Mức cao # 91, I # 93; = lớn # 91; s # 93 ;; nên (thấp # 91; I # 93; lt; low-carb91; I 1 # 93; low-carb91; I # 93; lt; low- carb91; i-1 # 93; -RRB- Mẹo # 91; I # 93; = giá trị thấp # 91; t # 93 ;;/- giá trị trả về của prev_calculated cho lợi tức cuộc gọi thứ hai (rate_total );

  9. #9

    Quote Originally Posted by ;
    Xin chào, bạn nên cho biết có bao nhiêu bộ đệm được yêu cầu .... Sự thay đổi tiếp theo trong phần bắt đầu trong mã của bạn (sau #property indior_chart_window) làm cho nó hoạt động tốt ... #property indior_buffers hai Chúc mừng thưởng thức! John/p ---------------------------------------------- -------------------- /| FractalsExercise.mq4 |/| |/|
    https://www.mql5.com|/p ----------------------------------------------- ------------------- #property copyright #property liên kết https://www.mql5.com #property phiên bản 1.00 #property nghiêm ngặt #property ...
    Ngài là một thiên tài. Tôi không thể nghĩ rằng việc sửa chữa thực sự đơn giản. Tôi sẽ đổ lỗi cho sự thiếu kinh nghiệm của chính tôi và tự học nó. Tôi đã dành 5 giờ cố gắng để tìm ra nó và tất cả những gì tôi tìm thấy là những cách giải quyết không khắc phục được gì. Tôi sẽ chỉnh sửa bài đăng đầu tiên để thêm bản sửa lỗi để mọi người có thể tìm thấy câu trả lời đơn giản nếu họ bận tâm tìm kiếm nó! Cảm ơn bạn rất nhiều!

Quyền đăng bài

  • Bạn không thể đăng bài viết mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng tệp đính kèm
  • Bạn không thể chỉnh sửa bài đăng của bạn
  •  
Chính sách Cookie
Chính sách Cookie: Website forexibroker sử dụng cookies và khi tiếp tục sử dụng website bạn chấp thuận với điều này. Để có thêm thông tin, vui lòng đọc 'Thông tin Cookie'.