Để tìm nến PinBar và vào lệnh trong MT4, bạn có thể sử dụng một số điều kiện và hàm 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 Pin Bar và vào lệnh:
Khai báo trên input.
extern int MagicNumber = 12369; extern double tile_pinbar = 3; //Tỷ lệ râu so với thân nến extern int epsilon_inp = 200; // Body Nen Pinbar Nho Hon (Point)
Đặt Hàm dưới trong phần Ontick()
void OnTick() { // --- PINBAR bool pinbar = false; double upperWick = 0; double lowerWick = 0; double body = MathAbs(Open[1] - Close[1]); double epsilon = epsilon_inp * Point; if(Nen(1) == "Nen_Giam") {upperWick = High[1] - Open[1]; lowerWick = Close[1] - Low[1];} if(Nen(1) == "Nen_Tang") {upperWick = High[1] - Close[1]; lowerWick = Open[1] - Low[1];} if(upperWick / body > tile_pinbar && lowerWick < epsilon && pinbar == false) pinbar = true;//> // --- END PINBAR if(pinbar == true && TimeCurrent() <= Time[0] + 2) //> Nến Pinbar == true và thời gian hiện tại không được <= Thời gian trong cây nến > { if (Open[1] < Close[1]) // Nến Xanh , mở cửa < đóng của của cây nến Pinbar > { // Vào lệnh Buy int tick = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "Pinbar Buy", MagicNumber, 0, Green); } else if (Open[1] > Close[1]) // Nến Đỏ , mở cửa > đóng của của cây nến Pinbar { // Vào lệnh Sell int tick = OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, 0, 0, "Pinbar Sell", MagicNumber, 0, Red); } } }
Lưu ý: (Nen(1) == "Nen_Giam")
và (Nen(1) == "Nen_Tang")
2 hàm này các bạn quay ra Website tìm Hàm định nghĩa nến xanh, nến đỏ trong [ n ] cây nến MT4
. và add vào code nhé.
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])
để lấy giá trị Open, Close, High, và Low
của nến đó.
Sau đó, chúng ta tính toán độ dài body
, upper wick
và lower wick
của nến bằng cách sử dụng các công thức phù hợp.
Tiếp theo, chúng ta kiểm tra xem nến đó có phải là nến Pin Bar
hay không bằng cách so sánh độ dài body
với upper wick
và lower wick
, và đảm bảo rằng body không bằng 0. Nếu đúng, nến đó được xem là nến Pin Bar.
Nếu nến đó là nến Pin Bar, 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 StopLoss
và TakeProfit
. 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.
[block_content id=”3041″]