Để 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:
- Mở biểu đồ cho cặp tiền tệ bạn quan tâm trên MT4.
- 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).
- Đá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.
- 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.
- Đặ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ó:
- 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.
- 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.
- 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ở.
- 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 đồ.
- 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″]