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

by TonyJay

Để vào lệnh dựa trên tín hiệu của chỉ báo RSI (Relative Strength Index) trên MT4, bạn có thể thực hiện các bước sau:

  1. Mở biểu đồ cho cặp tiền tệ bạn quan tâm trên MT4.
  2. Thêm chỉ báo RSI 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 “Oscillators” và sau đó chọn “Relative Strength Index”.
    • Trong cửa sổ thiết lập, có thể bạn muốn điều chỉnh tham số (thời gian tính toán, màu sắc, v.v.) theo ý muốn.
  3. Đánh giá tín hiệu của RSI:
    • Khi RSI vượt qua mức 70 từ dưới lên, điều này có thể được xem là tín hiệu bán.
    • Khi RSI vượt qua mức 30 từ trên xuống, điều này có thể được xem là tín hiệu mua.
  4. Thực hiện lệnh dựa trên tín hiệu của RSI:
    • Để mua: Nếu RSI vượt qua mức 30 từ trên xuống, bạn có thể mở lệnh mua.
    • Để bán: Nếu RSI vượt qua mức 70 từ dưới lên, 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.

Dưới đây là cách khai báo và hàm mt4 để lấy ra tính hiệu RSI 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;
input int      period_rsi        = 14; // Rsi Period
input int      B_Period                   = 30; //Vung Buy
input int      S_Period                   = 70; //Vung Sell

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

void OnTick()
  { 
// --- RSI
   double RSI_0   = iRSI(Symbol(),Period(),period_rsi,PRICE_CLOSE,0);
// --- END RSI
      
        if(RSI_0 < B_Period && NewCandle())//>Tín hiệu RSI Buy
        {
            // Vào lệnh Buy
            int tick = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "RSI  Buy", MagicNumber, 0, Green);
        }
        else if(RSI_0 > S_Period&& NewCandle())//>Tín hiệu RSI Sell
        {
            // Vào lệnh Sell
            int tick = OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, 0, 0, "RSI  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. RSI (Relative Strength Index):
    • double RSI_0 = iRSI(Symbol(), Period(), period_rsi, PRICE_CLOSE, 0);: Tính toán giá trị của chỉ báo RSI cho cây nến hiện tại. period_rsi là thời gian tính toán của RSI.
  3. Kiểm tra tín hiệu giao dịch:
    • if(RSI_0 < B_Period && NewCandle()): Kiểm tra xem giá trị RSI hiện tại có nhỏ hơn giá trị B_Period (ngưỡng oversold) 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ị RSI hiện tại lớn hơn giá trị S_Period (ngưỡng overbought) 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, "RSI 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 mua đượ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ế.
 


???? Group ZALO hỏi đáp và trao đổi CODE: TẠI ĐÂY ???? ???? Group TELEGRAM hỏi đáp và trao đổi CODE: TẠI ĐÂY

You may also like

Leave a Comment

FTMO CHALLENGE

FTMO PASS FUND ROBOT

Bạn Đã Xem

@2024 – All Right Reserved. Designed and Developed by TonyJay