Xin giúp đỡ về code xóa lệnh chờ khi đạt TP

Thảo luận trong 'Lập trình MQL - Expert Advisor - Indicator' bắt đầu bởi willcyan, 10/03/2019.

  1. Chào cả nhà, em thuộc loại zero-programming background, em tự mày mò tập tễnh tự học code trên mạng. Hiện tại em bị kẹt ở đoạn xóa hết lệnh chờ khi hit TP, em lay hoay mãi nhưng ko có ý tưởng như thế nào, em code thì nó xóa lệnh trade chờ nếu là trade đầu tiên nhưng đến trade 2, 3, 4 thì đặt lệnh chờ xong nó xóa liền luôn, mong cả nhà vào giải ngố cho em xíu ạ


    Mã:
    void ManageTrades()
    {
       int total = OrdersTotal();
       int CurrentType, CurrentTicket;
       if (total >= 0)
       {
          for(int cnt=total;cnt>=0;cnt--)
          {
             if(OrderSelect(cnt,SELECT_BY_POS))
             {
                if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
                {
                   CurrentType = OrderType();
                   CurrentTicket = OrderTicket();
                   if (total < 2 )        //check cho nay         
                   {
                      if (CurrentType == OP_BUYSTOP || CurrentType == OP_SELLSTOP)
                      {
                         OrderDelete(CurrentTicket);
                      }
                  }
               }
              }
           }
        }
    }
     
    Lưu
    ✅ Phân Tích Đa Khung Thời Gian - Tuyệt Chiêu TỐI ĐA LỢI NHUẬN Trong Giao Dịch Forex
    ✅ Kỹ Thuật Quản Lý Lệnh Giúp Trader Tăng Lợi Nhuận, Giảm Thua Lỗ - Phần 2: Scaling Out
    ✅ Hệ Thống Giao Dịch Theo Xu Hướng Kết Hợp ADX & RSI
    ✅ Tại Sao Trader Nên Giao Dịch Forex Với VỊ THẾ NHỎ?
    ✅ Fibonacci Mở Rộng - Tuyệt Chiêu Chốt Lời CHÍNH XÁC Tại Đỉnh Đáy Thị Trường
    ✅ Phân Tích Vàng & Forex Theo Price Action - Lội Ngược Dòng - Tuần 25/05-29/05
    ✅ Phân Tích VÀNG-FOREX-BITCOIN Theo Price Action - Nhiều Kèo Thơm - Tuần 08/06-12/06
    ✅ Chỉ Báo ADX - Công Cụ Xác Định Sức Mạnh Xu Hướng
    Đang tải...
  2. Ae thiện lành ai bít hộ lão ấy cái nèo
     
  3. + if (total >= 0) để làm gì sao ko phải là if (total > 0)
    + if (total < 2 ) thì mới xóa lệnh chờ thì khi còn 1 lệnh nó sẽ ko xóa mà chỉ xóa từ lệnh 2 trở đi
    + if (total < 2 ): biến total được gọi ngay từ đầu bằng tổng số lệnh và ko hề được cập nhật
     
  4. Cùng chung ý tưởng ^^.
    Số là mình muốn xóa một lệnh chờ khi lệnh thị trường đã có TP thì phải code như thế nào.
    Mình đặt một lệnh Buy và 1 lệnh Stoploss, khi lệnh buy có TP thì mình code để nó tự động xóa lệnh chờ Stoploss đi.
    Nhờ anh em giúp.
     
  5. Xóa lệnh chờ hay xóa StopLoss hả cụ? Cụ hỏi chẳng rõ gì cả.
    + Xóa lệnh chờ: Đặt điều điều kiện OrderTakeProfit() của lệnh Buy > 0 thì OrderDelete cái lệnh chờ kia đi là được mà.
    + Xóa StopLoss: khả năng cụ không có ý này.
     
  6. 1, Giả sử đặt lệnh 01 Buy và 01 OrderSend(SellStop). Khi lệnh Buy đạt TP thì xóa lệnh Sellstop. Đây là ý của em ^^.

    2,Ordertakeprofit: Returns take profit value of the currently selected order.
    Theo như bác mà Ordertakeprofit>0 nó là lợi nhuận hiện tại của lệnh chứ ko phải lệnh đạt được TakeProfit, tức là OrderTakefrofit<Takeprofit của lệnh.

    3, Em hỏi ngu tý:
    TH1:
    Ontick()
    {
    - If(ko có lệnh)
    đặt lệnh Buy, SellStop.
    - if(Lệnh Buy đạt TP)
    Xóa lệnh SellStop
    }
    => Nếu sắp xếp như vậy thì ko bao giờ xóa được lệnh Sellstop do luôn luôn có lệnh Buy chưa đạt TP.
    TH2:
    Ontick()
    {
    - if(Lệnh Buy đạt TP)
    Xóa lệnh SellStop
    - If(ko có lệnh)
    đặt lệnh Buy, SellStop.
    }
    => Làm thế nào để lấy được ticket của lệnh Buy và Sellstop của lượt trước đó để xét đạt lợi nhuận hay chưa của lệnh Buy và xóa của lệnh Sellstop.

    Em mới tập nên hỏi hơi ngu ngơ, các bác có kinh nghiệm cứ tặng gạch đá để mong một ngày được ngồi ném gạch như các bác.
     
  7. Migen

    Migen

    56
    102
    Mình cũng thuộc dạng không biết viết code, hồi đầu cũng phải tìm code trên diễn đàn và nhờ các bác đi trước chỉ giáo, giúp đỡ. Từ đợt mình đăng ký xài fxDreema để làm mindmap (sơ đồ chiến lược) rồi xuất code ra xài thấy tiện hẳn. Hơi mất công học cách lập sơ đồ nhưng đỡ hơn mò code. Bác thử ngó trang fxDreema xem sao, giờ phải xài lợi thế mới đỡ mệt .... chứ nghĩ tới đoạn mày mò code là em cũng ái ngại.
     
    Cafe ForexSantafe bài này.
  8. Cảm ơn bác, nhìn có vẻ nó là cái e đang cần. Đã thường dùng nên Bác cho thêm một vài ý về hướng dẫn sử dụng để em tìm hiểu cho dễ.
    Cảm ơn Bác nhiều
     
  9. vn4xgr

    vn4xgr

    290
    139
    Đại khái là thuật toán sẽ như sau:

    1. nếu chưa buy và chưa sellstop, đặt lệnh buy, rồi đặt selstop.
    2. nếu buy, kiểm tra xem đã có sellstop chưa, nếu chưa có thì sellstop
    3. khi nào buy TP, thì chỉ còn sellstop, thế nên xóa lệnh.

     
  10. Cái này dùng mẹo chút.
    Với lệnh BUY:
    + Nếu Bid > TP - 50*Point thì xóa Pending. (xóa trước khi lệnh đạt TP)
    + Nếu Bid < TP - 50*Point thi mở lệnh Peding .

    :))))))
     
  11. minhnq

    minhnq

    1,784
    4,391

    Giả sử bạn vào lệnh buy tại giá X, lệnh sellstop vào đồng thời tại vị trí (X - GAP) -------------- GAP là khoảng cách giữa lệnh buy và lệnh sellstop của bạn. Bạn đặt OrderComment() của lệnh sellstop ví dụ là "SS" để chọn sau này.

    Sau đó, bạn chỉ việc kiểm tra nếu: Ask > (OrderOpenPrice() + GAP + TP) thì OrderDelete. Khi đó đương nhiên lệnh buy của bạn cũng TP đồng thời.
     
    Bonmua bài này.
  12. Cách này hay đấy, mưu mẹo chút ^^. Em làm tiếp mắc lain nhờ bác.
     
    Tôi Là Trader bài này.
  13. Em cũng làm như ý bác là nếu Bid>TP của buy thì xoá lệnh SellStop nhưng ko xoá dc. Để e về nhà post max code cho bác xem nó sai ở đâu. Thanks bác
     
  14. Nếu Buy = 0 va sellstop = 1 thì xoa sellstop
     

Bình luận mới nhất

  • Mia Trieu trong Sách - Tài liệu 112,704 Xem / 1,212 Trả lời
  • tanik07 trong Trao Đổi về Broker 12,910 Xem / 33 Trả lời
  • Mia Trieu trong Sách - Tài liệu 13,511 Xem / 165 Trả lời
  • Ericdo trong Lập trình MQL - Expert Advisor - Indicator 14,911 Xem / 24 Trả lời
  • Đang tải...

    Broker được cấp phép

    XTB
    Công ty Fintech eToro
    FBS
    AETOS
    Tickmill
    OlympTrade
    FT Markets
    LiteForex
    Doo Prime
    Capstone
    BDSwiss
    AxiTrader
    FXCM
    Đang tải...
    0