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.
Bool:Bạn có sử dụng quản lý tiền hay không.
Nhân đôi:Cài đặt rủi ro được xác định trước của bạn.
Double:Nếu MM bị tắt, đây là kích thước lô thủ công bạn sẽ sử dụng.
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.
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 (lotif (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.
Làm việc linh hoạt trong thế giới kế toán
Nhà hoặc Căn hộ:Điều gì Tạo nên Sự Mua hàng Thông minh nhất?
Các nhà ngân sách hiểu biết ngày nay có quyền truy cập vào nhiều ứng dụng và công nghệ hơn bao giờ hết, tất cả đều hứa hẹn sẽ giúp việc lập ngân sách trở nên dễ dàng.
Eurex là gì? Hiểu ở đây!
Tại sao lại được chấp thuận trước cho một khoản thế chấp sớm