Tìm kiếm sự giúp đỡ: Làm thế nào để ngăn chặn việc mua và bán hàng liên tục trên cùng một mạng K

Tác giả:Xionglonghui, Tạo: 2021-09-20 09:10:57, Cập nhật:

Do sự hạn chế của ngôn ngữ Ma, chúng ta phải thực hiện lại chiến lược này bằng JS.

Kể từ khi thực hiện lại chiến lược ngôn ngữ Mac với JS, nhiều vấn đề đã được phát hiện, trong hoạt động thực, phát hiện ra trên cùng một đường K, do sự biến động, sẽ mua lại 1-2 lần. dẫn đến tổn thất.

Hãy hỏi, làm thế nào mà ngôn ngữ Ma được thiết kế để tránh điều này, suy nghĩ logic chung là gì?

Hoặc: Tôi có cách nào với JS để ngăn chặn việc mua và bán hai lần trên cùng một K-line không? Bạn có muốn giải quyết bằng cách đặt hàng thời gian, nhưng thấy không có thời gian trong đơn đặt hàng được giao dịch, hãy sử dụng Date.parse ((new Date))) của JS để giải quyết thời gian đặt hàng, nếu bạn gặp phải việc đặt hàng không thành công, hoặc đặt hàng không được giao dịch, làm thế nào để giải quyết?


Thêm nữa

XionglonghuiCó một vấn đề khác, sử dụng mã dưới đây, là bạn có thể ngăn chặn giao dịch trên cùng một đường K không gây ra tổn thất do một chút biến động trên cùng một đường K liên tục. Nhưng có một vấn đề mới, sau khi cùng một đường K trơn hơn, bạn muốn ngay lập tức đảo tay, nó bị giới hạn, bạn phải đợi đến khi đường K tiếp theo mở. Mã như sau: if (before_record_time!= now_records.Time) // thời gian của K-line trước không bằng thời gian sai của K-line này, thì cho các K-line khác {C:$0000FF} Có thể viết ra một logic kinh doanh để mở tròn, và bạn sẽ không mở tròn nhiều lần trên cùng một đường K. ♪ Tôi sẽ giải quyết theo cách này: trước đây là một kho lưu trữ biến trên một K-line timestamp. Một thời gian đa chiều duo_before_record_time Một thời gian làm việc không hướng kong_before_record_time Nếu bạn làm nhiều hơn, hãy sử dụng giới hạn này, với cùng một đường K, và các đường không mở theo cùng một hướng sau khi ngang hàng. Mã như sau: if (duo_before_record_time!= now_records.Time) // thời gian của K-thread trước không bằng thời gian sai của K-thread này, thì cho các K-thread khác nhau {C:$0000FF} Có thể viết ra một logic kinh doanh để mở tròn, và bạn sẽ không mở tròn nhiều lần trên cùng một đường K. ♪ Khi tạo không gian, cũng hạn chế, không mở cùng một vị trí ngược lại sau khi ngang trên cùng một đường K if (kong_before_record_time!= now_records.Time) // thời gian của K-thanh trước không bằng thời gian sai của K-thanh này, thì cho các K-thanh khác {C:$0000FF} Có thể viết ra một logic kinh doanh để mở tròn, và bạn sẽ không mở tròn nhiều lần trên cùng một đường K. ♪ Như vậy, sau khi cùng một đường K ngang bằng, ngay lập tức có thể mở một vị trí theo hướng ngược lại nếu các điều kiện mở được đáp ứng. Nhưng không mở một vị trí theo cùng một hướng. (Dù điều kiện mở được đáp ứng, cũng không mở trên cùng một đường K) Câu hỏi của tôi hy vọng sẽ giúp bạn bè sau này.

Cỏ nhỏĐơn xin trả lời bạn.

Tâm hồn lạnh lẽoK-đường ngang là thời gian, nên giải quyết bằng thời gian.

XionglonghuiMã như sau: if (before_record_time!= now_records.Time) // thời gian của K-line trước không bằng thời gian sai của K-line này, thì cho các K-line khác {C:$0000FF} Có thể viết ra một logic kinh doanh để mở tròn, và bạn sẽ không mở tròn nhiều lần trên cùng một đường K.

XionglonghuiMột giải pháp tốt hơn được tìm thấy, trước tiên tuyên bố một biến để lưu giữ thời gian tròn của K dây mới nhất hiện tại tại mỗi lần đặt hàng (bất kể việc làm nhiều lần tròn, miễn là đơn đặt hàng được lưu trữ biến thể này), và sau đó quyết định thời gian tròn của lần đầu tiên mở không bằng thời gian tròn của K dây mới nhất hiện tại, nó có thể được giải quyết hoàn hảo. Phương pháp trước đó có lỗi, ví dụ như K dây đầu tiên đã mở, K dây thứ hai sụp đổ, nhưng không được giải quyết, phải chờ đến khi K dây thứ ba được giải quyết.

XionglonghuiNhân tiện, sử dụng exchange.GetOrders (().length>0 để xác định không có đơn đặt hàng chưa hoàn thành và lưu thời gian đặt hàng.

XionglonghuiSau khi tìm kiếm một thời gian dài, cuối cùng tôi đã tìm ra giải pháp, mã là: if (Math.abs ((before_order_time - now_records.Time)/1000 > now_period)) // Lần cuối cùng đặt theo thời gian thì trừ thời gian của dòng K hiện tại, chia cho 1000 để lấy số giây, lấy giá trị tuyệt đối của hai thứ khác nhau, nếu lớn hơn số giây của chu kỳ, thì không phải trên cùng một dòng K. // cần tự đặt biến before_order_time, chỉ lưu thời gian đặt hàng mỗi lần. before_order_time = Date.parse ((new Date)))); // ghi lại thời gian hiện tại // số giây của số chu kỳ, được lấy từ var now_period = _C ((exchange.GetPeriod); // lấy chu kỳ hiện tại, ví dụ 5 phút, 15 phút, 1 ngày, và trả về số giây.

Mùa hè không đánh bạn.Có thể ngăn chặn bằng cách sử dụng các dấu hiệu thời gian trong dữ liệu đường K. Nếu không có dấu hiệu thời gian tương tự, bạn có thể đặt hàng.