Hướng dẫn sử dụng FX Blue Personal Trade Copier cho MT5

Bộ công cụ Personal Trade Copier cho phép sao chép giao dịch giữa các nền tảng MT4 và MT5 được cài đặt trên cùng một máy tính. Chỉ cần sử dụng EA của MT4 trong MT4 và EA của MT5 trong MT5. Hỗ trợ mọi sàn môi giới. Việc sao chép gần như diễn ra ngay lập tức, chỉ bị giới hạn bởi tốc độ của sàn.

Công cụ này cung cấp hàng trăm tùy chọn cài đặt, bao gồm khả năng thay đổi khối lượng lệnh và mức độ rủi ro, đảo ngược hướng giao dịch, kiểm soát giao dịch nào được sao chép và thậm chí mở rộng tính năng bằng cách thêm mã MQL của riêng bạn.

Mục lục

1. Tổng quan về Personal Trade Copier

1.1 Mục đích của công cụ sao chép giao dịch

Personal Trade Copier là một công cụ sao chép giao dịch giữa hai (hoặc nhiều) phiên bản MT4 hoặc MT5 chạy trên cùng một máy tính. Các giao dịch được thực hiện trên một phiên bản MT4/5 sẽ được sao chép gần như ngay lập tức sang phiên bản khác. Công cụ này hỗ trợ sao chép cả giao dịch thủ công và giao dịch tự động.

Có các phiên bản phần mềm riêng biệt cho MT4MT5, nhưng chúng hoàn toàn tương thích với nhau. Bạn có thể gửi giao dịch giữa bất kỳ sự kết hợp nào của các tài khoản MT4 và MT5.

Trong MT5, công cụ này có thể sử dụng trên cả tài khoản hedgingnetting, nhưng tài khoản netting yêu cầu một số bước thiết lập đặc biệt.

Bạn có thể sao chép từ nhiều phiên bản MT4/5 vào một tài khoản nhận duy nhất, hoặc ngược lại, bằng cách chạy nhiều bản sao của công cụ gửi và nhận.

Phiên bản MT4/5 dùng để gửi không cần khả năng đặt lệnh. Vì vậy, bạn có thể đăng nhập vào phiên bản gửi bằng mật khẩu “nhà đầu tư” (investor password) chỉ để xem.

1.2 Bản quyền

Trừ khi được FX Blue quy định bằng văn bản, phần mềm này chỉ được cấp phép sử dụng cho mục đích cá nhân. Bạn không được phép phân phối phần mềm này cho người khác, bất kể có phát sinh giao dịch tiền bạc hay không. Bạn chỉ được phép sử dụng phần mềm này nếu chính bạn đã tải xuống từ trang web của FX Blue.

Bạn không được phép sử dụng Personal Trade Copier làm nền tảng cho dịch vụ sao chép giao dịch thương mại. Bạn có thể sử dụng phần mềm này cho gia đình và bạn bè, nhưng không được sử dụng để sao chép giao dịch vào tài khoản của người khác nhằm đổi lại bất kỳ hình thức thanh toán nào. Trong trường hợp đó, bạn nên sử dụng Trade Mirror của chúng tôi.

Phần mềm này được cung cấp hoàn toàn dưới sự tự chịu rủi ro của người dùng, và bạn nên kiểm tra kỹ trước khi triển khai trên các máy tính giao dịch bằng tiền thật. FX Blue không chịu bất kỳ trách nhiệm nào đối với mọi tổn thất dưới bất kỳ hình thức nào gây ra bởi việc cài đặt hoặc sử dụng phần mềm này.

1.3 Câu hỏi thường gặp
1.3.1 Tôi có thể sao chép đến/từ nhiều tài khoản không?

Có! Vui lòng xem mục 2.4 để biết cách thiết lập nhiều công cụ gửi hoặc nhiều công cụ nhận.

1.3.2 Tôi có thể giao dịch từ điện thoại không?

Có, bạn có thể giao dịch từ điện thoại với điều kiện bạn cũng đang chạy Personal Trade Copier trên phiên bản MT4/5 cài đặt trên máy tính để bàn (trên máy tính cá nhân tại nhà hoặc VPS). Bất kỳ giao dịch nào bạn thực hiện từ điện thoại sẽ được phiên bản MT4/5 trên máy tính phát hiện và sao chép.

1.3.3 Tôi nên sử dụng Trade Mirror hay Personal Trade Copier?

Khi có thể, bạn nên sử dụng Personal Trade Copier thay vì Trade Mirror. Personal Trade Copier dễ thiết lập hơn và sao chép giao dịch nhanh hơn vì không cần phải gửi tín hiệu qua internet.

Nếu bạn kiểm soát tất cả các tài khoản nhận giao dịch, bạn nên sử dụng Personal Trade Copier. Ví dụ:

  • Bạn sao chép giao dịch cho các tài khoản MT4/5 của các thành viên trong gia đình.
  • Trên máy tính (hoặc VPS), bạn cài đặt MT4/5 cho từng thành viên trong gia đình.
  • Các thành viên trong gia đình vẫn có thể chạy bản sao của MT4/5 riêng (hoặc giao dịch qua điện thoại). Có thể có nhiều bản sao MT4/5 đăng nhập cùng một tài khoản từ các vị trí khác nhau.
  • Bạn sử dụng Personal Trade Copier để sao chép giao dịch giữa các bản cài đặt MT4/5 trên máy tính của bạn.
  • Các thành viên trong gia đình nhận giao dịch sao chép mà không làm gián đoạn việc họ chạy bản sao của MT4/5 trên cùng tài khoản.

Tuy nhiên, bạn cũng cần lưu ý các điều kiện cấp phép. Bạn không được phép sử dụng Personal Trade Copier như một phần của dịch vụ thương mại. Trong trường hợp đó, bạn phải sử dụng Trade Mirror.

1.3.4 Tôi có thể đăng nhập vào tài khoản sàn giao dịch bằng mật khẩu “nhà đầu tư” chỉ đọc không?

Tài khoản Sender có thể đăng nhập vào MT4/5 bằng mật khẩu “nhà đầu tư” chỉ đọc, vì EA của Sender không thực hiện giao dịch.

Tài khoản Receiver không thể đăng nhập bằng mật khẩu “nhà đầu tư” chỉ đọc. EA của Receiver cần phải thực hiện giao dịch, vì vậy MT4/5 phải đăng nhập bằng mật khẩu tài khoản chính.

1.3.5 Tôi có thể sao chép giữa tài khoản demo và tài khoản giao dịch thật không?

Có, bạn có thể sao chép giữa bất kỳ sự kết hợp nào của tài khoản demo và tài khoản giao dịch thật (demo->demo, demo->live, live->demo, live->live).

1.3.6 Tôi có thể sao chép giữa các tài khoản từ các sàn môi giới khác nhau không?

Có, bạn có thể sao chép giữa bất kỳ tài khoản MT4/5 nào từ các sàn môi giới MT4/5 khác nhau.

Tuy nhiên, nếu bạn gửi tín hiệu giữa các sàn môi giới khác nhau, khả năng bạn sẽ cần thay đổi hai cài đặt trong công cụ sao chép:

  • Thay đổi độ trượt giá (slippage tolerance) vì sự khác biệt giá giữa các sàn.
  • Thêm các bản dịch cho các tên ký hiệu khác nhau giữa các sàn.
1.3.7 Làm thế nào để giao dịch với cùng một kích thước lệnh trên tài khoản gửi và tài khoản nhận?

Mặc định, công cụ sao chép không nhất thiết giao dịch với cùng một kích thước lệnh trên tài khoản nhận như trên tài khoản gửi. Hành vi mặc định của nó là điều chỉnh kích thước lệnh dựa trên vốn chủ sở hữu tương đối của hai tài khoản.

Nếu bạn muốn giao dịch với cùng một kích thước lệnh, mặc dù điều này có thể dẫn đến mức độ rủi ro rất khác nhau giữa tài khoản gửi và tài khoản nhận, bạn cần làm theo các bước sau:

  • Tắt UseRiskFactor bằng cách đặt giá trị là 0.
  • Đặt LotSizeMultiplier là 1.

Vui lòng tham khảo phần hướng dẫn về kích thước lệnh để biết thêm chi tiết.

1.3.8 Tôi có cần một Máy chủ Riêng Ảo (VPS) không?

Personal Trade Copier không phụ thuộc vào sàn môi giới và có thể sử dụng với bất kỳ sàn nào. Nó hoạt động bằng cách thực hiện giao dịch qua một bản sao của MT4 hoặc MT5 đang chạy, chứ không phải trực tiếp vào tài khoản sàn giao dịch – điều này sẽ yêu cầu sự hợp tác của từng sàn và không còn tính độc lập.

Vì vậy, Personal Trade Copier yêu cầu các bản sao của MT4/MT5 phải luôn chạy. Chúng có thể được cài đặt trên máy tính cá nhân của bạn, nhưng sẽ thuận tiện hơn nếu sử dụng một VPS.

Nếu bạn sử dụng VPS, nó phải là một VPS thật sự, không phải dịch vụ hosting chia sẻ. Vui lòng tham khảo bài viết của chúng tôi về các loại VPS khác nhau.

Thuê VPS tại đây

2 Cài đặt và vận hành Personal Trade Copier

2.1 Cài đặt công cụ sao chép giao dịch

Bạn cần cài đặt hai (hoặc nhiều hơn) bản sao của MT4/MT5 trên cùng một máy tính.

Để tạo nhiều bản cài đặt MT4/MT5 từ cùng một nhà môi giới, hãy sử dụng nút Cài đặt (Settings) ở đầu trình cài đặt MT4/MT5 và chọn một thư mục mới cho mỗi bản cài đặt.

Trình cài đặt ứng dụng từ trang web của FXBlue cho phép bạn chọn nhiều bản sao của MT4/MT5, sau đó sao chép các EA gửi và nhận vào MT4/MT5.

Bạn cần khởi động lại MT4/MT5 để danh sách Navigator được cập nhật – hoặc bạn có thể nhấp chuột phải vào Navigator và sử dụng tùy chọn “Làm mới” (Refresh).

2.2 Chạy công cụ gửi

Trong phiên bản gửi của MT4/5, bạn mở một biểu đồ mới cho bất kỳ ký hiệu nào và thêm EA “FX Blue – TradeCopy Sender” vào biểu đồ bằng cách nhấp đúp vào nó trong danh sách Navigator hoặc kéo nó vào biểu đồ. Cài đặt “Allow DLL imports” của EA phải được bật.

Bạn không cần chạy nhiều bản sao của EA trên các biểu đồ cho mỗi ký hiệu mà bạn giao dịch. Bạn chỉ nên chạy một bản sao của EA gửi, trên bất kỳ biểu đồ nào. Điều này sẽ nhân đôi tất cả các giao dịch cho tất cả các ký hiệu.

EA gửi không cần khả năng đặt lệnh. Do đó, nó có thể đang chạy trên một tài khoản được đăng nhập bằng mật khẩu “investor” chỉ đọc của MT4/5.

2.3 Chạy công cụ nhận

Trong phiên bản nhận của MT4/5, bạn mở một biểu đồ mới cho bất kỳ ký hiệu nào và thêm EA “FX Blue – TradeCopy Receiver” vào biểu đồ, bằng cách nhấp đúp vào nó trong danh sách Navigator hoặc kéo thả vào biểu đồ. Cài đặt “Allow DLL imports” của EA phải được bật.

Bạn không cần chạy nhiều bản sao của EA trên các biểu đồ cho từng ký hiệu mà bạn giao dịch. Bạn chỉ cần chạy một bản sao của EA nhận, trên bất kỳ biểu đồ nào.

Trong MT4, bạn cũng có thể chạy tùy chọn các bản sao của EA Receiver-Worker. Điều này có thể giúp MT4 sao chép giao dịch nhanh hơn bằng cách xử lý nhiều hành động cùng một lúc.

2.4 Nhiều công cụ gửi và nhận

Một công cụ gửi và nhận được xác định bằng tên kênh, bạn có thể điều chỉnh thông qua các tham số của EA. Tên kênh mặc định là “TradeCopy”.

Chỉ nên có một EA gửi và một EA nhận sử dụng chung một kênh.

Một bản sao EA gửi có thể phát trên nhiều kênh, nhưng mỗi EA nhận chỉ có thể nghe trên một kênh duy nhất.

Nếu bạn muốn gửi giao dịch từ một bản sao MT4/5 đến 3 bản sao nhận của MT4/5, hãy thực hiện như sau:

  • Trong phiên bản gửi của MT4/5, chạy một bản sao EA gửi. Thiết lập tham số Channel trong EA thành danh sách các tên kênh, cách nhau bằng dấu phẩy, ví dụ: Channel1,Channel2,Channel3. (Ngoài ra, bạn cũng có thể chạy ba bản sao EA gửi, mỗi bản phát trên một kênh.)
  • Trong mỗi phiên bản nhận của MT4/5, chạy một bản sao EA nhận và cấu hình để sử dụng một trong ba kênh mà bạn đã thiết lập trong EA gửi.

Nếu bạn muốn một bản sao MT4/5 nhận giao dịch từ 3 công cụ gửi, hãy thực hiện như sau:

  • Trong phiên bản nhận của MT4/5, chạy ba bản sao khác nhau của EA nhận trên các biểu đồ khác nhau, sử dụng các tên kênh khác nhau.
  • Trong mỗi phiên bản gửi của MT4/5, sử dụng một trong ba kênh bạn đã thiết lập trong phiên bản nhận.

Mỗi EA nhận chạy trong một bản sao MT4/5 nên sử dụng một số magic number khác nhau cho các giao dịch của nó. Bạn có thể để tham số MagicNumber của EA nhận là 0, trong trường hợp đó nó sẽ tự động chọn một số magic number dựa trên tên kênh, hoặc bạn có thể thủ công thiết lập mỗi EA nhận sử dụng một magic number khác nhau.

2.4.1 Phân biệt giữa các phiên bản khác nhau của Công cụ sao chép.

Nếu bạn đang chạy nhiều phiên bản của Công cụ sao chép, bạn có thể làm cho việc phân biệt chúng dễ dàng hơn theo hai cách: thiết lập mô tả (được hiển thị ở góc trên bên phải của biểu đồ) và thay đổi màu nền.

Cả EA gửi và EA nhận đều có các cài đặt UserDescriptionBackgroundColour.

2.5 Kiểm tra công cụ sao chép giao dịch.

Dưới đây là các ảnh chụp màn hình ví dụ về việc công cụ Gửi và Nhận chạy thành công:

image
image 1

(Đặt màu nền cho toàn bộ biểu đồ nhằm giảm thiểu các câu hỏi hỗ trợ từ người dùng MT4/5 mới, những người có thể cố gắng chạy nhiều EA trên cùng một biểu đồ. Màu nền có thể được thay đổi bằng cách sử dụng cài đặt BackgroundColour trong mỗi EA.)

Khi cả hai EA gửi và nhận đều đang chạy, EA nhận sẽ nhận được một thông báo “heartbeat” từ EA gửi và cập nhật trạng thái của nó trên màn hình.

Cả hai EA sẽ hiển thị trạng thái hiện tại của chúng ở góc trên bên phải của biểu đồ. Nếu không có trạng thái nào hiển thị, vui lòng tham khảo các ghi chú khắc phục sự cố dưới đây.

2.6 Hiệu suất trên các hệ thống VPS.

Trên một số hệ thống VPS có cấu hình thấp, Công cụ sao chép có thể sử dụng quá nhiều sức mạnh xử lý, đặc biệt nếu có một số lượng lớn các giao dịch mở trên tài khoản gửi.

Bạn có thể giảm nhu cầu xử lý của Công cụ sao chép bằng cách tăng tham số TradeWatchFrequencyMS trong EA gửi. Giá trị mặc định của tham số này là 50. Tăng giá trị lên, ví dụ 100, sẽ giảm sử dụng bộ xử lý, thường mà không có sự khác biệt đáng kể về tốc độ sao chép.

2.7 Di chuyển Công cụ sao chép đến một máy tính mới.

Trong hầu hết các trường hợp, bạn có thể di chuyển Công cụ sao chép đến một máy tính mới đơn giản bằng cách cài đặt phần mềm trên máy tính đó; tắt nó trên máy tính cũ; và khởi động lại trên máy tính mới.

Để tránh các vấn đề có thể xảy ra, tốt nhất là khởi động Sender trước; đợi cho đến khi MT4/5 chắc chắn đã kết nối với nhà môi giới và nhận được danh sách các vị thế mở (nếu có); sau đó mới khởi động Receiver.

Nếu bạn đã bật cài đặt UseOriginalOrderComments, như mô tả dưới đây, bạn cũng sẽ cần sao chép nội dung của thư mục MQL\Files từ máy tính cũ sang máy tính mới. Nếu UseOriginalOrderComments được bật, thì mối quan hệ giữa số vé (ticket numbers) trên tài khoản gửi và nhận phải được theo dõi bằng một tệp trên đĩa, và tệp này phải được chuyển sang máy mới.

Điều này cũng áp dụng cho tài khoản netting trên MT5: bạn cần di chuyển tệp theo dõi của công cụ sao chép trong MQL5\Files sang máy tính mới.

Bạn có thể kiểm tra máy tính mới bằng cách đăng nhập vào bản sao MT4/5 của Receiver bằng mật khẩu đọc-only investor. Điều này sẽ ngăn không cho nó mở hoặc đóng các giao dịch. Bạn có thể sử dụng cách này để kiểm tra kết nối với sender có thành công hay không, và xác nhận rằng nó không cố gắng đóng các vị trí mở hiện có, sau đó đăng nhập lại bằng mật khẩu chính khi bạn đã hài lòng.

3 Cách hoạt động của Personal Trade Copier

3.1 Việc đặt lệnh và đóng lệnh

EA gửi sẽ gửi một thông báo tới EA nhận ngay khi phát hiện có một lệnh mở mới trong bản sao MT4/5 của nó.

Lưu ý: trong MT5, bạn có thể bắt đầu sao chép các giao dịch mới trong sender ngay khi chúng được gửi tới sàn, trước khi được xác nhận, bằng cách bật tính năng CopyMT5WorkingMarketOrders.

EA nhận sẽ cố gắng thực hiện giao dịch giống như vậy. Việc truyền tải giữa sender và receiver gần như ngay lập tức; thời gian để sao chép giao dịch chủ yếu phụ thuộc vào sàn giao dịch của bạn, không phải vào tốc độ truyền tải giữa hai EA.

Điều này cũng áp dụng khi đóng lệnh. Ngay khi phát hiện một lệnh mở trước đó đã bị đóng, EA gửi sẽ thông báo cho EA nhận đóng lệnh tương ứng.

Mặc định, Copier sẽ bỏ qua bất kỳ vị thế nào đã mở khi bắt đầu chạy. Tuy nhiên, bạn có thể sao chép các lệnh này nếu điều chỉnh độ trượt giá của hệ thống.

3.1.1 Tốc độ xử lý trên EA nhận

Khi EA nhận được tín hiệu từ EA gửi, nó sẽ gửi yêu cầu đến nhà môi giới gần như ngay lập tức. Tốc độ sao chép giao dịch chủ yếu được kiểm soát bởi tốc độ thực hiện giao dịch của nhà môi giới (bao gồm độ trễ mạng tới nhà môi giới), không phải bởi tốc độ nội bộ của phần mềm sao chép.

Nhật ký của phần mềm sao chép sẽ cho thấy nơi xảy ra bất kỳ sự chậm trễ nào. Phần mềm sao chép sẽ ghi lại các quá trình sau:

  • EA gửi phát hiện một giao dịch mới trên tài khoản của nó
  • Tin nhắn đến EA nhận từ EA gửi
  • Lệnh của EA nhận gửi đến nhà môi giới
  • Xác nhận giao dịch mới trên EA nhận từ nhà môi giới

Tuy nhiên, có một yếu tố đặc biệt cần lưu ý trong MT4 (chỉ MT4, không phải MT5). Trừ khi bạn sử dụng EA Receiver-Worker tùy chọn, MT4 chỉ có thể thực hiện một hành động giao dịch tại một thời điểm, và EA nhận không thể làm gì khác trong khi chờ nhà môi giới chấp nhận hoặc từ chối lệnh. Nếu hai tín hiệu mới đến đồng thời trong EA nhận của MT4, EA nhận không thể bắt đầu xử lý tín hiệu thứ hai cho đến khi nhà môi giới chấp nhận/từ chối tín hiệu đầu tiên.

3.1.2 Chốt lời và cắt lỗ trên công cụ nhận

Stop-loss (cắt lỗ) và take-profit (chốt lời) trên giao dịch của công cụ nhận chỉ đóng vai trò như một biện pháp bảo vệ trong trường hợp mất kết nối với công cụ gửi. Trong điều kiện bình thường, giao dịch của công cụ nhận sẽ được đóng ngay khi giao dịch của công cụ gửi bị đóng. Stop-loss và take-profit của công cụ nhận chỉ được kích hoạt trong hai trường hợp:
(a) Kết nối với công cụ gửi bị mất và không nhận được lệnh đóng, hoặc
(b) Sự chênh lệch giá giữa các sàn khiến stop-loss hoặc take-profit của công cụ nhận bị chạm trước của công cụ gửi.

Do đó, lưu ý:

  • Tham số tùy chọn FixedSLPipsFixedTPPips xác định giá trị tối đa cho stop-loss và take-profit. Giao dịch vẫn có thể được đóng khi giao dịch của công cụ gửi bị đóng, trước khi stop-loss hoặc take-profit của công cụ nhận bị kích hoạt.
  • Các chế độ tính lot dựa trên rủi ro tiền mặt xác định mức rủi ro tiền tối đa (vì sử dụng stop-loss của sender hoặc FixedSLPips). Stop-loss chỉ kiểm soát số tiền tối đa mà công cụ nhận có thể mất, nhưng giao dịch vẫn có thể bị đóng bất kỳ lúc nào với bất kỳ mức lời/lỗ nào khi giao dịch của công cụ gửi bị đóng.
  • Nếu bạn muốn công cụ nhận bỏ qua lệnh đóng giao dịch từ công cụ gửi và chỉ đóng giao dịch khi stop-loss hoặc take-profit của công cụ nhận bị chạm, hãy bật tham số IgnoreAllExitSignals.
3.1.3 Tỷ lệ trượt giá và cách vào lệnh thị trường

Theo mặc định, có giới hạn về sự chênh lệch giá mà công cụ sao chép sẽ chấp nhận giữa giá của công cụ gửi và giá của công cụ nhận – được kiểm soát bởi cài đặt AllowSlippagePips.

Nếu chênh lệch giá giữa công cụ gửi và công cụ nhận lớn hơn giá trị này, công cụ nhận sẽ cố gắng đạt được mức giá của công cụ gửi bằng cách đặt lệnh giới hạn chờ thay vì mua hoặc bán theo giá thị trường. Lưu ý: Sàn môi giới có thể có giới hạn về khoảng cách tối thiểu giữa một lệnh chờ và giá thị trường hiện tại. Một giao dịch có thể bị từ chối (lỗi MT4 #130) nếu chênh lệch giá lớn hơn AllowSlippagePips nhưng nhỏ hơn mức dừng của sàn môi giới.

Bạn có thể thay đổi hành vi của công cụ sao chép theo bốn cách:

  • Tăng hoặc giảm mức độ chấp nhận của AllowSlippagePips.
  • Tắt cài đặt PlaceLimitOrderIfSlipped trên công cụ nhận. Nếu chênh lệch giá giữa công cụ gửi và công cụ nhận lớn hơn AllowSlippagePips, công cụ nhận sẽ từ chối giao dịch thay vì cố gắng đặt lệnh chờ.
  • Bật TradeAllOrdersAtMarket trên công cụ nhận. Tùy chọn này cho phép công cụ nhận bỏ qua cài đặt AllowSlippagePips và chấp nhận mọi chênh lệch giá giữa công cụ gửi và công cụ nhận.
  • Bật BroadcastAllOrdersAtMarket trên công cụ gửi. Tùy chọn này có tác dụng tương tự như TradeAllOrdersAtMarket trên công cụ nhận.
3.1.4 Các lệnh hiện có đã mở khi công cụ sao chép bắt đầu hoạt động.

Theo mặc định, hệ thống sẽ không sao chép bất kỳ vị thế nào đã mở khi bắt đầu chạy. Nó chỉ sao chép các vị thế mới được mở sau khi phần mềm hoạt động.

Bạn có thể thay đổi hành vi này bằng cách bật AllowExistingOrders trong công cụ gửi. Bạn cũng phải khởi động công cụ nhận trước khi khởi động công cụ gửi.

Tuy nhiên, có thể có sự chênh lệch giá đáng kể giữa công cụ gửi và công cụ nhận (do vị thế của công cụ gửi đã được mở cách đây vài phút hoặc thậm chí vài giờ, trong khi vị thế của công cụ nhận đang được mở ngay bây giờ). Để sao chép các vị thế hiện có, bạn sẽ cần thay đổi mức dung sai trượt giá.

3.2 Tín hiệu nhịp tim

Lưu ý: khoảng thời gian nhịp tim không kiểm soát tốc độ sao chép lệnh. Các thông điệp mở và đóng lệnh luôn được gửi ngay lập tức và xử lý càng nhanh càng tốt.

Công cụ gửi EA gửi một thông điệp “nhịp tim” định kỳ, mặc định mỗi 10 giây. Thông điệp này cho biết lệnh nào vẫn còn mở. Nếu công cụ nhận bỏ lỡ một chỉ thị đóng lệnh, ví dụ vì bản sao MT4/5 của nó không chạy vào thời điểm đó, thì nó sẽ đóng lệnh khi nhận được nhịp tim tiếp theo từ công cụ gửi.

Các thay đổi đối với stop-loss (s/l) hoặc take-profit (t/p) của một giao dịch cũng được gửi trong thông điệp nhịp tim. Do đó, có thể có sự trễ lên đến 10 giây giữa việc thay đổi s/l hoặc t/p trong bản sao MT4/5 của công cụ gửi và công cụ nhận thực hiện thay đổi. Tuy nhiên, nếu giao dịch được đóng trên công cụ gửi trong vòng 10 giây đó vì s/l hoặc t/p bị chạm, thì điều đó sẽ dẫn đến một chỉ thị đóng lệnh ngay lập tức được gửi đến công cụ nhận.

Các thay đổi về giá nhập của một lệnh chờ cũng được gửi trong nhịp tim và do đó sẽ được cập nhật trong vòng 10 giây.

3.3 Lệnh chờ

Mặc định, công cụ sao chép giao dịch không gửi lệnh chờ. Nó chỉ gửi một thông điệp đến công cụ nhận khi lệnh chờ được thực thi và chuyển thành lệnh mua hoặc bán.

Sao chép lệnh chờ có thể không thuận lợi và nguy hiểm. Chúng tôi khuyên bạn không nên làm điều này:

  • Nếu chênh lệch giá của công cụ nhận tốt hơn so với công cụ gửi, thì giả sử rằng trượt giá trung bình là trung tính, công cụ nhận sẽ tốt hơn nếu vào lệnh theo giá thị trường khi công cụ gửi đã thực hiện lệnh, thay vì vào (và thoát) theo giá của công cụ gửi.
  • Nếu chênh lệch giá của công cụ nhận tệ hơn so với công cụ gửi, thì công cụ nhận có thể được thực thi mà không có công cụ gửi, và có thể có một giao dịch không được quản lý trên công cụ nhận.

Ví dụ, giả sử bạn đang giao dịch phá vỡ phạm vi của ngày hôm qua và bạn có một lệnh buy-stop tại mức cao của ngày hôm qua. Điều này có thể được kích hoạt trên tài khoản nhận mà không được kích hoạt trên tài khoản gửi, vì có thể có sự chênh lệch giá nhỏ giữa hai tài khoản, hoặc spread rộng hơn trên tài khoản nhận. Nếu giá sau đó điều chỉnh, bản sao gửi của MT4/5 sẽ không biết rằng tài khoản nhận có một giao dịch cần được quản lý, nhưng tài khoản nhận sẽ có mức lỗ ngày càng tăng và sẽ không nhận được bất kỳ chỉ thị nào để đóng vị thế.

Tuy nhiên, bạn có thể cấu hình chương trình sao chép giao dịch để gửi các lệnh chờ bằng cách bật tham số tùy chọn IncludePendingOrders.

Bạn có thể sử dụng tham số RequireSenderFillWithinMinutes để giới hạn rủi ro tại đầu nhận. Nếu lệnh của tài khoản nhận được khớp, nhưng lệnh của tài khoản gửi vẫn đang chờ, thì tài khoản nhận có thể được cấu hình để đóng lệnh của nó sau số phút này (bỏ qua nếu là số không).

Lưu ý: bạn không thể sử dụng IncludePendingOrders trên một tài khoản netting của MT5.

3.4 Kích thước lô và quản lý rủi ro

Cài đặt mặc định của phần mềm (UseRiskFactor=1) sẽ giao dịch cùng kích thước lô tương đối trên tài khoản gửi và nhận. Ví dụ: tài khoản gửi giao dịch 0,50 lô và có vốn chủ sở hữu là $10,000; tài khoản nhận có vốn chủ sở hữu là $2000 và giao dịch 0,10 lô.

Phần mềm có nhiều chế độ kích thước lô khác nhau mà bạn có thể lựa chọn, sử dụng các cài đặt sau. Chỉ một trong những cài đặt này nên khác không. Các cài đặt này được xử lý theo thứ tự: ví dụ, EquityPerLot chỉ được sử dụng nếu UseFixedLotSize, UseRiskFactor và LotSizeMultiplier đều được đặt về không.

  • UseFixedLotSize
  • UseRiskFactor
  • LotSizeMultiplier
  • EquityPerLot
  • BalancePerLot
  • CashRiskFixed
  • CashRiskEquityPercent
  • CashRiskBalancePercent
  • NotionalDepositVolume

Nhắc lại: chỉ một trong những cài đặt trên nên được bật. Tất cả các giá trị khác nên được đặt về không.

3.4.1 Giao dịch một kích thước lô cố định trên tất cả các lệnh.

Bạn có thể giao dịch một kích thước lô cố định trên tất cả các lệnh, bất kể khối lượng mà tài khoản gửi giao dịch, bằng cách sử dụng tham số UseFixedLotSize (và tắt các chế độ khác). Ví dụ, đặt UseFixedLotSize thành 0.25 sẽ giao dịch 0.25 lô trên mỗi lệnh bất kể tài khoản gửi giao dịch 0.25, 0.01, 1.53 v.v.

3.4.2 Giao dịch cùng kích thước lô như tài khoản gửi hoặc bội số của kích thước lô của tài khoản gửi.

Bạn có thể giao dịch một bội số của kích thước lô của tài khoản gửi bằng cách sử dụng tham số LotSizeMultiplier (và tắt các chế độ khác). Ví dụ, giá trị 0.5 có nghĩa là tài khoản nhận sẽ giao dịch một nửa kích thước lô của tài khoản gửi, và giá trị 3 có nghĩa là tài khoản nhận sẽ giao dịch gấp ba kích thước lô của tài khoản gửi.

Giá trị 1 cho LotSizeMultiplier (và tắt các chế độ khác) có nghĩa là tài khoản gửi và tài khoản nhận giao dịch cùng kích thước lô.

Xin lưu ý rằng giao dịch cùng kích thước lô không có nghĩa là tài khoản nhận đang chịu cùng mức rủi ro. Ví dụ, tài khoản gửi và tài khoản nhận đều giao dịch 0.10 lô, nhưng tài khoản gửi có vốn chủ sở hữu là $5000 và tài khoản nhận có vốn chủ sở hữu là $2500. Tài khoản nhận đang chịu mức rủi ro gấp đôi so với tài khoản gửi.

3.4.3 Giao dịch cùng kích thước lô tương đối (dựa trên vốn chủ sở hữu tương đối).

Bạn có thể giao dịch cùng tương quan khối lượng giữa Gửi và Nhận sử dụng thông số UseRiskFactor (và tắt các chế độ khác). Đây là chế độ mặc định của phần mềm.

Giá trị 1 cho UseRiskFactor nghĩa là khối lượng giao dịch sẽ được điều chỉnh giữa Gửi và Nhận dựa trên mối tương quan giữa tài sản (chuyển sang tiền đô Mỹ cho cả 2 bên, nếu cần). Ví dụ, nếu Gửi có tài sản 5.000$ và giao dịch 0.2 lot, thì Nhận sẽ giao dịch 0.1 lot nếu tài sản của nó có 2.500$.

Bạn có thể điều chỉnh mối tương quan rủi ro bằng cách tăng hoặc giảm UseRiskFactor, giá trị 1.5 nghĩa là Nhận sẽ chịu nhiều hơn 50% rủi ro so với Gửi.

Ví dụ, nếu tài sản của Gửi là 2.000$ và tài sản của Nhận là 4.000$, và UseRiskFactor đặt là 1.5, thì nhận sẽ giao dịch gấp 3 lần khối lượng so với Gửi 4000 / 2000 x 1.5 =3.

3.4.4 Kích thước lô cố định dựa trên vốn chủ sở hữu hoặc số dư tài khoản.

Bạn có thể giao dịch một kích thước lô cố định trên tài khoản nhận dựa trên vốn chủ sở hữu hoặc số dư của nó, bỏ qua kích thước lô của tài khoản gửi, bằng cách sử dụng tham số EquityPerLot hoặc BalancePerLot (và tắt các chế độ khác).

Tham số EquityPerLot xác định lượng vốn chủ sở hữu mà tài khoản nhận phải có để giao dịch 1 lô đầy đủ (và BalancePerLot thực hiện cùng tính toán này liên quan đến số dư thay vì vốn chủ sở hữu).

Ví dụ, nếu EquityPerLot được đặt thành 50000, và vốn chủ sở hữu hiện tại là 10000, thì tài khoản nhận sẽ giao dịch 10000 / 50000 = 0.20 lô.

3.4.5 Kích thước lô dựa trên rủi ro tiền mặt tối đa.

Bạn có thể cấu hình tài khoản nhận để chịu một mức rủi ro tiền mặt cụ thể, hoặc một tỷ lệ phần trăm của tài khoản của bạn, bằng cách sử dụng tham số CashRiskFixed, CashRiskEquityPercent hoặc CashRiskBalancePercent (và tắt các chế độ khác).

  • CashRiskFixed: chỉ định một số tiền mặt cố định để chịu rủi ro trên mỗi giao dịch, ví dụ: $100
  • CashRiskEquityPercent: chỉ định một tỷ lệ phần trăm của vốn chủ sở hữu tài khoản để chịu rủi ro, ví dụ: 2.5%
  • CashRiskBalancePercent: chỉ định một tỷ lệ phần trăm của số dư tài khoản để chịu rủi ro, ví dụ: 2.5%

Để sử dụng bất kỳ cài đặt nào trong số này, lệnh của tài khoản gửi phải có mức dừng lỗ, hoặc bạn phải ghi đè bằng cách sử dụng tham số FixedSLPips để đặt mức dừng lỗ trên mỗi giao dịch.

Tài khoản nhận sau đó điều chỉnh kích thước lô của giao dịch sao cho việc chạm mức dừng lỗ không gây rủi ro vượt quá số tiền mặt đã chỉ định.

Ví dụ:

  • Bạn đặt CashRiskEquityPercent là 1 (nghĩa là 1% vốn chủ sở hữu của bạn).
  • Mức dừng lỗ của tài khoản gửi là 50 pip từ điểm vào (hoặc bạn đặt FixedSLPips là 50).
  • Vốn chủ sở hữu tài khoản của bạn là $10000.
  • Tài khoản nhận tính toán rằng mức dừng lỗ 50 pip đại diện cho mức lỗ $500 trên mỗi lô đầy đủ.
  • Bạn đã yêu cầu rủi ro 1%, tức là $100 vốn chủ sở hữu của bạn.
  • Do đó, tài khoản nhận sẽ giao dịch $100 / $500 = 0.20 lô, chịu rủi ro tối đa $100 nếu mức dừng lỗ tại 50 pip bị chạm.

Lưu ý rằng các cài đặt rủi ro này là tối đa: các giao dịch có thể được đóng bất cứ lúc nào khi vị thế của tài khoản gửi được đóng, trước khi mức dừng lỗ cố định bị chạm.

3.4.6 Tài khoản mini, micro và cent.

Phần mềm tự động xử lý các tài khoản MT4/5 “micro” và “mini” (trong đó kích thước lô là 10K hoặc 1K thay vì thông thường là 100K).

Phần mềm không thể tự động phát hiện các tài khoản “cent” (trong đó kích thước lô là 100K, nhưng có nghĩa là 100,000 cent thay vì $100,000). Theo mặc định, kích thước lô của tài khoản nhận sẽ lớn gấp 100 lần trên các tài khoản này. Bạn có thể bật cài đặt CentAccount, hoặc bạn có thể chia giá trị cho các tham số UseRiskFactor hoặc LotSizeMultiplier cho 100 (ví dụ: đặt chúng là 0.01 thay vì 1.00).

3.4.7 Kích thước lô tối thiểu.

Chuyển đổi sử dụng các cài đặt như UseRiskFactor hoặc LotSizeMultiplier có thể dẫn đến kích thước lô nhỏ hơn mức tối thiểu của nhà môi giới. Tài khoản nhận sẽ không thực hiện các giao dịch này trừ khi bạn bật cài đặt RoundUpToBrokerMinimum. (Việc từ chối này sẽ được ghi vào thông tin được viết trong nhật ký MT4/5 Experts.)

Ngoài ra, bạn có thể sử dụng tham số MaxLots và MinLots để đặt giới hạn cho kích thước lô mà tài khoản nhận giao dịch. Ví dụ, đặt LotSizeMultiplier thành 2 với MaxLots đặt thành 0.50 có nghĩa là “giao dịch gấp đôi kích thước lô của tài khoản gửi, nhưng không bao giờ vượt quá 0.50 lô”.

3.5 Tên ký hiệu và hậu tố của nhà môi giới.

Tên ký hiệu không được tiêu chuẩn hóa và có thể khác nhau giữa các tài khoản môi giới. Ví dụ, cặp tiền tệ EUR/USD có thể là EURUSD trên một tài khoản và EURUSD.xyz trên tài khoản khác. Một chỉ số chứng khoán như DAX có thể được gọi là DE30, GER30, .DAX, .DE30, [GER30] v.v.

Ngoài ra, một số tài khoản có thể chứa nhiều phiên bản của mỗi thị trường trong danh sách ký hiệu của họ – ví dụ: cả EURUSD và EURUSD+. Khi nhận được một giao dịch cho EUR/USD, phần mềm sao chép cần biết ký hiệu nào nên sử dụng – và phiên bản nào, nếu có nhiều hơn một.

  • Phần mềm sao chép gần như luôn có thể xử lý các cặp tiền tệ mà không cần ghi đè thủ công lên các cài đặt của nó.
  • Phần mềm sao chép thường có thể xử lý kim loại, dầu và chỉ số chứng khoán, nhưng có thể cần ghi đè thủ công lên các cài đặt của nó.
  • Các thị trường khác, đặc biệt là cổ phiếu cá nhân như Apple hoặc Google, gần như luôn yêu cầu ghi đè thủ công trừ khi bạn sao chép giữa hai tài khoản của cùng một nhà môi giới.

Các cặp ngoại hối (FX) được xử lý bằng cài đặt ForexSymbolSuffix. Phần mềm sao chép thường có thể tự động phát hiện điều này và sẽ thông báo cho bạn nếu không thể. Nếu bạn thay đổi cài đặt này thủ công, bạn cần sử dụng hậu tố cho các ký hiệu FX mà bạn muốn giao dịch. Ví dụ, nếu bạn muốn giao dịch EURUSD.xyz, GBPUSD.xyz v.v., thì bạn đặt ForexSymbolSuffix thành .xyz

Các thị trường không phải FX yêu cầu các mục trong danh sách CustomSymbolMappings. Điều này cho phần mềm sao chép biết cách dịch từ tên ký hiệu trên tài khoản gửi sang tên ký hiệu trên tài khoản nhận. Ví dụ, nếu tên của chỉ số S&P 500 trên tài khoản gửi là SPX500 và phiên bản của tài khoản nhận là .US500, thì mục cần thêm vào CustomSymbolMappings là:

  • SPX500=.US500
3.5.1 Kích thước pip tùy chỉnh cho các ký hiệu.

Theo mặc định, phần mềm sẽ sử dụng định nghĩa kích thước pip dựa trên số chữ số mà nhà môi giới báo giá trong giá. Ví dụ, nếu giá được báo đến 2 hoặc 3 chữ số thập phân thì phần mềm sẽ sử dụng kích thước pip là 0.01.

Bạn có thể ghi đè điều này cho các ký hiệu cụ thể bằng cách sử dụng cài đặt CustomPipSizes. Ví dụ, bạn có thể đặt cài đặt này thành XAUUSD=1, GER30=1 để sử dụng kích thước pip là 1.00 trên XAUUSD và GER30.

Các mục trong danh sách CustomPipSizes phải khớp chính xác với tên ký hiệu đầy đủ trên tài khoản nhận (bao gồm bất kỳ hậu tố nào).

3.5.2 Bội số khối lượng tùy chỉnh cho các ký hiệu.

Phần mềm sẽ tự động chuyển đổi giữa các tài khoản bình thường và “mini” (trong đó kích thước lô cho ký hiệu ngoại hối là 10,000 thay vì 100,000 thông thường).

Tuy nhiên, một số nhà môi giới có các kích thước hợp đồng khác nhau cho CFD. Một nhà môi giới có thể có kích thước hợp đồng cho GER30 (Dax) là 1 trong khi một nhà môi giới khác có kích thước hợp đồng là 0.01. Bạn có thể điều chỉnh khối lượng từ tài khoản gửi cho các ký hiệu cụ thể bằng cách sử dụng cài đặt CustomLotMultipliers.

Ví dụ, nếu các hợp đồng DAX và CAC40 của tài khoản gửi nhỏ hơn 100 lần so với các hợp đồng của tài khoản nhận, thì cài đặt sau đây sẽ điều chỉnh tính toán trên tài khoản nhận để các giao dịch nhỏ hơn 100 lần. Các mục trong danh sách này phải khớp chính xác với tên ký hiệu đầy đủ trên tài khoản nhận, bao gồm cả hậu tố:

DAX=0.01, CAC40=0.01

3.6 Thực hiện lệnh thị trường.

(Thông tin cũ: một số nhà môi giới sử dụng “thực hiện lệnh thị trường” nơi mà, trước đây, cần thiết để EA gửi một giao dịch và sau đó gửi một chỉ thị riêng để thêm bất kỳ s/l và t/p. Tuy nhiên, trong tất cả các phiên bản gần đây của MT4 và MT5, EA hiện nay nên được phép gửi s/l và t/p như một phần của lệnh mở. Do đó, cài đặt cũ CloseOrdersImmediatelyIfSLFails đã bị loại bỏ khỏi phần mềm sao chép.)

3.7 Hedging và không hedging

Phần mềm sao chép có thể được sử dụng với cả tài khoản hedging và netting trên MT5. Tuy nhiên, tài khoản netting yêu cầu bật thêm một cài đặt trong phần mềm sao chép.

Phần mềm sao chép không thể được sử dụng hoàn toàn với các tài khoản FIFO/không hedging trên MT4, vì MT4 không có tài khoản netting đúng nghĩa. Nếu tài khoản gửi mở một lệnh mua và sau đó mở một lệnh bán (hoặc ngược lại), giao dịch đầu tiên sẽ được mở thành công trên tài khoản FIFO/không hedging nhưng giao dịch hedged sẽ thất bại.

3.8 Số magic

Phần mềm sao chép sử dụng số ma thuật (magic number) của một lệnh để xác định lệnh nào thuộc về nó, so với các lệnh từ giao dịch thủ công hoặc các EA khác chạy trên tài khoản. Do đó, số ma thuật không được sao chép từ tài khoản gửi.

EA nhận sử dụng cùng một số ma thuật cho tất cả các lệnh mà nó xử lý. Theo mặc định, nó tự động chọn một số ma thuật dựa trên tên kênh. Bạn có thể chọn số ma thuật riêng của mình bằng cách đặt tham số MagicNumber thành một số khác 0.

Nếu bạn giao dịch nhiều EA trên bản sao gửi của MT4/5, và bạn muốn mỗi lệnh trong bản sao nhận của MT4/5 có một số ma thuật khác nhau dựa trên số ma thuật trong bản sao gửi của MT4/5, thì bạn có thể làm như sau:

  • Chạy nhiều bản sao của EA gửi, và đặt tham số IncludeMagicNumbers hoặc tham số IncludeOrderComments sao cho mỗi EA gửi chỉ bao gồm các lệnh từ một trong các EA trên tài khoản. Mỗi EA gửi phải sử dụng một tên kênh khác nhau.
  • Chạy nhiều bản sao của EA nhận (sử dụng cùng tên kênh như trong EA gửi). Bạn có thể để tham số MagicNumber của EA nhận được đặt là 0, trong trường hợp đó các số ma thuật sẽ khác nhau cho mỗi kênh nhưng sẽ không khớp với bản sao gửi của MT4/5, hoặc bạn có thể cấu hình mỗi EA nhận để sử dụng cùng một số ma thuật đang được sử dụng trong EA gửi tương ứng để lọc các lệnh trên kênh.
3.9 Đóng lệnh một phần.

Các EA gửi và nhận có khả năng xử lý đóng lệnh một phần.

Tuy nhiên, điều này phụ thuộc vào việc các nhà môi giới sử dụng chức năng tiêu chuẩn của MT4/5. Các lệnh đóng một phần sẽ không được xử lý đúng cách bởi phần mềm sao chép nếu nhà môi giới sai lệch khỏi chức năng tiêu chuẩn của MT4/5:

  • Trên MT4, phần mềm sao chép mong đợi lệnh đóng một phần được xác định bằng bình luận của lệnh (ví dụ: “from #12345678”).
  • Trên MT5, phần mềm sao chép mong đợi số vé của một vị thế không thay đổi sau khi đóng một phần (tức là số vé vẫn giữ nguyên, với khối lượng giảm).
3.10 Đảo ngược hướng giao dịch.

Tài khoản nhận có thể được cấu hình để đảo ngược hướng giao dịch của tài khoản gửi, biến lệnh mua thành lệnh bán và ngược lại. (Tính năng này đã được bao gồm theo yêu cầu của người dùng; chúng tôi không biết bất kỳ hệ thống giao dịch nào tạo ra lỗ có thể trở nên có lãi bằng cách đảo ngược nó.)

Để sử dụng tính năng này, bạn cần bật tham số InvertTrades của EA nhận.

Ngoài ra, bạn cũng thường cần thay đổi dung sai trượt giá. Sau khi đảo ngược, sự chênh lệch giá giữa tài khoản gửi và tài khoản nhận ít nhất sẽ bằng kích thước của spread và có thể sẽ bị từ chối bởi các cài đặt mặc định của phần mềm sao chép.

3.11 Bình luận của lệnh.

Theo mặc định, tài khoản nhận sử dụng bình luận của lệnh MT4/5 để theo dõi các số vé trên tài khoản gửi. Bạn có thể thay đổi hành vi này và yêu cầu tài khoản nhận sử dụng các bình luận gốc từ các lệnh trên tài khoản gửi bằng cách bật tham số UseOriginalOrderComments trong tài khoản nhận.

Ngoài ra, bạn có thể sử dụng tham số UseCustomOrderComment để sử dụng một bình luận cố định cho tất cả các lệnh.

Tuy nhiên, xin lưu ý rằng các tham số này có ảnh hưởng đến khôi phục thảm họa. Nếu bạn bật UseOriginalOrderComments hoặc UseCustomOrderComment, thì các số vé trên tài khoản gửi được theo dõi bằng cách sử dụng một tập tin trên đĩa (trong thư mục MQL\files của MT4/5). Nếu tập tin này bị xóa – hoặc không khả dụng vì lý do nào đó, ví dụ như khi bạn khởi động MT5 trên một máy tính mới trong trường hợp khẩn cấp – thì tài khoản nhận sẽ đóng tất cả các lệnh vì nó không thể liên kết chúng với nhịp tim của tài khoản gửi.

3.12 Quyền chọn nhị phân

Phần mềm sao chép có thể xử lý bất kỳ lệnh nào có thể được đặt thông qua MT4/5. Điều này bao gồm các tùy chọn nhị phân khi nhà môi giới có một plug-in cho phép bạn đặt các giao dịch nhị phân bằng các tính năng trong MT4/5.

Tuy nhiên, các plug-in tùy chọn nhị phân của nhà môi giới cho MT4/5 thường sử dụng các yếu tố như bình luận của lệnh để chỉ định thời gian hết hạn cho tùy chọn nhị phân. Trong những trường hợp như vậy, bạn sẽ cần bật cài đặt UseOriginalOrderComments, như đã mô tả ở trên.

3.13 Điều khiển phần mềm sao chép bằng cách sử dụng biến toàn cục MT4/5.

Bạn có thể chặn phần mềm Mirror không đặt các giao dịch mới bằng cách sử dụng một Biến Toàn Cục trong MT4/5 (nhấn F3, hoặc chọn Tools / Global Variables).

Bạn có thể sử dụng điều này như một cách kiểm soát Mirror thủ công, bằng cách tự mình tạo và xóa Biến Toàn Cục, hoặc bạn có thể có một hệ thống tự động sử dụng Biến Toàn Cục để bật và tắt việc sao chép dựa trên một số điều kiện như vốn tài khoản hoặc hiệu suất.

Phần mềm sao chép được kiểm soát bằng một Biến Toàn Cục gọi là Suspend-X, trong đó X là tên kênh. Ví dụ: Suspend-MySender. Nếu một biến tồn tại với tên này, bất kể giá trị của nó (zero/non-zero) thì phần mềm sao chép sẽ bỏ qua các tín hiệu giao dịch mới từ tài khoản gửi.

Bạn cũng có thể sử dụng các biến toàn cục để kiểm soát kích thước lô được sử dụng bởi phần mềm sao chép (hoàn toàn ghi đè kích thước lô tiêu chuẩn của phần mềm sao chép). Có hai tùy chọn: cài đặt theo ký hiệu và ghi đè toàn cục. Một biến toàn cục dưới dạng CopierLotSize-, chẳng hạn như CopierLotSize-EURUSD+, đặt kích thước lô cho một ký hiệu cụ thể. Cài đặt CopierLotSize-All ghi đè kích thước lô cho tất cả các ký hiệu không có cài đặt riêng.

4 Các tham số EA.

4.1 Các tham số EA gửi.
4.1.1 Các tham số gửi: kênh và chu kỳ nhịp tim.
Cài đặt máy chủ
ChannelTên kênh để sử dụng cho việc liên lạc với các tài khoản nhận. Chỉ nên có một tài khoản nhận và một tài khoản gửi trên mỗi kênh. Một EA gửi có thể phát trên nhiều kênh, mà bạn chỉ định bằng cách nhập danh sách các tên kênh được phân tách bằng dấu phẩy vào tham số Channel, ví dụ: Scalp1,Scalp2,Scalp3. Tên kênh không được chứa bất kỳ ký tự nào sau đây: / \ : * ? ” < > |. Ngoài ra, danh sách không được bao gồm khoảng trắng giữa mỗi mục được phân tách bằng dấu phẩy.
HeartbeatPeriodSecondsSố giây chờ giữa mỗi lần gửi thông điệp nhịp tim.
4.1.2 Các tham số gửi: các lệnh bao gồm.
Lệnh gửi
IncludeSymbolsNếu không để trống, hãy nhập một danh sách các ký hiệu, được phân tách bằng dấu phẩy, để bao gồm trong các thông điệp gửi đến tài khoản nhận. Danh sách này phải khớp chính xác với các tên của nhà môi giới, bao gồm cả chữ hoa và chữ thường như EURUSDfx, GBPUSDfx. Các giao dịch cho các ký hiệu không có trong danh sách này sẽ không được bao gồm.

Bạn cũng có thể bắt đầu danh sách bằng ký hiệu ! để có nghĩa là “tất cả các ký hiệu đều được phép ngoại trừ những ký hiệu sau”. Ví dụ:

!EURUSDfx, GBPUSDfx.
IncludeMagicNumbersNếu không để trống, hãy nhập danh sách các số ma thuật EA, được phân tách bằng dấu phẩy, để bao gồm trong các thông điệp gửi đến tài khoản nhận. Ví dụ, 0,1234,6789 sẽ bao gồm các lệnh thủ công (có số ma thuật 0), cộng với các lệnh từ các EA sử dụng các số ma thuật 1234 và 6789.

Bạn cũng có thể bắt đầu danh sách bằng ký hiệu ! để có nghĩa là “tất cả các số ma thuật đều được phép ngoại trừ những số sau đây”. Ví dụ: !1234,6789

Một tùy chọn khác là bạn có thể đặt IncludeMagicNumbers thành file:X, chẳng hạn như file:mylist.txt. Phần mềm sao chép sau đó sẽ đọc danh sách các số ma thuật từ một tập tin trong thư mục MQL\Files, chẳng hạn như mylist.txt. Tập tin này có thể sử dụng nhiều định dạng để chỉ định các số ma thuật được phép: một mục mỗi dòng, các mục được phân tách bằng khoảng trắng, các mục được phân tách bằng dấu phẩy. Bạn cũng có thể bao gồm các khoảng của số ma thuật được phép như 100-799.
IncludeOrderCommentsNếu không để trống, hãy nhập một danh sách các bình luận của lệnh, được phân tách bằng dấu phẩy, để bao gồm. Ví dụ, pivot,breakout chỉ bao gồm các lệnh có bình luận chứa “pivot” hoặc “breakout”. Việc đối chiếu là phân biệt chữ hoa và chữ thường. Bạn cũng có thể đối chiếu một bình luận lệnh chính xác bằng dấu ngoặc kép. Ví dụ, pivot,”breakout” sẽ đối chiếu với một lệnh có bình luận chứa “pivot” (ví dụ: pivot123), hoặc một lệnh có bình luận chính xác là “breakout”.

Bạn cũng có thể bắt đầu danh sách bằng ký hiệu ! để có nghĩa là “tất cả các bình luận đều được phép ngoại trừ những bình luận sau đây”. Ví dụ:

!pivot,”breakout”.
IncludePendingOrdersXác định xem các lệnh chờ có được gửi hay không, hoặc liệu tài khoản gửi chỉ gửi thông điệp khi các giao dịch được thực hiện.
RequireStopLossNếu bật lên, tài khoản gửi sẽ bỏ qua các lệnh cho đến khi chúng có một stop-loss. Nếu bạn mở một giao dịch và sau đó thêm một stop-loss sau, tài khoản gửi sẽ sao chép giao dịch đó sau sự chậm trễ này – nhưng sự chậm trễ có thể khiến bạn cần thay đổi dung sai trượt giá.
CopyMT5WorkingMarketOrdersChỉ dành cho MT5: sao chép các yêu cầu mua và bán ngay khi chúng được MT5 gửi tới nhà môi giới mà không chờ xác nhận của một giao dịch mới được thực hiện. Điều này có thể tăng tốc độ sao chép các lệnh. Tuy nhiên, có thể lệnh của tài khoản gửi sẽ bị từ chối và tài khoản nhận có giao dịch riêng mà không có vị trí tương ứng trên tài khoản gửi. Giao dịch của tài khoản nhận sau đó sẽ được đóng vào nhịp tim tiếp theo. Các so sánh độ trượt giá được thực hiện so với giá hiện tại/giá yêu cầu trên tài khoản gửi, có thể khác với giá mà yêu cầu của tài khoản gửi sau đó được nhà môi giới thực hiện.
4.1.3 Các tham số gửi: kích thước lô và định giá.
Kích thước lô và định giá
(Kích thước lô cũng có thể được thay đổi bằng cách sử dụng các cài đặt trong EA của tài khoản nhận)
UseFixedLotSizeNếu không bằng 0, EA sẽ gửi kích thước lô cố định này thay vì số lô thực tế được giao dịch.
LotSizeMultiplierBỏ qua nếu UseFixedLotSize được bật (tức là không bằng 0). Nếu không, thay đổi thông điệp để EA báo cáo bội số này của kích thước lô thực tế (ví dụ: 0.1 để chia kích thước lô theo 10).
SymbolMultipliersNếu không để trống, hãy nhập một danh sách các bội số cho từng ký hiệu riêng lẻ, được phân tách bằng dấu phẩy, để ghi đè cài đặt LotSizeMultiplier chính. Tên các ký hiệu trong danh sách này phải khớp chính xác với các tên trên tài khoản gửi bao gồm bất kỳ hậu tố nào được nhà môi giới sử dụng. Ví dụ: GBPUSD=2, USDCHF=0.5.
BroadcastAllOrdersAtMarketNếu được bật, tài khoản nhận sẽ được hướng dẫn mua/bán ở giá thị trường hiện tại, bất kể giá vị thế của tài khoản gửi. Tương đương với việc tài khoản nhận bật cài đặt TradeAllOrdersAtMarket trong EA nhận.
HideSLandTPNếu bật, các lệnh dừng lỗ (s/l) và chốt lời (t/p) sẽ không được phát đến tài khoản nhận.
AddPipsToSLẨn mức dừng lỗ thực trên mỗi giao dịch bằng cách thêm số pip này vào đó (tức là di chuyển nó xa hơn khỏi giá mở). Cài đặt này sẽ bị bỏ qua nếu HideSLandTP được bật.
FixedSLPipsIfNoneNếu một lệnh không có dừng lỗ, hệ thống sẽ phát dừng lỗ như số pip này từ giá nhập vào.
WaitForProfitPipsTrì hoãn việc truyền tải một lệnh mới đến tài khoản nhận cho đến khi nó có lợi nhuận bằng số pip được chỉ định. Việc trì hoãn có thể dẫn đến sự chênh lệch giá lớn giữa tài khoản gửi và nhận, và bạn sẽ cần thay đổi dung sai trượt giá.
WaitForSecondsTrì hoãn việc truyền tải một lệnh mới trong một khoảng thời gian cụ thể tính bằng giây. Sự chậm trễ này có thể dẫn đến sự chênh lệch giá lớn giữa tài khoản gửi và tài khoản nhận, và bạn sẽ cần thay đổi dung sai trượt giá.
4.1.4 Các tham số gửi: cài đặt phát.
Cài đặt phát
RetryAttemptsSố lần thử lại nếu không thể gửi thông điệp mở/đóng lệnh. (Không áp dụng với các thông điệp “nhịp tim” vì chúng sẽ được gửi lại nhanh chóng.)
4.1.5 Các tham số gửi: cài đặt cảnh báo và cảnh báo.
Cảnh báo.
UserDescriptionĐiều khiển mô tả được hiển thị ở góc trên bên phải của biểu đồ, giúp dễ dàng phân biệt giữa các bản sao của EA với các cài đặt khác nhau. (Cài đặt này không ảnh hưởng đến hành vi giao dịch.)
BackgroundColourMàu nền biểu đồ mà EA sử dụng. Điều này có thể được thay đổi để dễ dàng phân biệt giữa các bản sao của EA với các cài đặt khác nhau.
LabelColourMàu của các nhãn văn bản của EA (có thể cần thay đổi nếu bạn thay đổi màu nền).
SendWarningsByEmailBất kỳ vấn đề nào yêu cầu sự chú ý của người dùng luôn được hiển thị trên màn hình. Nếu cài đặt này được bật, chúng cũng sẽ được gửi qua email (sử dụng chi tiết được cấu hình trong Tools/Options/Email của MT4/5).
WarningEmailSubjectLineNếu SendWarningsByEmail được bật, dòng tiêu đề để sử dụng cho bất kỳ email cảnh báo nào.
4.1.6 Các tham số gửi: cài đặt nâng cao.
Cài đặt nâng cao.
TradeWatchFrequencyMSMT4: Điều khiển tần suất kiểm tra của tài khoản gửi để xem có lệnh mới đã được mở hoặc đã đóng hay không. Thông số này được tính bằng mili giây và có thể được đặt thấp nhất là 10. Tuy nhiên, các giá trị dưới 25 sẽ khiến MT4/5 bắt đầu sử dụng lượng lớn sức mạnh xử lý mà không có sự cải thiện thực sự trong việc đặt lệnh. Độ trễ trung bình trong việc phát hiện lệnh mới của tài khoản gửi sẽ bằng một nửa giá trị của tham số này; giá trị là 50 thường sẽ dẫn đến việc phát hiện lệnh mới sau 25 mili giây.
MT5: Cài đặt này phần lớn là thừa vì, không giống như MT4, MT5 thông báo cho các EA khi các lệnh mới được mở. EA gửi của MT5 không cần phải quét tài khoản và cài đặt TradeWatchFrequencyMS chỉ hoạt động như một phương án dự phòng trong trường hợp MT5 không phát hành thông báo lệnh mới.
SendOrderCommentsNếu tắt, điều này sẽ ngăn EA gửi nhận xét cho từng lệnh đến tài khoản nhận. Trên thực tế, nó sẽ tắt tham số UseOriginalOrderComments trong tài khoản nhận.
AllowExistingOrdersCho phép EA gửi tin nhắn về các lệnh đã mở khi nó khởi động.
CustomPipSizesCho phép bạn ghi đè tính toán kích thước pip mặc định của EA cho các ký hiệu cụ thể (dựa trên số chữ số trong giá). Ví dụ, để sử dụng kích thước pip là 0.1 cho vàng và 1.0 cho DAX:
XAUUSD=0.1,GER30=1.
4.2 Thông số của EA nhận.
4.2.1 Thông số nhận: kênh gửi.
Cài đặt máy chủ.
ChannelTên kênh để sử dụng để giao tiếp với tài khoản gửi. Chỉ nên có một tài khoản nhận và một tài khoản gửi trên mỗi kênh. Tài khoản nhận chỉ có thể nghe trên một kênh duy nhất; bạn không thể sử dụng danh sách phân tách bằng dấu phẩy cho tham số Kênh của tài khoản nhận. Tên kênh không được chứa bất kỳ ký tự nào sau đây: / \ : * ? ” < > |.
4.2.2 Thông số nhận: cài đặt tài khoản địa phương.
Cài đặt địa phương.
ForexSymbolSuffixBất kỳ hậu tố nào mà nhà môi giới sử dụng cho các ký hiệu forex. Ví dụ, nếu nhà môi giới gọi EURUSD là EURUSDcx, thì thông số này có thể được cài đặt thủ công thành cx. Nếu để trống, EA sẽ cố gắng phát hiện bất kỳ hậu tố nào mà nhà môi giới của nó sử dụng. Nếu bạn muốn EA không sử dụng hậu tố và không sử dụng phát hiện tự động, thì đặt tham số này thành “none” hoặc “(none)”.
CustomSymbolMappingsDanh sách các ký hiệu được phân tách bằng dấu phẩy cần ánh xạ đặc biệt giữa tài khoản phát sóng và tài khoản nhận. Ví dụ: GOLD=XAUUSD, CRUDE_OIL=OIL sẽ chuyển đổi giao dịch phát sóng cho GOLD thành giao dịch nhận cho XAUUSD và giao dịch phát sóng cho CRUDE_OIL thành giao dịch nhận cho OIL. Nếu nhà môi giới nhận sử dụng hậu tố như cx, thì cần phải bao gồm điều này trong ánh xạ: ví dụ: GOLD=XAUUSDcx.
CustomPipSizesTheo mặc định, phần mềm sử dụng định nghĩa về kích thước pip cho một công cụ dựa trên số chữ số thập phân mà nhà môi giới báo giá. Bạn có thể ghi đè điều này bằng cách sử dụng danh sách kích thước pip được phân tách bằng dấu phẩy trong trường CustomPipSizes. Ví dụ:
XAUUSD=0.10, XAGUSD=0.05.
CustomLotMultipliersChủ yếu sử dụng cho CFDs, nơi có thể có sự khác biệt về kích thước hợp đồng giữa tài khoản gửi và tài khoản nhận. Cho phép bạn điều chỉnh khối lượng trên các công cụ cụ thể, trước khi áp dụng tất cả các chuyển đổi kích thước lô khác. Ví dụ, nếu hợp đồng DAX và CAC40 của tài khoản gửi nhỏ hơn 100 lần so với hợp đồng của tài khoản nhận, thì thiết lập sau đây sẽ điều chỉnh việc tính toán trên tài khoản nhận để làm cho các giao dịch nhỏ hơn 100 lần. Tên ký hiệu trong danh sách này phải là tên ký hiệu chính xác trên tài khoản nhận, bao gồm cả bất kỳ hậu tố nào:
DAX=0.01, CAC40=0.01.
4.2.3 Thông số nhận: chấp nhận/từ chối tín hiệu vào lệnh.
Chấp nhận/từ chối tín hiệu vào lệnh.
IgnoreNewEntrySignalsNếu bật, EA sẽ bỏ qua tất cả các tín hiệu vào lệnh mới đến từ tài khoản gửi – có thể được sử dụng để ngăn chặn EA mở các giao dịch mới, trong khi vẫn tiếp tục quản lý các giao dịch hiện có.
PermittedSymbolsNếu không để trống, các giao dịch từ tài khoản gửi sẽ bị bỏ qua trừ khi chúng là các ký hiệu trong danh sách được phân tách bằng dấu phẩy này. Điều này phải khớp chính xác với tên của nhà môi giới trên tài khoản nhận, bao gồm cả chữ hoa/chữ thường như: EURUSDfx, GBPUSDfx
Bạn cũng có thể bắt đầu danh sách bằng ! để có nghĩa là “tất cả các ký hiệu đều được phép ngoại trừ những ký hiệu sau”. Ví dụ:
!EURUSDfx, GBPUSDfx.
BuySellOnlyNếu không bằng 0, giới hạn hướng mà trình sao chép sẽ đặt lệnh. Giá trị là 1 có nghĩa là tài khoản nhận sẽ chỉ đặt lệnh mua; giá trị là 2 có nghĩa là tài khoản nhận sẽ chỉ đặt lệnh bán. (Giá trị 0 có nghĩa là chấp nhận tất cả các lệnh.)
IncludeTradingTimesBị bỏ qua nếu để trống. Nếu không, định nghĩa danh sách các khoảng thời gian mỗi ngày mà tài khoản nhận được phép giao dịch; các thông báo lệnh mới ngoài các khoảng thời gian này sẽ bị bỏ qua. Xem dưới đây để biết định dạng của tham số này.
day_TradingTimesTương tự như IncludeTradingTimes, nhưng định nghĩa các phạm vi được phép riêng biệt cho mỗi ngày trong tuần.
IgnoreOrdersSmallerThanLotsBị bỏ qua nếu bằng 0. Nếu không bằng 0, tham số này xác định kích thước lệnh tối thiểu và tài khoản nhận sẽ không giao dịch các lệnh nhỏ hơn kích thước này. Tham số này được áp dụng sau khi chuyển đổi khối lượng giao dịch của tài khoản gửi bằng cách sử dụng các tham số kích thước lô bên dưới. Ví dụ, nếu kích thước lô của tài khoản gửi là 0.5 và điều này được dịch sang kích thước lô của tài khoản nhận là 0.3, thì giới hạn được áp dụng cho kích thước 0.3.
IgnoreOrdersLargerThanLotsBị bỏ qua nếu bằng 0. Nếu không bằng 0, tham số này xác định kích thước lệnh tối đa và tài khoản nhận sẽ không giao dịch các lệnh lớn hơn kích thước này. Tham số này được áp dụng sau khi chuyển đổi khối lượng giao dịch của tài khoản gửi bằng cách sử dụng các tham số kích thước lô bên dưới. Ví dụ, nếu kích thước lô của tài khoản gửi là 0.5 và điều này được dịch sang kích thước lô của tài khoản nhận là 0.3, thì giới hạn được áp dụng cho kích thước 0.3.
MinSenderLotSizeTương tự như IgnoreOrdersSmallerThanLots, nhưng được áp dụng đối với khối lượng của tài khoản gửi trước khi điều chỉnh nó bằng cách sử dụng các thiết lập như UseRiskFactor. Ví dụ, nếu kích thước lô của tài khoản gửi là 0.5 và điều này được dịch sang kích thước lô của tài khoản nhận là 0.3, thì giới hạn được áp dụng cho kích thước 0.5.
MaxSenderLotSizeTương tự như IgnoreOrdersLargerThanLots, nhưng được áp dụng đối với khối lượng của tài khoản gửi trước khi điều chỉnh nó bằng cách sử dụng các thiết lập như UseRiskFactor. Ví dụ, nếu kích thước lô của tài khoản gửi là 0.5 và điều này được dịch sang kích thước lô của tài khoản nhận là 0.3, thì giới hạn được áp dụng cho kích thước 0.5.
MaxSpreadPipsChặn các lệnh mới nếu khoảng cách chênh lệch hiện tại trên ký hiệu rộng hơn số lượng pips đã chỉ định. Giá trị bằng 0 sẽ vô hiệu hóa kiểm tra khoảng cách chênh lệch này.
CheckForExistingPositionTùy chọn ngăn chặn giao dịch nếu tài khoản nhận có lệnh giao dịch hiện tại hoặc lệnh đang chờ xử lý. Bạn có thể cấu hình tài khoản nhận để bỏ qua các tín hiệu nếu có bất kỳ giao dịch mở hoặc lệnh cho cùng một ký hiệu, hoặc cụ thể hơn nếu có giao dịch hoặc lệnh theo cùng một hướng với tín hiệu mới.
4.2.4 Thông số nhận: chấp nhận/từ chối tín hiệu thoát lệnh.
Chấp nhận/từ chối tín hiệu thoát lệnh.
IgnoreAllExitSignalsNếu bật, EA sẽ bỏ qua tất cả các tín hiệu thoát lệnh đến từ tài khoản gửi – có thể được sử dụng nếu bạn muốn tự kiểm soát thời điểm nên đóng các giao dịch.
IgnoreExitSignalsForTicketIdsNếu không để trống, danh sách các mã vé được phân tách bằng dấu phẩy (trên tài khoản nhận, không phải tài khoản gửi) sẽ không được quản lý bởi trình sao chép giao dịch. Điều này cho phép một số giao dịch được kiểm soát thủ công, nhưng không phải tất cả.
4.2.5 Thông số nhận: quản lý trượt giá.
Quản lý trượt giá.
TradeAllOrdersAtMarketNếu bật, tài khoản nhận sẽ luôn mua/bán theo giá thị trường hiện tại của nó, bất kể có sự chênh lệch nào giữa giá đó và giá của tài khoản gửi. Nếu thiết lập này được bật, ba thiết lập sau đây sẽ trở nên không cần thiết và sẽ bị bỏ qua.
AllowSlippagePipsXác định giá của tài khoản nhận cần gần đến mức nào so với giá vào lệnh của tài khoản gửi để tín hiệu được chấp nhận. Ví dụ, nếu tài khoản gửi mua GBPUSD ở mức 1.34235 và AllowSlippagePips được đặt thành 2.0, thì tài khoản nhận sẽ giao dịch tín hiệu với điều kiện giá bán hiện tại của nó không vượt quá 1.34255. (Thiết lập này sẽ bị bỏ qua nếu TradeAllOrdersAtMarket được bật.)
PlaceLimitOrderIfSlippedNếu giá của tài khoản nhận vượt quá ngưỡng AllowSlippagePips, thì tham số này xác định liệu tài khoản nhận có nên cố gắng đặt một lệnh giới hạn – tức là chờ giá trở lại mức vào lệnh của tài khoản gửi. (Thiết lập này sẽ bị bỏ qua nếu TradeAllOrdersAtMarket được bật.)
LimitOrderExpirationMinutesChỉ được sử dụng nếu PlaceLimitOrderIfSlipped được bật. Tham số này xác định thời gian lệnh giới hạn có hiệu lực – tức là mức giá cần phải quay lại mức vào lệnh của tài khoản gửi nhanh như thế nào trước khi loại bỏ tín hiệu. Lưu ý rằng một số nhà môi giới có các khoảng thời gian hết hạn tối thiểu (ví dụ: không có hạn hoặc không ít hơn 15 phút). Các lệnh sẽ thất bại (thường với lỗi MT4/5 số #3) nếu thiết lập này quá thấp.
ImmediateCloseOnSlippagePipsĐóng giao dịch mới ngay lập tức nếu giá thực tế khác với giá báo dự kiến bởi số lượng pips đã chỉ định. Giá trị bằng 0 sẽ vô hiệu hóa kiểm tra này.
MarketOrderSlippageParameterChỉ áp dụng cho các nhà môi giới sử dụng việc thực hiện ngay lập tức thay vì thực hiện theo giá thị trường. Tham số này xác định độ lệch tối đa so với giá hiện tại mà EA chấp nhận, tương đương với thiết lập “độ lệch tối đa” khi đặt lệnh thủ công. Lưu ý rằng các nhà môi giới không nhất thiết phải tuân thủ chính xác tham số này. Giá trị mặc định là 9999 về cơ bản hướng dẫn các nhà môi giới thực hiện ngay lập tức hành xử như các nhà môi giới thực hiện theo giá thị trường.
4.2.6 Thông số nhận: quản lý lệnh
Quản lý lệnh
OrderRetriesKhi đặt lệnh thị trường, số lần lệnh được thử lại nếu nhà môi giới báo lại giá.
RequireSenderFillWithinMinutesNếu một lệnh chờ được khớp trên tài khoản nhận, nhưng vẫn chưa được khớp trên tài khoản gửi, thì tài khoản nhận sẽ đóng lệnh này sau số phút đã chỉ định nếu lệnh vẫn chưa được khớp trên tài khoản gửi. Tham số này sẽ bị bỏ qua nếu bằng hoặc nhỏ hơn không.
MagicNumberMột số ma thuật được sử dụng bởi tài khoản gửi để theo dõi các giao dịch của nó. Nếu để ở mức không, EA sẽ tự động chọn một số ma thuật duy nhất dựa trên tên kênh. Mỗi EA nhận đang chạy trong một bản sao của MT4/5 phải sử dụng một số ma thuật khác nhau.
InvertTradesNếu bật, hướng của giao dịch của tài khoản phát sẽ bị đảo ngược, với lệnh mua trở thành lệnh bán, v.v.
UseOriginalOrderCommentsYêu cầu tài khoản nhận sử dụng bình luận lệnh gốc từ tài khoản gửi, thay vì hành vi thông thường của nó là theo dõi số vé của tài khoản gửi trong bình luận lệnh. Lưu ý rằng thiết lập này có các tác động đến khắc phục thảm họa.
UseCustomOrderCommentYêu cầu tài khoản nhận sử dụng bình luận cố định này cho tất cả các lệnh. Thiết lập này sẽ ghi đè bất kỳ bình luận nào trên lệnh gốc và cũng ghi đè tham số UseOriginalOrderComments. Lưu ý rằng thiết lập này có các tác động đến khắc phục thảm họa.
PreventPartialExitsNgăn tài khoản nhận thực hiện đóng lệnh một phần; một vị thế luôn được đóng hoàn toàn nếu tài khoản gửi đóng bất kỳ phần nào của vị thế của mình.
IgnorePartialExitsYêu cầu tài khoản nhận bỏ qua việc đóng lệnh một phần, giữ nguyên khối lượng giao dịch ban đầu mà không thay đổi. Vị thế chỉ được đóng trên tài khoản nhận khi phần cuối cùng được đóng trên tài khoản gửi. PreventPartialExits được ưu tiên; IgnorePartialExits bị bỏ qua nếu PreventPartialExits được bật.
EntryOffsetPipsNếu không bằng không, tạo lệnh giới hạn hoặc lệnh dừng trên/dưới giá vào lệnh của tài khoản gửi, thay vì lệnh mua/bán. Một giá trị dương đặt lệnh dừng; một giá trị âm đặt lệnh giới hạn. Ví dụ, giá trị -10 có nghĩa là khi tài khoản gửi mở vị thế bán, tài khoản nhận sẽ đặt lệnh bán giới hạn 10 pips ngoài giá của tài khoản gửi.
4.2.7 Các thông số về kích thước lệnh của tài khoản nhận: chế độ kích thước lệnh.
Kích thước lệnh
Các thiết lập sau được sử dụng theo thứ tự. Ví dụ, EquityPerLot sẽ chỉ được sử dụng nếu UseFixedLotSize, UseRiskFactor và UseLotSizeMultiplier được tắt bằng cách đặt chúng về không.
UseFixedLotSizeNếu không bằng không, tài khoản nhận sẽ sử dụng kích thước lệnh cố định này thay vì giá trị được xác định bởi tài khoản gửi. Ghi đè UseRiskFactor và UseLotSizeMultiplier.
UseRiskFactorNếu không bằng không, yêu cầu tài khoản nhận giao dịch một bội số của kích thước lệnh từ tài khoản gửi dựa trên vốn của tài khoản nhận so với vốn của tài khoản gửi. Ví dụ, nếu vốn của tài khoản gửi là $1000 và vốn của tài khoản nhận là $2000, và UseRiskFactor được đặt là 1, thì tài khoản nhận sẽ giao dịch gấp đôi kích thước lệnh của tài khoản gửi. Ghi đè UseLotSizeMultiplier.
UseLotSizeMultiplierNếu không bằng không, điều chỉnh kích thước lệnh nhận được từ tài khoản gửi để tài khoản nhận sử dụng bội số này của kích thước lệnh phát, ví dụ, 0.1 để giao dịch một phần mười của kích thước lệnh gốc.
EquityPerLotNếu không bằng không, tính toán kích thước lệnh dựa trên vốn của tài khoản nhận, bỏ qua kích thước lệnh của tài khoản gửi. Ví dụ, nếu vốn tài khoản của tài khoản nhận là $4,800, và EquityPerLot là $10,000, thì tài khoản nhận sẽ giao dịch 0.48 lệnh.
BalancePerLotNếu không bằng không, tính toán kích thước lệnh dựa trên số dư tài khoản của tài khoản nhận, bỏ qua kích thước lệnh của tài khoản gửi. Ví dụ, nếu số dư tài khoản của tài khoản nhận là $3,200, và BalancePerLot là $10,000, thì tài khoản nhận sẽ giao dịch 0.32 lệnh.
CashRiskFixedNếu không bằng không, một số tiền tối đa (chẳng hạn như $100) được phép rủi ro cho mỗi giao dịch. Yêu cầu các giao dịch của tài khoản gửi phải có điểm dừng lỗ, hoặc tham số FixedSLPips phải được đặt.
CashRiskEquityPercentageNếu không bằng không, một phần trăm tối đa của vốn chủ sở hữu của bạn để rủi ro cho mỗi giao dịch. Yêu cầu các giao dịch của tài khoản gửi phải có điểm dừng lỗ, hoặc tham số FixedSLPips phải được đặt.
CashRiskBalancePercentageNếu không bằng không, một phần trăm tối đa của vốn chủ sở hữu số dư của bạn để rủi ro cho mỗi giao dịch. Yêu cầu các giao dịch của tài khoản gửi phải có điểm dừng lỗ, hoặc tham số FixedSLPips phải được đặt.
NotionalDepositVolumeNếu không bằng không, yêu cầu tài khoản nhận giao dịch một số tiền cố định của loại tiền gửi.
CalculateRiskFactorFromBalanceNếu bật, kích thước lệnh dựa trên rủi ro (UseRiskFactor) sẽ được tính dựa trên số dư tài khoản, không phải vốn chủ sở hữu tài khoản.
4.2.8 Các thông số về giới hạn kích thước lệnh của tài khoản nhận.
Giới hạn kích thước lệnh.
MaxLotsBỏ qua nếu UseFixedLotSize được bật (tức là không bằng không). Giới hạn một tính toán kích thước lệnh thay đổi (ví dụ: từ UseRiskFactor) để nó không dẫn đến một giá trị nguy hiểm lớn. Nếu bạn muốn ngăn chặn một lệnh được giao dịch, thay vì giới hạn kích thước lệnh của nó, hãy sử dụng IgnoreOrdersLargerThanLots.
MinLotsBỏ qua nếu UseFixedLotSize được bật (tức là không bằng không). Giới hạn một tính toán kích thước lệnh thay đổi (ví dụ: từ UseRiskFactor) để nó không dẫn đến một giá trị quá nhỏ. Nếu bạn muốn ngăn chặn một lệnh được giao dịch, thay vì giới hạn kích thước lệnh của nó, hãy sử dụng IgnoreOrdersSmallerThanLots.
CentAccountBật cho các tài khoản mà tất cả giá trị đều tính bằng cent thay vì đô la. Tương đương với việc đặt các tham số như UseRiskFactor và LotSizeMultiplier thành 0.01 thay vì 100.
RoundUpToBrokerMinimumBỏ qua nếu UseFixedLotSize được bật (tức là không bằng không). Nếu không, xác định phải làm gì nếu kích thước lệnh nhỏ hơn mức tối thiểu từ nhà môi giới của tài khoản nhận – ví dụ: nhà môi giới có mức tối thiểu là 0.1 lệnh; tài khoản gửi xác định 0.1 lệnh; và tài khoản nhận có UseLotSizeMultiplier đặt là 0.5; dẫn đến kích thước là 0.05 lệnh. Nếu RoundUpToBrokerMinimum được bật thì tài khoản nhận sẽ thực hiện giao dịch và sử dụng kích thước lệnh tối thiểu của nhà môi giới. Nếu thiết lập này bị tắt, tài khoản nhận sẽ bỏ qua giao dịch.
LotSizingAlwaysRoundDownNếu chuyển đổi kích thước lệnh từ tài khoản gửi dẫn đến một giá trị như 0.0256, yêu cầu EA luôn làm tròn xuống (thành 0.02) thay vì làm tròn đến kích thước được phép gần nhất (0.03).
4.2.9 Các thông số về lệnh dừng lỗ và chốt lời của tài khoản nhận.

Xin xem các ghi chú về thời điểm sử dụng các lệnh dừng lỗ (s/l) và chốt lời (t/p) của tài khoản nhận.

S/L và T/P
FixedSLPipsNếu không bằng không, một số pip cố định để sử dụng cho lệnh dừng lỗ trên tất cả các giao dịch. Nếu bật tùy chọn này, bất kỳ lệnh dừng lỗ nào được sử dụng bởi tài khoản gửi sẽ bị bỏ qua. Bạn phải bật FixedSLPips để sử dụng bất kỳ chế độ kích thước lệnh rủi ro tiền mặt nào như FixedCashRisk.
FixedTPPipsNếu không bằng không, một số pip cố định để sử dụng cho lệnh chốt lời trên tất cả các giao dịch. Nếu bật tùy chọn này, bất kỳ lệnh chốt lời nào được sử dụng bởi tài khoản gửi sẽ bị bỏ qua.
MirrorSLandTPChangesNếu bật, tài khoản nhận sẽ sao chép lệnh dừng lỗ (s/l) và chốt lời (t/p) trên mỗi lệnh – nhưng chỉ khi FixedSLPips và FixedTPPips không được sử dụng. Cũng kiểm soát việc thay đổi giá nhập trên các lệnh chờ có được sao chép hay không.
MinSLPipsBỏ qua nếu FixedSLPips được sử dụng. Nếu không, nếu không bằng không, các tín hiệu sẽ được điều chỉnh để lệnh dừng lỗ trên các giao dịch không bao giờ nhỏ hơn số pip này.
MaxSLPipsBỏ qua nếu FixedSLPips được sử dụng. Nếu không, nếu không bằng không, các tín hiệu sẽ được điều chỉnh để lệnh dừng lỗ trên các giao dịch không bao giờ lớn hơn số pip này. Nếu tài khoản gửi không xác định một lệnh dừng lỗ thì số pip này sẽ được sử dụng.
MaxCashRiskPerTradeNếu không bằng không, các giao dịch từ tài khoản gửi sẽ bị bỏ qua nếu tổn thất tiềm ẩn lớn hơn số tiền này (tính theo loại tiền gửi của tài khoản nhận), dựa trên kích thước lệnh và điểm dừng lỗ. Các giao dịch sẽ bị bỏ qua nếu tài khoản gửi không xác định điểm dừng lỗ và tài khoản nhận không bật MaxSLPips (bởi vì tổn thất có thể không giới hạn). Xin lưu ý rằng rủi ro này được tính toán dựa trên giá trị tick tại thời điểm đặt giao dịch, và giá trị này có thể thay đổi trong khi giao dịch đang hoạt động. Việc tính toán rủi ro cũng không bao gồm bất kỳ sự trượt giá nào so với giá nhập của tài khoản gửi.
MaxTPPipsNếu không bằng không, các tín hiệu sẽ được điều chỉnh để lệnh chốt lời trên các giao dịch không bao giờ lớn hơn số pip này. Nếu tài khoản gửi không xác định một lệnh chốt lời thì số pip này sẽ được sử dụng.
TrailingStopPipsNếu không bằng không, áp dụng lệnh dừng lỗ động cho tất cả các lệnh, thay thế và bỏ qua bất kỳ điểm dừng lỗ nào được chỉ định bởi tài khoản gửi. Bộ sao chép sử dụng lệnh dừng lỗ động “cổ điển” có hiệu lực ngay lập tức, không giống như các lệnh dừng lỗ động của MT4/5 chỉ áp dụng khi một lệnh đã có lợi nhuận.
4.2.10 Các thông số về quản lý tài khoản của tài khoản nhận.
Quản lý tài khoản.
StopTradingBelowEquityNếu bật (lớn hơn không), EA sẽ ngừng nhận tín hiệu mới và cố gắng đóng tất cả các lệnh hiện có của nó nếu vốn chủ sở hữu tài khoản giảm dưới giá trị tiền mặt này. EA không đóng bất kỳ lệnh nào mà nó không chịu trách nhiệm – tức là từ các EA khác hoặc từ giao dịch thủ công.
StopTradingAtDrawdownPercentNếu bật (nhỏ hơn không), EA sẽ ngừng nhận tín hiệu mới và cố gắng đóng tất cả các lệnh hiện có của nó nếu lợi nhuận/lỗ thả nổi giảm dưới phần trăm số dư được chỉ định. Phần trăm phải được nhập dưới dạng số âm. Ví dụ, nếu giá trị được đặt là -40, thì EA sẽ kết thúc nếu ví dụ như lợi nhuận tài khoản giảm dưới $-800 trên số dư $2000. EA không đóng bất kỳ lệnh nào mà nó không chịu trách nhiệm – tức là từ các EA khác hoặc từ giao dịch thủ công.
MaxOpenOrders_TotalNếu bật (nhỏ hơn không), EA sẽ ngừng nhận tín hiệu mới và cố gắng đóng tất cả các lệnh hiện có của nó nếu lợi nhuận/lỗ thả nổi giảm dưới phần trăm số dư được chỉ định. Phần trăm phải được nhập dưới dạng số âm. Ví dụ, nếu giá trị được đặt là -40, thì EA sẽ kết thúc nếu ví dụ như lợi nhuận tài khoản giảm dưới $-800 trên số dư $2000. EA không đóng bất kỳ lệnh nào mà nó không chịu trách nhiệm – tức là từ các EA khác hoặc từ giao dịch thủ công.
MaxOpenOrders_FromCopierNhư trên, nhưng số lượng chỉ bao gồm các lệnh được đặt bởi EA của tài khoản nhận. Có thể có bất kỳ số lượng lệnh nào từ các EA khác hoặc từ giao dịch thủ công.
MaxTradesPerDay_TotalNếu không bằng không, EA sẽ ngừng nhận tín hiệu mới nếu tổng hoạt động trên tài khoản đã đạt đến số lượng lệnh này trong ngày. Bao gồm tất cả các lệnh từ tất cả các EA và từ giao dịch thủ công, và bao gồm các lệnh chờ mở cũng như các giao dịch đã mở và đã đóng (nhưng không bao gồm các lệnh chờ đã hủy).
CalculateProfitFromOwnOrdersOnlyTheo mặc định, StopTradingAtDrawdownPercent được tính toán bằng cách sử dụng tất cả các giao dịch mở trên tài khoản. Bật tùy chọn CalculateProfitFromOwnOrdersOnly sẽ thay đổi cách tính toán để tài khoản nhận chỉ xem xét mức giảm liên quan đến các giao dịch của chính nó, bỏ qua bất kỳ hoạt động nào khác trên tài khoản.
BalanceDateForDrawdownNếu được chỉ định, việc tính toán số dư cho StopTradingAtDrawdownPercent bao gồm tất cả các giao dịch, bỏ qua CalculateProfitFromOwnOrdersOnly, cho đến nhưng không bao gồm ngày chỉ định. Việc tính toán các giao dịch đã đóng và đang mở sẽ từ ngày chỉ định trở đi, chỉ xem xét các lệnh của Copier nếu CalculateProfitFromOwnOrdersOnly được bật. Nếu không được chỉ định (ngày mặc định là 1/1/1970), thì StopTradingAtDrawdownPercent sử dụng số dư hiện tại.
MaxTradesPerDay_FromCopierNhư trên, nhưng số lượng chỉ bao gồm các lệnh được đặt bởi EA của tài khoản nhận. Có thể có bất kỳ số lượng lệnh nào từ các EA khác hoặc từ giao dịch thủ công.
MaxLosingTradesPerDay_TotalNếu không bằng không, EA sẽ ngừng nhận tín hiệu mới nếu số lượng giao dịch thua lỗ đã đóng (không mở) trong ngày hôm nay đạt đến ngưỡng xác định. Bao gồm tất cả các lệnh từ tất cả các EA và từ giao dịch thủ công. Số lượng này chỉ áp dụng cho các giao dịch đã đóng, không phải các vị trí đang mở. Giới hạn là 1 không ngăn Copier mở 5 giao dịch đồng thời đều thua lỗ.
MaxLosingTradesPerDay_FromCopierNhư trên, nhưng số lượng chỉ bao gồm các lệnh được đặt bởi EA của tài khoản nhận. Có thể có bất kỳ số lượng lệnh nào từ các EA khác hoặc từ giao dịch thủ công.
4.2.11 Các thông số về thông báo và cảnh báo của tài khoản nhận.
Thông báo và cảnh báo.
UserDescriptionKiểm soát mô tả được hiển thị ở góc trên bên phải của biểu đồ, giúp dễ dàng phân biệt giữa nhiều bản sao của EA với các cài đặt khác nhau. (Thiết lập này không ảnh hưởng đến hành vi giao dịch.)
BackgroundColourMàu nền biểu đồ mà EA sử dụng. Điều này có thể được thay đổi để dễ dàng phân biệt giữa nhiều bản sao của EA với các cài đặt khác nhau.
LabelColourMàu sắc của nhãn văn bản EA (có thể cần thay đổi nếu bạn thay đổi màu nền).
NewOrders_AlertOnScreenNếu bật, EA sẽ hiển thị một cảnh báo trên màn hình về mỗi giao dịch mới mà nó mở.
NewOrders_AlertByEmailNếu bật, EA sẽ gửi một email về mỗi giao dịch mới mà nó mở (sử dụng các cài đặt trong Tools/Options/Email của MT4/5).
ClosedOrders_AlertOnScreenNếu bật, EA sẽ hiển thị một cảnh báo trên màn hình về mỗi giao dịch mà nó đóng.
ClosedOrders_AlertByEmailNếu bật, EA sẽ gửi một email về mỗi giao dịch mà nó đóng (sử dụng các cài đặt trong Tools/Options/Email của MT4/5).
RejectedOrders_AlertOnScreenNếu bật, EA sẽ hiển thị một thông báo trên màn hình về mỗi lệnh mà nó chọn không giao dịch (ví dụ: vì kích thước lệnh quá lớn/nhỏ).
RejectedOrders_AlertOnScreenNếu bật, EA sẽ hiển thị một thông báo trên màn hình về mỗi lệnh bị từ chối bởi nhà môi giới.
RejectedOrders_AlertByEmailNếu bật, EA sẽ gửi một email về mỗi giao dịch bị từ chối bởi nhà môi giới (sử dụng các cài đặt trong Tools/Options/Email của MT4/5).
Problems_AlertByEmailBất kỳ vấn đề nào cần người dùng chú ý sẽ luôn được hiển thị trên màn hình. Thiết lập này xác định xem các thông báo này có được gửi qua email hay không (sử dụng các cài đặt trong Tools/Options/Email của MT4/5).
AlertIfHeartbeatMissingSecondsNếu không bằng không, EA sẽ tạo ra một cảnh báo nếu không nhận được tín hiệu “heartbeat” từ tài khoản gửi trong khoảng thời gian này (tính theo giây).
NoHeartbeat_AlertOnScreenNếu AlertIfHeartbeatMissingSeconds được bật, điều khiển xem các cảnh báo về tín hiệu “heartbeat” bị mất có được hiển thị trên màn hình hay không.
NoHeartbeat_AlertByEmailNếu AlertIfHeartbeatMissingSeconds được bật, điều này sẽ điều khiển xem các cảnh báo về tín hiệu “heartbeat” bị mất có được gửi qua email hay không.
Văn bản cảnh báo (xem các biến bên dưới)
OrderOpen_ScreenAlertTextVăn bản để hiển thị liên quan đến NewOrders_AlertOnScreen.
OrderOpen_EmailSubjectLineDòng tiêu đề cho email được gửi bởi NewOrders_AlertByEmail.
OrderOpen_EmailBodyVăn bản nội dung cho email được gửi bởi NewOrders_AlertByEmail.
OrderClose_ScreenAlertTextVăn bản để hiển thị liên quan đến ClosedOrders_AlertOnScreen.
OrderClose_EmailSubjectLineDòng tiêu đề cho email được gửi bởi ClosedOrders_AlertByEmail.
OrderClose_EmailBodyVăn bản nội dung cho email được gửi bởi ClosedOrders_AlertByEmail.
NoHeartbeat_ScreenAlertTextVăn bản để hiển thị trên màn hình về các tin nhắn “heartbeat” bị mất, nếu AlertIfHeartbeatMissingSeconds được bật.
NoHeartbeat_EmailSubjectLineDòng tiêu đề email để sử dụng về các tin nhắn “heartbeat” bị mất, nếu AlertIfHeartbeatMissingSeconds được bật.
NoHeartbeat_EmailBodyVăn bản nội dung email để sử dụng về các tin nhắn “heartbeat” bị mất, nếu AlertIfHeartbeatMissingSeconds được bật.
4.3 Các biến để sử dụng trong văn bản cảnh báo của người nhận.

Bạn có thể kiểm soát văn bản được hiển thị bởi tài khoản nhận trên màn hình hoặc gửi qua email. Các biến sau đây có thể được sử dụng trong các tham số văn bản cảnh báo như OrderOpen_ScreenAlertText:

BiếnMô tả
{CHANNEL}Tên của kênh mà EA đang nhận tin nhắn.
{ACC}Số tài khoản nhà môi giới MT4/5.
{TICKET}Số vé của lệnh từ tài khoản nhận.
{SYMBOL}Ký hiệu của lệnh từ tài khoản nhận.
{LOTS}Kích thước lệnh của tài khoản nhận.
{OPENTIME}Thời gian mở của lệnh từ tài khoản nhận (theo thời gian của nhà môi giới, không phải giờ địa phương hoặc UTC).
{OPENPRICE}Giá mở của lệnh từ tài khoản nhận.
{CLOSETIME}Thời gian đóng của lệnh từ tài khoản nhận (theo thời gian của nhà môi giới, không phải giờ địa phương hoặc UTC).
{CLOSEPRICE}Giá đóng của lệnh từ tài khoản nhận (bằng 0 đối với các lệnh đang mở).
{BUYSELL}“Mua” hoặc “Bán” tùy thuộc vào hướng của lệnh từ tài khoản nhận.
{CLOSEORDELETE}Nếu một lệnh đang bị hủy, “đã đóng” hoặc “đã xóa” tùy thuộc vào việc công cụ sao chép giao dịch đang đóng một lệnh mở hay xóa một lệnh đang chờ xử lý.
{PNL}Lợi nhuận/thua lỗ bằng tiền mặt của lệnh từ tài khoản nhận (không bao gồm phí qua đêm và hoa hồng).
{PNLPIPS}Lợi nhuận/thua lỗ của lệnh từ tài khoản nhận tính bằng pips.
{SWAP}Giá trị phí qua đêm của lệnh từ tài khoản nhận.
{COMM}Hoa hồng trên lệnh từ tài khoản nhận (một số âm cho phí hoa hồng đã tính).
{TOTALPNL}Tổng lợi nhuận/thua lỗ của lệnh từ tài khoản nhận: {PNL} cộng {SWAP} cộng {COMM}.
{COMMENT}Văn bản nhận xét được gán cho lệnh từ tài khoản nhận.
{POSITIONID}ID của tài khoản gửi cho tín hiệu.
{MAGIC}Số ma thuật được gán cho lệnh từ tài khoản nhận – tham số MagicNumber cho EA.
{SL}Giá dừng lỗ của lệnh từ tài khoản nhận (bằng 0 nếu không có).
{TP}Giá chốt lời của lệnh từ tài khoản nhận (bằng 0 nếu không có).
{LOCALTIME}Giờ địa phương của tài khoản nhận, theo đồng hồ của máy tính.
{BROKERTIME}Giờ lịch sử mới nhất từ nhà môi giới.
{CURR}Biểu tượng tiền gửi của tài khoản nhận.
{BALANCE}Số dư tài khoản của tài khoản nhận.
{EQUITY}Vốn tài khoản của tài khoản nhận.
{FREEMARGIN}Ký quỹ tự do của tài khoản nhận.
{MARGININUSE}Mức sử dụng ký quỹ của tài khoản nhận.
{COMPANY}Tên công ty nhà môi giới.
{TERMINALPATH}Vị trí cài đặt MT4/5 – ví dụ: C:\Program Files\MyBroker.
{CRLF}Chèn dòng mới, để sử dụng trong email.
4.4 Hạn chế thời gian giao dịch.

Tham số IncludeTradingTimes trong EA của tài khoản nhận cho phép bạn kiểm soát thời gian mỗi ngày khi tài khoản nhận được phép thực hiện giao dịch. Cũng có các tham số riêng biệt cho mỗi ngày trong tuần, chẳng hạn như Tuesday_TradingTimes. Bất kỳ thông báo lệnh nào nhận được ngoài thời gian này sẽ bị bỏ qua. Tất cả các thời gian đều được hiểu là giờ của nhà môi giới, không phải giờ địa phương.

Định dạng của tham số thời gian giao dịch là danh sách các khoảng thời gian được phép, mỗi khoảng có thể là một giờ (hoặc phút) đơn lẻ, hoặc một khoảng thời gian. Ví dụ như sau:

2:45 Chỉ cho phép giao dịch lúc 2:45 sáng (tức là từ 02:45:00 đến 02:45:59)

14 Chỉ cho phép giao dịch từ 2 giờ chiều đến 2 giờ 59 chiều

16-17:30 Chỉ cho phép giao dịch từ 4 giờ chiều đến 5 giờ 30 chiều

7:15-11 Chỉ cho phép giao dịch từ 7 giờ 15 sáng đến 11 giờ 59 sáng (lưu ý: 11:59, không phải 10:59 hay 11:00)

19:20-19:25 Chỉ cho phép giao dịch từ 7 giờ 20 tối đến 7 giờ 25 tối

Bất kỳ số lượng cài đặt nào trong số này đều có thể được kết hợp lại thành một danh sách các khoảng thời gian được phép (theo bất kỳ thứ tự nào). Do đó, các ví dụ trên có thể được kết hợp để tạo ra một cửa sổ giao dịch phức tạp như sau:

2:45,14,16-17:30,7:15-11,19:20-19:25

5 Chẩn đoán sự cố.

Các EA của tài khoản gửi và nhận tạo ra các bản ghi chép toàn diện về hoạt động của họ trong nhật ký chuyên gia của MT4/5.

  • Chúng tôi không thể trả lời các truy vấn hỗ trợ nếu thiếu các bản ghi này.
  • Nhật ký chuyên gia của MT4/5 khác biệt và tách biệt với Nhật ký MT4/5.

Bạn có thể xem các bản ghi của chương trình sao chép trong tab Experts của cửa sổ Terminal của phần mềm MT4/5 và bạn có thể mở các tệp nhật ký hàng ngày bằng cách nhấp chuột phải vào nhật ký Experts và chọn “Open” từ menu bật lên của MT4/5.

Xin lưu ý:

  • Chúng tôi cần các tệp nhật ký để trả lời các truy vấn hỗ trợ. Vui lòng không gửi cho chúng tôi ảnh chụp màn hình trừ khi chúng tôi yêu cầu cụ thể. Chúng tôi thường không thể trả lời các câu hỏi hỗ trợ từ ảnh chụp màn hình.
  • Vui lòng đảm bảo rằng bạn gửi cho chúng tôi nhật ký chuyên gia, không phải Nhật ký (trừ khi chúng tôi yêu cầu).
  • Hầu hết các câu hỏi về hành vi của chương trình sao chép đều được giải thích đơn giản bởi các bản ghi trong nhật ký chuyên gia. Vui lòng kiểm tra các nhật ký trước khi gửi chúng cho chúng tôi. Chương trình sao chép là phần mềm miễn phí và chúng tôi sẽ ưu tiên rất thấp cho các truy vấn hỗ trợ từ những người dùng dường như chưa kiểm tra nhật ký trước khi gửi chúng cho chúng tôi.
5.1 Không nhận được “nhịp tim”.

EA của tài khoản nhận phải bắt đầu nhận thông báo nhịp tim từ tài khoản gửi ngay sau khi khởi động, và hiển thị thời gian nhịp tim cuối cùng trên biểu đồ của nó. Nếu không nhận được nhịp tim nào, hoặc chương trình sao chép không tải được, vui lòng kiểm tra những điều sau:

  • Cả EA của tài khoản gửi và nhận đều sử dụng cùng một tên kênh.
  • Các bản sao của MT4/5 gửi và nhận đều được kết nối với nhà môi giới của họ.
  • Không có bản ghi nào trong nhật ký cho biết các EA đã bị buộc dừng vì lý do nào đó. Đặc biệt, vui lòng kiểm tra xem cài đặt “Allow DLL imports” có được bật không, và không có bản ghi nào trong nhật ký cho biết phần mềm đã bị dừng vì không thể tải DLL của nó.
5.2 Nhận được nhịp tim nhưng không sao chép giao dịch.

Nhật ký chuyên gia của MT4/5 trên tài khoản gửi và nhận sẽ xác nhận lý do tại sao một giao dịch không được sao chép. Nếu tài khoản nhận đang nhận nhịp tim từ tài khoản gửi và cập nhật thời gian nhịp tim cuối cùng, thì chỉ có hai lý do tại sao một giao dịch không được sao chép:

  • Tài khoản gửi không được cấu hình để phát đi giao dịch. Nhật ký của tài khoản gửi sẽ xác nhận liệu một giao dịch đã được gửi đến tài khoản nhận hay chưa, và nếu không, tại sao lại không.
  • EA của tài khoản nhận hoặc nhà môi giới của tài khoản nhận đã từ chối tín hiệu từ tài khoản gửi. Nhật ký của tài khoản nhận sẽ xác nhận việc nhận thông báo từ tài khoản gửi, và hiển thị bất kỳ sự từ chối nào cũng như lý do cho sự từ chối đó.

Các lý do thông thường khiến giao dịch không thể được sao chép như sau. Tất cả những lý do này sẽ được liệt kê và mô tả trong nhật ký.

  • Phần mềm không thể dịch giữa các tên ký hiệu được sử dụng trên tài khoản gửi và các tên ký hiệu trên tài khoản nhận. Bạn có thể cần điều chỉnh cài đặt ForexSymbolSuffix của tài khoản nhận hoặc, đặc biệt đối với các thị trường không phải fx, bạn có thể cần thêm CustomSymbolMapping.
  • Kích thước lô mặc định của phần mềm không phải là giao dịch cùng kích thước trên tài khoản nhận như trên tài khoản gửi. Chuyển đổi mặc định có thể dẫn đến việc các lệnh quá nhỏ để giao dịch trên tài khoản nhận. Bạn cần bật tham số RoundUpToBrokerMinimum trong EA của tài khoản nhận hoặc cần chọn chế độ định cỡ lô khác. Lưu ý rằng cả hai tùy chọn này đều sẽ có nghĩa là tài khoản nhận đang chấp nhận rủi ro cao hơn cho mỗi lệnh so với tài khoản gửi.
  • Nút “AutoTrading” chính trong MT4/5 đã tắt hoặc cài đặt “Allow live trading” chưa bật cho EA của tài khoản nhận. Lưu ý rằng tùy chọn trong MT4/5’s Tools / Options / Expert Advisors không ảnh hưởng đến bất kỳ EA nào đang chạy; cài đặt trong Tools / Options là mặc định cho khi bạn thêm EA vào biểu đồ lần sau. (“Allow live trading” trong MT4/5 có nghĩa là “cho phép giao dịch bằng hệ thống tự động”, không phải “cho phép giao dịch trên tài khoản thật thay vì tài khoản thử nghiệm”.)
  • Nếu sự chênh lệch giá giữa tài khoản gửi và tài khoản nhận lớn hơn AllowSlippagePips, hành vi mặc định của chương trình sao chép là mở lệnh chờ tại giá gốc của tài khoản gửi. Nhưng nhà môi giới của bạn có thể có khoảng cách tối thiểu giữa các lệnh chờ và giá thị trường hiện tại. Có thể sự chênh lệch lớn hơn AllowSlippagePips nhưng nhỏ hơn khoảng cách tối thiểu của nhà môi giới, khiến việc mở lệnh hoặc lệnh chờ trở nên không thể trừ khi bạn tăng AllowSlippagePips.
5.3 Các mã lỗi giao dịch từ máy chủ MT4/5.

Chương trình sao chép sẽ ghi lại bất kỳ sự từ chối nào bởi máy chủ MT4/5 của nhà môi giới. Tất cả các lỗi thông thường sẽ được kèm theo một mô tả (chẳng hạn như “yêu cầu lại giá” cho lỗi #138 trong MT4).

Để biết thêm thông tin về mã lỗi từ MT4/5, vui lòng xem tài liệu MT4/5:

Một số ghi chú thêm về các thông báo lỗi thường không rõ ràng trong tài liệu MT4/5:

  • Giao dịch tự động bị vô hiệu hóa (lỗi MT4 #4112, lỗi MT5 #10026): thường có nghĩa là tài khoản của bạn có nhiều phiên bản của mỗi ký hiệu, chẳng hạn như EURUSD và EURUSD+, và bạn đang cố gắng giao dịch sai ký hiệu. Giao dịch tự động thường không bị vô hiệu hóa; thường có nghĩa là phiên bản ký hiệu mà bạn đang cố gắng giao dịch bị nhà môi giới vô hiệu hóa và chỉ được đưa vào tài khoản cho các mục đích nội bộ. Bạn thường cần sử dụng cài đặt ForexSymbolSuffix hoặc CustomSymbolMapping để yêu cầu chương trình sao chép giao dịch một phiên bản ký hiệu khác.
  • Lỗi MT4 #130: điều này có thể có hai nguyên nhân riêng biệt. Hoặc là một lệnh cắt lỗ hoặc chốt lời gần với giá vào lệnh hơn so với nhà môi giới cho phép, hoặc giá vào lệnh trên một lệnh chờ gần với giá thị trường hiện tại hơn so với nhà môi giới cho phép.
  • Lỗi MT4 #136: thường chỉ ra một vấn đề bất ngờ trên máy chủ của nhà môi giới. Ví dụ, nhà môi giới đã mất kết nối với thanh khoản bên ngoài hoặc nguồn cấp giá bên ngoài và đang từ chối giao dịch của khách hàng vì không thể xử lý chúng vào thời điểm đó.
5.4 Giao dịch được mở nhiều lần.

Nếu cùng một giao dịch được sao chép nhiều lần trên tài khoản nhận thì có hai lời giải thích có thể xảy ra: bạn đang chạy nhiều phiên bản của bản sao nhận MT4/5 hoặc kết nối với nhà môi giới đang bị hết thời gian và nhà môi giới đang thực hiện các giao dịch mặc dù đã trả về thông báo lỗi.

5.4.1 Nhiều bản sao của cùng một tài khoản nhận.

Vui lòng sử dụng Windows Task Manager để kiểm tra rằng bạn chỉ có số lượng bản sao chạy của MT4/5 (terminal.exe / terminal64.exe) như mong đợi, đảm bảo sử dụng tùy chọn “Show processes from all users”.

Đặc biệt trên một VPS, rất dễ dàng để mở nhiều phiên làm việc từ xa một cách vô tình, và có cùng một bản sao của MT4/5 chạy trong nhiều phiên làm việc cùng một lúc.

5.4.2 Lỗi hết thời gian từ nhà môi giới.

Nếu máy chủ của nhà môi giới trả về lỗi hết thời gian, thì tài khoản nhận sẽ thử lại lệnh (trừ khi OrderRetries được đặt thành không). Mặc dù trả về lỗi, nhà môi giới có thể thực tế đã chấp nhận lệnh, và việc thử lại có thể tạo ra bản sao trùng lặp.

Nếu bạn nhận được lỗi hết thời gian từ máy chủ của nhà môi giới, bạn nên liên hệ với nhà môi giới của bạn. Điều này chỉ ra rằng hoặc có vấn đề với máy chủ của nhà môi giới hoặc có vấn đề với kết nối internet của bạn đến nhà môi giới.

5.5 Giao dịch được đóng ngay lập tức trên tài khoản nhận.

Nguyên nhân chính khiến các giao dịch được đóng ngay lập tức trên tài khoản nhận là có hơn một EA gửi thông điệp trên “Channel” được chỉ định.

Vui lòng kiểm tra các điều sau:

  • Kiểm tra nhật ký chuyên gia của MT4/5. Lý do cho tất cả các hành động của chương trình sao chép sẽ được xác nhận trong các nhật ký này.
  • Kiểm tra rằng bạn chỉ đang chạy một bản sao của EA gửi hoặc, nếu có nhiều EA gửi, kiểm tra rằng mỗi cái đang sử dụng một tham số kênh khác nhau.
  • Sử dụng Windows Task Manager để kiểm tra rằng bạn chỉ có số lượng bản sao đang chạy của MT4/5 (terminal.exe / terminal64.exe) như mong đợi, đảm bảo sử dụng tùy chọn “Show processes from all users”.

6 Tài khoản netting trên MT5

Phần này chỉ áp dụng cho MT5, không áp dụng cho MT4, và chỉ áp dụng cho các tài khoản netting trong MT5 (nơi có một vị thế duy nhất cho mỗi biểu tượng, thay vì các tài khoản hedging có các vé riêng biệt cho mỗi lần mua và bán).

Chương trình sao chép có thể được sử dụng trên các tài khoản netting của MT5, nhưng có những điều cần lưu ý thêm. Để sử dụng chương trình sao chép trên tài khoản netting, bạn cần bật cài đặt AllowMT5NettingAccount trong phần Advanced của các tùy chọn của EA, để chỉ ra rằng bạn đã đọc phần này của hướng dẫn sử dụng.

6.1 Tài khoản netting của tài khoản nhận.

Trên tài khoản netting của MT5, tài khoản nhận sẽ duy trì danh sách các vị thế “ảo”. Ví dụ:

  • Tài khoản gửi là tài khoản hedging và mở các vé riêng biệt cho một lệnh mua và sau đó là một lệnh bán trong EUR/USD. Tài khoản gửi không có vị thế ròng trong EUR/USD, nhưng có hai vé mở vì đó là tài khoản hedging.
  • Tài khoản netting của MT5 sẽ mở một vị thế EUR/USD (tương ứng với lệnh mua của tài khoản gửi) và sau đó đóng nó lại (tương ứng với lệnh bán của tài khoản gửi).
  • Nhưng tài khoản netting của MT5 vẫn đang theo dõi các vị thế mua và bán “ảo” trên tài khoản gửi.
  • Nếu tài khoản gửi đóng vé bán của nó, tài khoản netting sẽ mở lại vị thế mua của nó trong EUR/USD – tương ứng với vị thế ròng (vé mua) mà tài khoản gửi hiện có.

Có ba điều đặc biệt bạn cần lưu ý về việc sử dụng tài khoản nhận trên tài khoản netting của MT5:

  • Nếu bạn muốn đóng các vị thế của tài khoản nhận, bạn phải làm điều đó bằng cách sử dụng danh sách hiển thị ở góc trên bên phải của biểu đồ, và nút Đóng bên cạnh mỗi vé ảo. Bạn không thể đóng một vị thế ảo trong tài khoản nhận chỉ bằng cách đóng vị thế thực tế trên tài khoản của bạn. Tài khoản nhận không thể biết rằng hành động giao dịch của bạn – hoặc một EA khác, v.v. – được hiểu là đóng vị thế của tài khoản nhận thay vì là một hành động giao dịch độc lập.
    Ví dụ: Tài khoản gửi mở một vé mua. Tài khoản nhận mở một vị thế mua tương ứng. Bạn đóng thủ công vị thế mua trên tài khoản của bạn mà không sử dụng nút Đóng trên biểu đồ của tài khoản nhận. Tài khoản nhận vẫn coi vị thế ảo của nó là mở. Tài khoản gửi đóng vé mua của nó. Tài khoản nhận sẽ đặt một lệnh bán mới, mở một vị thế bán mới, phù hợp với hoạt động trên tài khoản gửi.
  • Tài khoản nhận sẽ không sao chép bất kỳ lệnh dừng lỗ hoặc chốt lời nào từ tài khoản gửi (vốn dĩ chỉ là một biện pháp bảo vệ). Tài khoản gửi có thể có nhiều vé với các lệnh dừng lỗ và chốt lời khác nhau trong khi tài khoản netting chỉ có thể có một lệnh dừng lỗ và chốt lời duy nhất. Các giao dịch vẫn sẽ được đóng khi chúng được đóng trên tài khoản gửi (hoặc biến mất khỏi nhịp tim của tài khoản gửi).
  • Tài khoản nhận phải theo dõi các vé ảo của nó bằng một tệp trên đĩa (trong MQL5\Files). Nếu bạn di chuyển tài khoản nhận sang một máy tính khác, bạn cần chuyển tệp này, nếu không tài khoản nhận sẽ mất bộ nhớ của các vé ảo mà nó đang mở.

Nguồn: https://www.fxblue.com/appstore/u62/mt5-personal-trade-copier/user-guide