Bài 7: Hàm MT4 lấy ra chỉ báo EMA và vào lệnh trên MT4

Bài 7: Hàm MT4 lấy ra chỉ báo EMA và vào lệnh trên MT4

Để vào lệnh theo tín hiệu của MA 21 trên MT4, bạn có thể sử dụng mã sau đây:

  1. Mở biểu đồ cho cặp tiền tệ bạn quan tâm trên MT4.
  2. Thêm chỉ báo Moving Average (MA) vào biểu đồ:
    • Nhấp chuột phải vào biểu đồ, chọn “Chỉ báo” (hoặc nhấn phím Insert trên bàn phím).
    • Chọn “Trend” và sau đó chọn “Moving Average”.
    • Trong cửa sổ thiết lập, chọn “Period” và nhập giá trị 21 (để sử dụng MA 21).
    • Chọn màu sắc và kiểu đường hiển thị cho MA (nếu cần).
  3. Đánh giá tín hiệu của MA 21:
    • Khi giá cắt qua MA 21 từ dưới lên, điều này có thể được xem là tín hiệu mua.
    • Khi giá cắt qua MA 21 từ trên xuống, điều này có thể được xem là tín hiệu bán.
  4. Thực hiện lệnh dựa trên tín hiệu của MA 21:
    • Để mua: Nếu giá cắt qua MA 21 từ dưới lên, bạn có thể mở lệnh mua.
    • Để bán: Nếu giá cắt qua MA 21 từ trên xuống, bạn có thể mở lệnh bán.
  5. Đặt các điều kiện dừng lỗ và mục tiêu lợi nhuận phù hợp cho lệnh của bạn.

Lưu ý rằng việc sử dụng MA 21 là một phương pháp giao dịch cơ bản và không đảm bảo lợi nhuận. Hãy luôn kết hợp nó với các yếu tố khác và thực hiện quản lý rủi ro cẩn thận khi giao dịch trên thị trường.

Dưới đây là cách khai báo và hàm mt4 để lấy ra tính hiệu EMA theo thông sô cài đặt trên bot và vào lệnh

Khai báo trên input.


extern int MagicNumber = 12369;
extern bool useMA = true;// ON/OFF MA
extern int      emaPeriod1        = 12; //EMA Period

Đặt Hàm dưới trong phần Ontick()


void OnTick()
  { 
// --- EMA
   double ema1 = iMA(Symbol(),Period(),emaPeriod1,0,MODE_EMA,PRICE_CLOSE,1); // khai bao EMA1
// --- END EMA
      
        if((!useMA || (useMA  && ema1 > Close[1]))&& NewCandle())
        {
            // Vào lệnh Buy
            int tick = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "EMA  Buy", MagicNumber, 0, Green);
        }
        else if((!useMA || (useMA  && ema1 < Close[1]))&& NewCandle())//>
        {
            // Vào lệnh Sell
            int tick = OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, 0, 0, "EMA  Sell", MagicNumber, 0, Red);
        }

  }

Đoạn mã trên là một phần của một chương trình giao dịch trong MetaTrader 4 (MT4). Dưới đây là mô tả chi tiết về nó:

  1. Hàm OnTick(): Đây là hàm được gọi mỗi khi có một tick mới được nhận từ thị trường. Trong hàm này, xử lý các tín hiệu giao dịch và quyết định khi nào mở lệnh.
  2. EMA (Exponential Moving Average):
    • double ema1 = iMA(Symbol(), Period(), emaPeriod1, 0, MODE_EMA, PRICE_CLOSE, 1);: Tính toán giá trị của đường EMA cho cây nến gần nhất. emaPeriod1 là thời gian của đường EMA.
  3. Kiểm tra tín hiệu giao dịch:
    • (!useMA || (useMA && ema1 > Close[1])): Kiểm tra xem sử dụng MA (Moving Average) hay không, và nếu có, kiểm tra xem giá trị EMA hiện tại có lớn hơn giá đóng cửa của cây nến trước đó hay không. Nếu điều kiện được đáp ứng và có một cây nến mới được tạo ra (NewCandle() trả về true), thì một lệnh mua (OP_BUY) sẽ được mở.
    • Tương tự, nếu giá trị EMA hiện tại nhỏ hơn giá đóng cửa của cây nến trước đó và có một cây nến mới được tạo ra, một lệnh bán (OP_SELL) sẽ được mở.
  4. Mở lệnh:
    • int tick = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "EMA Buy", MagicNumber, 0, Green);: Hàm OrderSend() được sử dụng để mở lệnh. Trong trường hợp này, nếu điều kiện được đáp ứng, một lệnh mua sẽ được mở với kích thước lô là 0.1 và giá Ask (giá mua). Tham số cuối cùng là màu sắc của dấu hiệu trên biểu đồ.
  5. Tương tự, nếu điều kiện bán được đáp ứng, một lệnh bán sẽ được mở với giá Bid (giá bán) và màu đỏ.

Lưu ý rằng trong thực tế, bạn cần kiểm tra kỹ lưỡng các điều kiện giao dịch và xác định các thông số lệnh phù hợp với chiến lược giao dịch của bạn trước khi sử dụng mã này trong môi trường giao dịch thực tế.
[block_content id=”3041″]

Leave a Reply

Your email address will not be published. Required fields are marked *