Quản lý tiền:Hướng dẫn định cỡ lô-mql

Giới thiệu

Bạn có thể đã nghe điều này, nhưng việc chọn kích thước lô thích hợp cho hệ thống giao dịch của bạn là một thành phần quan trọng để phát triển một hệ thống tốt. Bạn có thể chỉ định kích thước lô chỉ đơn giản như khai báo một lô trong biến nội bộ làm kích thước lô cố định cho mọi đơn đặt hàng, nhưng chúng ta sẽ khám phá một phương pháp đơn giản để tính kích thước lô dựa trên phần trăm ký quỹ miễn phí của bạn.

Có một bài toán nhỏ đằng sau hậu trường, nhưng về cơ bản, nếu bạn chọn cài đặt rủi ro tùy chỉnh là 1, bạn sẽ giao dịch 0,01 micro lot cho mỗi 1K quy mô vốn chủ sở hữu. Do đó, với cài đặt rủi ro tùy chỉnh là 2 và kích thước tài khoản 10K, bạn sẽ bắt đầu với 0,2 lô và nó sẽ tự động cộng / trừ 0,01 lô cho mỗi 100 đô la lãi / lỗ. Kỹ thuật xác định kích thước lô tự động này rất đơn giản, nhưng rất hiệu quả để tự động cộng gộp lợi nhuận của bạn, giảm trừ các khoản lỗ của bạn hoặc tự động điều chỉnh các khoản tiền gửi và rút tiền trong tài khoản.

Tham số

MM

Bool:Bạn có sử dụng quản lý tiền hay không.

Rủi ro

Nhân đôi:Cài đặt rủi ro được xác định trước của bạn.

Rất nhiều

Double:Nếu MM bị tắt, đây là kích thước lô thủ công bạn sẽ sử dụng.

LotDigits

Double:Đây là số chữ số thập phân cho các lô do nhà môi giới của bạn cung cấp. Hầu hết có hai chữ số thập phân, nhưng một số có một.

Đoạn mã MT4

extern bool MM =TRUE;
extern double Risk =2;
extern double Lots =0,1;
extern double LotDigits =2;
double GetLots ()

{
double minlot =MarketInfo (Symbol (), MODE_MINLOT);
double maxlot =MarketInfo (Symbol (), MODE_MAXLOT);
double leverage =AccountLeverage ();
double lotize =MarketInfo (Symbol (), MODE_LOTSIZE);
double stoplevel =MarketInfo (Symbol (), MODE_STOPLEVEL);

đôi MinLots =0,01; nhân đôi MaximalLots =50.0;

if (MM)
{
double lot =Lots;

các lô kép =NormalizeDouble (AccountFreeMargin () * Risk / 100 / 1000.0, LotDigits);
nếu (lot if (lot> MaximalLots) lot =MaximalLots;
if (AccountFreeMargin () Print (“Chúng tôi không có tiền. Lots =“, Lot, ”, Free Margin =“, AccountFreeMargin ());
Bình luận (“Chúng tôi không có tiền. Lots =“, Lot, ”, Free Margin =“, AccountFreeMargin ());
}}
else lot =NormalizeDouble (Lots, Digits);
return (nhiều);
}

Bạn sẽ thấy rằng trước tiên, chúng tôi phải khai báo một số biến bên ngoài cho da nếu chúng tôi nên bật quản lý (true) hoặc tắt (false) , điều gì sẽ là cài đặt rủi ro tùy chỉnh của chúng tôi nếu bật, và nếu không, sẽ là kích thước lô mặc định.

LotDigits là số vị trí thập phân mà nhà môi giới của bạn cho phép (ví dụ:nếu nó cho phép các lô siêu nhỏ, chẳng hạn như 0,01, nó sẽ có 2 chữ số hoặc chữ số thập phân).

GetLots () là tên chúng tôi đã đặt cho hàm tùy chỉnh của mình Vì vậy, tất cả các o (nó có thể là bất kỳ tên nào), và tất cả những gì được cộng lại giữa các dấu ngoặc của nó là một phép tính của hàm này. Bạn chỉ cần đặt GetLots () trong tham số thứ ba của hàm OrderSend () để gọi nó, thay thế biến lô cố định đã có trước đó.

Chúng tôi tạo một minlot biến để tham chiếu đến MarketInfo () chức năng. MarketInfo () chức năng là chức năng chúng tôi cần để truy xuất các dữ liệu thị trường khác nhau của đơn vị tiền tệ nhất định, chẳng hạn như giá Mua hoặc Giá bán, giá trị Hoán đổi, số chữ số và cho mục đích của chúng tôi, nó cũng có thể cho chúng tôi biết kích thước lô tối thiểu cho đơn vị tiền tệ đó . Chúng tôi muốn đảm bảo rằng bất kỳ phép tính lô nào được thực hiện, nó lớn hơn kích thước lô tối thiểu của nhà môi giới, nếu không nhỏ hơn minlot, nó sẽ là minlot.

Phép tính chính của lô MM tự động diễn ra trong một dòng:

các lô kép =NormalizeDouble (AccountEquity () * Risk / 100 / 1000.0, LotDigits);

AccountEquity () là một trong nhiều chức năng thông tin tài khoản trả về giá trị vốn chủ sở hữu của tài khoản vãng lai. Chúng tôi muốn trả lại giá trị vốn chủ sở hữu của tài khoản, trái ngược với AccountBalance () , bởi vì vốn chủ sở hữu đại diện cho một bức tranh hợp lệ hơn về trạng thái của tài khoản (hay còn gọi là giá trị tài khoản ròng). Chúng tôi muốn giá trị vốn chủ sở hữu để thực hiện phép toán của chúng tôi về việc định cỡ lô thích hợp. Chúng tôi sẽ nhân giá trị vốn chủ sở hữu này với giá trị rủi ro của chúng tôi, sau đó chia cho 100 và sau đó chia thêm cho 1000, để xác định kích thước lô thích hợp.

Hiệu quả là định cỡ lô theo tỷ lệ, dựa trên cài đặt rủi ro đã chọn:đặt rủi ro 1 giao dịch 0,01 lô trên 1 nghìn vốn chủ sở hữu, thiết lập rủi ro 2 giao dịch 0,02 lô trên 1 nghìn vốn chủ sở hữu, v.v. Có rất nhiều khả năng , tùy thuộc vào cài đặt rủi ro được chọn. Rất nhiều được thêm hoặc bớt vào tài khoản khi tài khoản tăng lên hoặc giảm đi về kích thước. Ví dụ:thiết lập rủi ro là 2 sẽ giao dịch 0,2 lô trên tài khoản 10K và cộng / trừ 0,01 lô cho mỗi khoản lãi hoặc lỗ 100 đô la vốn chủ sở hữu. Người dùng có thể dễ dàng điều chỉnh cài đặt rủi ro phù hợp với khả năng chấp nhận rủi ro, phong cách giao dịch EA và quy mô tài khoản của mình.

Nếu MM được đặt thành true, chúng tôi sẽ tính toán kích thước lô dựa trên vốn chủ sở hữu và gán giá trị đó cho biến lô. Nếu MM là false, chúng tôi chỉ cần gán giá trị của lô vào kích thước lô cố định là Lô.

Bạn có thể thấy rằng đoạn mã trên tương đối đơn giản, nhưng nó có thể tạo ra sự khác biệt trong việc định kích thước lô tự động dựa trên quy mô vốn chủ sở hữu thay đổi. Có nhiều cách phức tạp hơn để xác định kích thước lô, nhưng đôi khi các phương pháp đơn giản nhất lại hoạt động tốt nhất.


Chiến lược kinh doanh
  1. Kế toán
  2.   
  3. Chiến lược kinh doanh
  4.   
  5. Việc kinh doanh
  6.   
  7. Quản trị quan hệ khách hàng
  8.   
  9. tài chính
  10.   
  11. Quản lý chứng khoán
  12.   
  13. Tài chính cá nhân
  14.   
  15. đầu tư
  16.   
  17. Tài chính doanh nghiệp
  18.   
  19. ngân sách
  20.   
  21. Tiết kiệm
  22.   
  23. bảo hiểm
  24.   
  25. món nợ
  26.   
  27. về hưu