#1
Để tìm ra nến Doji và vào lệnh trong MT4, bạn có thể sử dụng một số hàm và điều kiện trong ngôn ngữ lập trình MQL4. Dưới đây là một ví dụ đơn giản về cách tìm nến Doji và vào lệnh:

Khai báo trên input.

extern int MagicNumber = 12369;
extern int    epsilon_inp       = 200;     // Body Nến Doji Nhỏ Hơn (Point)
extern double tile_doji         = 5;       // Tỉ Lệ DoJi
  
Đặt Hàm dưới trong phần Ontick()

   void OnTick()
  {
 
//--- DOJI
      bool doji = false;
      double body    = MathAbs(Open[1] - Close[1]);
      double candle  = High[1] - Low[1];
      double epsilon = epsilon_inp * Point;
      if(body < epsilon && candle / body > tile_doji && doji == false) doji = true;
//--- END DOJI
      
       if(doji == true && TimeCurrent() < Time[0] + 2) //> Nến Doji == true và thời gian hiện tại không được nhỏ hơn hoặc bằng Thời gian trong cây nến
    {
        if (Open[1] < Close[1]) //> Nến Xanh , mở cửa nhỏ hơn đóng của của cây nến doji
        {
            // Vào lệnh Buy
            int tick = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "Doji Buy", MagicNumber, 0, Green);
        }
        else if (Open[1] > Close[1]) // Nến Đỏ , mở cửa lớn hơn đóng của của cây nến doji
        {
            // Vào lệnh Sell
            int tick = OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, 0, 0, "Doji Sell", MagicNumber, 0, Red);
        }
    }

 }
  
Trong ví dụ này, chúng ta sử dụng một vòng lặp để duyệt qua tất cả các nến trên biểu đồ. Với mỗi nến, chúng ta sử dụng các hàm Open[1], Close[1], High[1], và Low[1] để lấy giá trị Open, Close, High, và Low của nến đó.
Sau đó, chúng ta kiểm tra xem nến đó có phải là nến Doji hay không bằng cách so sánh giá trị MathAbs(Open[1] - Close[1]) với tile_doji % của khoảng cách giữa High và Low. Nếu giá trị này nhỏ hơn hoặc bằng tile_doji, nến đó được xem là nến Doji.
Nếu nến đó là nến Doji, chúng ta kiểm tra xem giá mở cửa của nến có lớn hơn giá đóng cửa hay không. Nếu có, chúng ta vào lệnh Buy bằng cách sử dụng hàm OrderSend() với tham số OP_BUY. Nếu không, chúng ta vào lệnh Sell bằng cách sử dụng hàm OrderSend() với tham số OP_SELL.

Lưu ý rằng trong ví dụ này, chúng ta sử dụng các giá trị cố định cho StopLossTakeProfit. Bạn có thể thay đổi các giá trị này để phù hợp với chiến lược và cặp tiền tệ của mình.

👉 Group ZALO trao đổi CODE: TẠI ĐÂY

image quote pre code
Xem hướng dẫn đăng nhập để đăng bình luận Tại Đây
Chia sẻ: