@ Bố trí; Bạn có thể vui lòng giúp tôi với việc chuyển đổi mã Tradestation tiếp theo thành MT4: Chèn Mã Choppy Market Index Chức năng Hàm này trả về giá trị 0-100. Giá trị nhỏ hơn biểu thị sự thiếu quyết đoán thị trường cao hơn (choppiness), trong khi giá trị cao hơn biểu thị thị trường xu hướng. Đầu vào đơn là số lượng các quán rượu mà chúng ta nhìn lại. Đầu vào: periodLength (Numeric); Vars: num (0), denom (1); if (periodLengthlt; gt; 0) sau đó bắt đầu denom = Cao nhất (Cao, periodLength) - Thấp nhất (Thấp, periodLength); num = Đóng # 91; periodLength-1Number93; -- Gần; num = AbsValue (num); ChoppyMarketIndex = 0,0; nếu (denomlt; gt; 0) thì ChoppyMarketIndex = numdemon * 100; kết thúc; Bạn có nhận thấy chức năng này được tạo thành từ các mục đích khác nhau (khối xây dựng) không? Chúng tôi tính toán denom (mẫu số) bằng cách sử dụng các hàm Cao nhất và Thấp nhất. Chúng tôi tính toán num (tử số) bằng cách sử dụng hàm AbsValue (trả về giá trị tuyệt đối của một số). Đoạn mã phức tạp duy nhất trong hàm này có lẽ là: Mã được chèn Đóng # 91; periodLength-1 # 93; - Gần bạn có thể hỏi tại sao chúng ta trừ 1 trong chu kỳ thời gian. Đây là một câu hỏi tuyệt vời. Nếu bạn kết hợp giá đóng cửa cho một số phép tính, thì giá cuối cùng 30 ngày qua sẽ được tham chiếu bằng Đóng [29]. Xin lưu ý rằng Đóng [1] là giá đóng cửa ngày hôm qua không phải hôm nay. Vì chúng ta cần chỉ số của chúng tôi chảy từ 0 đến 100, chúng tôi loại bỏ dấu hiệu tiêu cực của một động thái giảm trên thị trường. Chúng tôi chỉ quan tâm đến khoảng cách tuyệt đối. Đây là những gì tôi đã đưa ra, nhưng không chắc chắn nó được mã hóa chính xác: Chèn Mã đôi ChoppyMarketIndex (int periodLength) double num = 0; double denom = 0 if (periodLength! = 0) denom = Cao # 91; iHighest (Ký hiệu (), PERIOD_D1, MODE_HIGH, periodLength, 0) # 93; - Thấp # 91; iLowest (Biểu tượng (), PERIOD_D1, MODE_LOW, periodLength, 0) Number93 ;; num = Đóng # 91; periodLength-1 # 93; - Đóng # 91; 1 # 93 ;; num = MathAbs (num);/denom = MathAbs (denom); if (denom! = 0) return (NormalizeDouble (numdenom * 100,0)); Cảm ơn trước,