câu hỏi noobie
Results 1 to 6 of 6

Thread: câu hỏi noobie

  1. #1
    Ai đó có thể giải thích cho tôi như thế nào EA này tính toán kích thước rất nhiều cho mỗi nguyên nhân thương mại tôi hiểu litlle từ mt4 ngôn ngữ.

    //| Tính kích thước lô tối ưu |
    // ----------------------------------------------- -------------------
    hai LotsOptimized ()
    {
    double lot = Rất nhiều;
    int orders = HistoryTotal ();/hoàn thành đơn đặt hàng nền
    int thua = 0;/số lượng đơn đặt hàng lỗ mà không bị gãy
    //- chọn kích thước lô
    lot = NormalizeDouble (AccountFreeMargin () * MaximumRisk1000.0,1);
    //- tính toán số lượng đơn đặt hàng lỗ mà không bị gãy
    if (DecreaseFactorlt; 0)

    cho (int I = đơn hàng-1; igt; = 0; I--)

    if (OrderSelect (I, SELECT_BY_POS, MODE_HISTORY) == false) In (Lỗi trong nền!); chia;
    if (OrderSymbol ()!) = Biểu tượng ()
    if (lossgt; 1) lot = NormalizeDouble (lot-lot * lossDecreaseFactor, 1);

    //- kích thước lô trả về
    if (lotlt; 0,01) lot = 0,01;
    return (lô);

  2. #2
    Từ dòng cụ thể này: lot kép = Rất nhiều; ... if (lossgt; 1) lot = NormalizeDouble (lot-lot * lossDecreaseFactor, 1); đầu tiên, bạn đã có kích thước lô đầu tiên, có tên Lots (xem biến extern, ở đầu mã) giả sử Lots = 0.2. Sau đó, có DecreaseFactor, cho phép nói DecreaseFactor = 5 trong trường hợp thua lỗ liên tiếp của bạn bằng 2 (lỗ lớn hơn 1) thì kích thước lô = 0.2 - 0.2 * 2/5 = 0.2 - 0.45 = 0.2 - 0.08 = 0.12 Nó được làm tròn thành 1 dấu thập phân = gt; NormalizeDouble (..., 1) 0.12 = gt; 0.1 mong đợi sự trợ giúp này

  3. #3
    Cảm ơn bạn bây giờ tôi đã hiểu
    Quote Originally Posted by ;
    từ điểm đó: double lot = Lots; ... if (lossgt; 1) lot = NormalizeDouble (lot-lot * lossDecreaseFactor, 1); đầu tiên, bạn đã có kích thước lô ban đầu, được gọi là Lots (xem biến extern, ở đầu mã) cho chúng tôi biết Lots = 0.2. Sau đó, có DecreaseFactor, cho phép nói DecreaseFactor = 5 nếu số lỗ liên tiếp của bạn bằng 2 (lỗ lớn hơn 1) thì kích thước lô = 0.2 - 0.2 * 2/5 = 0.2 - 0.45 = 0.2 - 0.08 = 0.12 nó được làm tròn thành 1 dấu thập phân = gt; NormalizeDouble (..., 1) 0.12 = gt; 0.1 mong đợi sự trợ giúp này
    Quote Originally Posted by ;
    từ điểm đó: double lot = Lots; ... if (lossgt; 1) lot = NormalizeDouble (lot-lot * lossDecreaseFactor, 1); đầu tiên, bạn đã có kích thước lô ban đầu, được gọi là Lots (xem biến extern, ở đầu mã) cho chúng tôi biết Lots = 0.2. Sau đó, có DecreaseFactor, cho phép nói DecreaseFactor = 5 nếu số lỗ liên tiếp của bạn bằng 2 (lỗ lớn hơn 1) thì kích thước lô = 0.2 - 0.2 * 2/5 = 0.2 - 0.45 = 0.2 - 0.08 = 0.12 nó được làm tròn thành 1 dấu thập phân = gt; NormalizeDouble (..., 1) 0.12 = gt; 0.1 mong đợi sự trợ giúp này

  4. #4
    Có điều gì đó mà tôi không biết. Trong trường hợp số dư tài khoản miễn phí là 3.000 và rủi ro tối đa là 0,01 thì kích thước lô sẽ là 3000 * .01/1000 = 0,03 nhưng EA chỉ mất kích thước lô là 0,01. Tại vài sự kiện EA mở .1 rất nhiều khi tài khoản phát triển đến 5000 nhưng tại thời điểm này nó phải mở 5000 * .011000 = .05 lot./| Tính toán kích thước lô tốt nhất |/ ----------------------------------------------- ------------------- double LotsOptimized () {double lot = Lots; int orders = HistoryTotal ();/số đơn đặt hàng nền tổng số tổn thất int = 0;/số lệnh thua lỗ không bị gãy/- chọn lô lot lot = NormalizeDouble (AccountFreeMarg in () * MaximumRisk1000.0,1);/- calcuulate số đơn đặt hàng lỗ mà không bị gãy nếu (DecreaseFactorlt; 0) cho (int I = đơn đặt hàng-1; igt; = 0; I--) OrderType () gt; OP_SELL);/- if (OrderProfit () gt; 0) ngắt; nếu (OrderProfit () lt; 0) thua lỗ ; if (lossgt; 1) lot = NormalizeDouble (lot-lot * lossDecreaseFactor, 1);/- kích thước lô trả về nếu (lotlt; 0,01) lot = 0,01; return (lô);
    https://www.forexibroker.com/trading...g-journal.html

  5. #5
    Tôi vẫn không hiểu Ea không mở được nhiều kích thước. Cqn womeone thông báo cho tôi biết số 1 đứng trong mã .... Lot = NormalizeDouble (AccountFreeMarg in () * MaximumRisk1000.0,1);
    Quote Originally Posted by ;
    Có điều gì khác tôi không biết. Trong trường hợp số dư tài khoản miễn phí là 3.000 và rủi ro tối đa là 0,01 thì kích thước lô phải là 3000 * .011000 = .03 tuy nhiên, EA chỉ có kích thước lô .01. Tại vài sự kiện EA mở .1 rất nhiều khi tài khoản phát triển đến 5000 nhưng ở giai đoạn này nó phải mở 5000 * .011000 = 0,05 lot./| Tính toán kích thước lô tốt nhất |/ ----------------------------------------------- ------------------- double LotsOptimized () {double lot = Lots; int orders = HistoryTotal ();/số đơn đặt hàng nền tổng số tổn thất int = 0;/...
    Quote Originally Posted by ;
    Có điều gì khác tôi không biết. Trong trường hợp số dư tài khoản miễn phí là 3.000 và rủi ro tối đa là 0,01 thì kích thước lô phải là 3000 * .011000 = .03 tuy nhiên, EA chỉ có kích thước lô .01. Tại vài sự kiện EA mở .1 rất nhiều khi tài khoản phát triển đến 5000 nhưng ở giai đoạn này nó phải mở 5000 * .011000 = 0,05 lot./| Tính toán kích thước lô tốt nhất |/ ----------------------------------------------- ------------------- double LotsOptimized () {double lot = Lots; int orders = HistoryTotal ();/số đơn đặt hàng nền tổng số tổn thất int = 0;/...

  6. #6
    Xin chào, có vẻ như có logic không chính xác với câu trả lời cuối cùng của tôi. Hàm tính toán kích thước lô không phải từ yếu tố Rất nhiều, nhưng từ: lot = NormalizeDouble (AccountFreeMarg in () * MaximumRisk1000.0,1); trước hết, về NormalizeDouble (.., 1), nó sẽ mang lại giá trị với độ chính xác 1 chữ số. Ví dụ: var1 = 5/8 = 0.625. NormalizeDouble (var1,2) = 0,63 gt; gt; gt; 2 chữ số sau dấu thập phân NormalizeDouble (var1,1) = 0,6 gt; gt; gt; 1 chữ số sau dấu thập phân tạo thành trường hợp của bạn, AccountFreeMargin = 3000 MaximumRisk = 0,01 AccountFreeMargin * MaximumRisk1000 = 3000 * 0,011000 = 0,03 lot = NormalizeDouble (0,03,1) = 0,0 !!! Số 3 được bỏ qua vì nó nằm ở vị trí thứ hai, được tính từ điểm thập phân sau sau đó trước khi trả về kết quả:/- các kích thước lô sản lượng nếu (lotlt; 0,01) lot = 0,01; return (lô); do đó, vì lô tính toán trên kết quả 0 nhỏ hơn 0,01, vai trò trả về 0,01; điều cuối cùng, bạn cần sử dụng nếu (DecreaseFactorgt; 0) thay vào đó nếu (DecreaseFactorlt; 0) và đảm bảo rằng giá trị của DecreaseFactor là một giá trị dương (ví dụ 3), hy vọng điều này sẽ giúp

Quyền đăng bài

  • Bạn không thể đăng bài viết mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng tệp đính kèm
  • Bạn không thể chỉnh sửa bài đăng của bạn
  •  
Chính sách Cookie
Chính sách Cookie: Website forexibroker sử dụng cookies và khi tiếp tục sử dụng website bạn chấp thuận với điều này. Để có thêm thông tin, vui lòng đọc 'Thông tin Cookie'.