Hệ thống scalping dựa trên tốc độ báo giá! Những cạm bẫy ẩn! Ping và Trung tâm dữ liệu (Data Center).

Lợi ích của Expert Advisors có sẵn so với Lập trình / Freelancer.
Push.Mail. Làm việc với email và thông báo trong MetaTrader
Lợi ích của Expert Advisors có sẵn so với Lập trình / Freelancer.
Push.Mail. Làm việc với email và thông báo trong MetaTrader

Hệ thống scalping dựa trên tốc độ báo giá - Cạm bẫy ẩn, Ping và Trung tâm dữ liệu | Hình thu nhỏ video

Mô tả

    Scalping là một trong những phương pháp kiếm tiền đầy thách thức, rủi ro và đồng thời nhanh chóng. Tuy nhiên, không có gì đảm bảo rằng bạn sẽ nhận được lợi nhuận sau khi giao dịch.

Chiến lược dựa trên tốc độ dữ liệu tick (tick data rate) có lẽ là một trong những hệ thống có lợi nhuận được bàn luận nhiều nhất. Tuy nhiên, có một số khía cạnh cần cân nhắc.

    Các báo giá (quotes) nhập vào terminal chứa các lượng dữ liệu khác nhau.

Ngay cả khi bạn cài đặt hai terminal giống hệt từ cùng một công ty và khởi chạy chúng cùng lúc (điều này là không thực tế), bạn sẽ không đạt được kết quả chính xác 100%.

Ngoài ra, việc khởi chạy các scalper của bạn cùng lúc cũng sẽ không cho ra kết quả đồng bộ hoàn hảo.

Các giao dịch trên hai terminal có thể khác nhau.

Sự khác biệt này hoàn toàn phụ thuộc vào luồng truyền tải dữ liệu (data transmission flow) từ máy chủ đến terminal của bạn.

Cuộc thảo luận về hệ thống của tôi TickSniper for MT4TickSniper for MT5 diễn ra trên các diễn đàn với một câu hỏi: Tại sao có các vị trí mở và lợi nhuận khác nhau trên MT4 và MT5?

Câu trả lời đơn giản: sự khác biệt về báo giá. Terminal MT4 có luồng báo giá (quote flow) chậm hơn, có lẽ do tắc nghẽn lưu lượng dữ liệu.

Trong terminal MetaTrader 5, luồng báo giá (quote stream) nhanh gấp mười lần, dẫn đến sự khác biệt đáng kể giữa các giao dịch mở.

Trong bài viết này, hai Expert Advisor đã được phát triển đặc biệt: TEST TICK for MT5TEST TICK for MT4. Chúng hoàn toàn giống nhau về mã (tất nhiên, ngôn ngữ lập trình khác nhau, do đó tên các hàm cũng khác nhau).

Mã cho MT4:

#property copyright "Copyright 2024, expforex"

#property link ""

int timestart = 0;
int ticknumber = 0; // Số thứ tự tick (tick number)
double PriceBID = 0; // Giá BID của tick
double PriceASK = 0; // Giá ASK của tick
int TimemsTick = 0; // Thời gian tick tính bằng ms

int init()
{
    timestart = Time[0]; // Bắt đầu đếm từ một thanh mới để đảm bảo rằng tất cả các EA trên tất cả các terminal khởi động cùng nhau.
    return(0);
}

// Expert bắt đầu với mỗi tick
int start()
{
    if(timestart != Time[0])
    {
        if(TimemsTick == 0)
            TimemsTick = GetTickCount();
        ticknumber++;
        PriceBID = Bid;
        PriceASK = Ask;
        Comment("\n\n\n\n Số thứ tự tick = " + ticknumber + "\nPriceBID = " + PriceBID + "\nPriceASK = " + PriceASK + "\nTimeTickinms = " + (GetTickCount() - TimemsTick));
        Print("Số thứ tự tick = " + ticknumber + " PriceBID = " + PriceBID + " PriceASK = " + PriceASK + " TimeTickinms = " + (GetTickCount() - TimemsTick));
    }
    return(0);
}

Mã cho MT5:

#property copyright "Copyright 2024, expforex."

#property link ""
#property version "1.00"

int timestart = 0;
int ticknumber = 0; // Số thứ tự tick (tick number)
double PriceBID = 0; // Giá BID của tick
double PriceASK = 0; // Giá ASK của tick
int TimemsTick = 0; // Thời gian tick tính bằng ms

int OnInit()
{
    datetime Time[];
    ArraySetAsSeries(Time, true);
    CopyTime(_Symbol, _Period, 0, 1, Time);
    timestart = (int)Time[0]; // Bắt đầu đếm từ một thanh mới để đảm bảo rằng tất cả các EA trên tất cả các terminal khởi động cùng nhau.
    return(INIT_SUCCEEDED);
}

// Expert bắt đầu với mỗi tick
void OnTick()
{
    datetime Time[];
    ArraySetAsSeries(Time, true);
    CopyTime(_Symbol, _Period, 0, 1, Time);
    if(timestart != (int)Time[0])
    {
        if(TimemsTick == 0)
            TimemsTick = (int)GetTickCount();
        ticknumber++;
        MqlTick last_tick;
        SymbolInfoTick(_Symbol, last_tick);
        double Bid = last_tick.bid;
        
        SymbolInfoTick(_Symbol, last_tick);
        double Ask = last_tick.ask;
        PriceBID = Bid;
        PriceASK = Ask;
        Comment("\n\n\n\n Số thứ tự tick = " + ticknumber + "\nPriceBID = " + PriceBID + "\nPriceASK = " + PriceASK + "\nTimeTickinms = " + (GetTickCount() - TimemsTick));
        Print("Số thứ tự tick = " + ticknumber + " PriceBID = " + PriceBID + " PriceASK = " + PriceASK + " TimeTickinms = " + (GetTickCount() - TimemsTick));
    }
    return;
}

Các Expert thực hiện những điều sau:

Khi khởi tạo, Expert ghi lại thanh bắt đầu để đảm bảo rằng tất cả các Expert trên bốn terminal đều khởi động đồng thời ở thanh tiếp theo (trong trường hợp của chúng ta, M30).

Sau đó, với mỗi tick, Expert ghi lại dữ liệu trên màn hình và trong nhật ký: số thứ tự tick, giá BID/ASK, và thời gian tick tính bằng mili giây kể từ khi bắt đầu tính toán.

Tôi đã tải về hai terminal MT4 và hai terminal MT5 từ cùng một nhà môi giới để làm cho bài kiểm tra của chúng ta trở nên đáng tin cậy hơn.

Tải MetaTrader

Expert Advisor scalping trên các terminal MetaTrader

Tôi đã khởi chạy các terminal, áp dụng biểu đồ EURUSD M30 cho cả bốn terminal, và sử dụng một Expert Advisor để xác minh các quan sát của chúng ta.

Biểu đồ EURUSD M30 trên các terminal MetaTrader

Các mục ban đầu trong nhật ký của chúng ta cho thấy rằng chúng ta đã bắt đầu đồng thời:

mt4_1:

18:29:58 TEST TICK EURUSD, M30: Số thứ tự tick = 1 PriceBID = 1.32281000 PriceASK = 1.32289000 TimeTickinms = 0

mt4_2:

18:29:58 TEST TICK EURUSD, M30: Số thứ tự tick = 1 PriceBID = 1.32281000 PriceASK = 1.32289000 TimeTickinms = 0

mt5_1:

GR 0 18:29:58 TEST TICK (EURUSD, M30) Số thứ tự tick = 1 PriceBID = 1.32336000 PriceASK = 1.32344000 TimeTickinms = 1065503

mt5_2:

GR 0 18:29:58 TEST TICK (EURUSD, M30) Số thứ tự tick = 1 PriceBID = 1.32335000 PriceASK = 1.32345000 TimeTickinms = 1065674

Như được thấy trong các ảnh chụp màn hình tiếp theo, báo giá bắt đầu giống hệt nhau, nhưng chúng ta quan sát được sự khác biệt 1-2 tick. Điều này cho thấy rõ ràng:

Scalper không thể đạt được kết quả giống hệt 100% trên hai nền tảng MT4 và MT5 khác nhau.

Nó cũng không thể mở giao dịch đồng thời trên hai terminal của cùng một nền tảng MT4/MT5.

Điều này là không thực tế và không phải lỗi của nhà môi giới.

Giao thức truyền tải đi qua mạng từ máy chủ đến máy tính của bạn, dẫn đến mất gói tin – một hiện tượng bình thường.

Sự khác biệt trong tính toán và phân tích

Các ảnh chụp màn hình sau minh họa cho những chênh lệch:

Chênh lệch trong tính toán dữ liệu tick - Ảnh chụp màn hình 1
Chênh lệch trong tính toán dữ liệu tick - Ảnh chụp màn hình 2
Chênh lệch trong tính toán dữ liệu tick - Ảnh chụp màn hình 3
Chênh lệch trong tính toán dữ liệu tick - Ảnh chụp màn hình 4
Chênh lệch trong tính toán dữ liệu tick - Ảnh chụp màn hình 5

Chỉ 3 phút sau khi các Expert bắt đầu.

Hãy tham khảo nhật ký của chúng ta cho số thứ tự tick 1433 trên terminal MT4:

18:47:44 TEST TICK EURUSD, M30: Số thứ tự tick = 1433 PriceBID = 1.32336000 PriceASK = 1.32344000 TimeTickinms = 1065503
18:47:44 TEST TICK EURUSD, M30: Số thứ tự tick = 1433 PriceBID = 1.32335000 PriceASK = 1.32345000 TimeTickinms = 1065674

Chúng ta có cùng thời gian máy chủ, nhưng thời gian tính bằng ms và báo giá lại khác nhau.

Số thứ tự tick 1684

18:52:05 TEST TICK EURUSD, M30: Số thứ tự tick = 1684 PriceBID = 1.32377000 PriceASK = 1.32385000 TimeTickinms = 1326586
18:52:03 TEST TICK EURUSD, M30: Số thứ tự tick = 1684 PriceBID = 1.32374000 PriceASK = 1.32382000 TimeTickinms = 1324496

Không chỉ thời gian khác nhau, mà giá BID/ASK cũng khác nhau.

Bây giờ hãy so sánh tương tự trên các terminal MT5:

ES 0 18:48:42 TEST TICK (EURUSD, M30) Số thứ tự tick = 4316 PriceBID = 1.3231 PriceASK = 1.32318 TimeTickinms = 1124050
DS 0 18:48:43 TEST TICK (EURUSD, M30) Số thứ tự tick = 4316 PriceBID = 1.32311 PriceASK = 1.3232 TimeTickinms = 1124502

Cùng số thứ tự tick, nhưng tại sao giá lại khác nhau?

Hoặc đây là một ví dụ khác:

RJ 0 18:52:21 TEST TICK (EURUSD, M30) Số thứ tự tick = 4984 PriceBID = 1.32363 PriceASK = 1.32371 TimeTickinms = 1342701
H 0 18:52:22 TEST TICK (EURUSD, M30) Số thứ tự tick = 4984 PriceBID = 1.32364 PriceASK = 1.3237 TimeTickinms = 1344355

Thời gian đến của tick khác nhau tính bằng mili giây, Giá ASK/BID khác nhau

Bản lưu trữ chứa tất cả các tài liệu liên quan đến bài viết này, bao gồm các Expert Advisor, video, hình ảnh và file nhật ký của terminal.

Câu hỏi được đặt ra:

Expert Advisor giống nhau trên hai tài khoản thật/trực tiếp, cùng một nhà môi giới, cùng một nền tảng có thể thực hiện giao dịch giống hệt với độ chính xác 100% không?

Câu trả lời rõ ràng là Không.

Điều này không xảy ra!

Tôi hy vọng bài viết này sẽ giải đáp tất cả các câu hỏi của bạn một cách chi tiết trong tương lai. Với kiến thức này, bạn sẽ có thể vận hành scalper của mình một cách chính xác hơn trên các terminal của bạn.

Tăng lợi nhuận của bạn.

Cách kiểm tra Ping (Thời gian truy cập máy chủ của nhà môi giới)

Tốc độ từ VPS đến máy chủ của nhà môi giới dễ dàng được xác định. Chức năng này là tiêu chuẩn trong Windows và được gọi là PING.

Để xác định thời gian truy cập, bạn cần tìm địa chỉ máy chủ của mình.

Đầu tiên, mở thư mục terminal của bạn và điều hướng đến thư mục con CONFIG.

Tìm file có tên máy chủ của bạn.

Tìm địa chỉ máy chủ trong thư mục CONFIG của MetaTrader
File cấu hình máy chủ MetaTrader

Tiếp theo, mở file trong Notepad và tìm đường dẫn đến nhà môi giới của bạn. Sao chép nó vào clipboard.

Sau đó, mở menu Start và nhập lệnh cmd.

Mở Command Prompt trong Windows

Sau đó, nhập lệnh ping theo sau là địa chỉ máy chủ của bạn.

ping mt4-demo.roboforex.com

Kết quả hiển thị thời gian từ máy tính của bạn đến máy chủ của nhà môi giới tính bằng mili giây (ms).

Giá trị càng thấp thì càng tốt đối với bất kỳ Expert Advisor nào, đặc biệt là đối với scalper.

Kết quả ping đến máy chủ nhà môi giới

Bạn cũng có thể kiểm tra ping đến máy chủ hoặc thay đổi Trung tâm dữ liệu (Data Center) ở góc dưới bên phải của terminal của bạn:

Thay đổi Trung tâm dữ liệu trong Terminal MetaTrader

Nếu ping của bạn quá cao, bạn có thể cài đặt Expert Advisor trên một máy chủ VPS.

Câu hỏi?

Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng hỏi. Chúng tôi không bán cho bạn điều gì mà bạn không hiểu.

Mỗi sản phẩm của chúng tôi đều có thể được thử nghiệm trước khi mua.

Chúng tôi đánh giá cao phản hồi và yêu cầu của bạn đối với sản phẩm của chúng tôi và luôn nỗ lực duy trì tiêu chuẩn chất lượng cao.

Cảm ơn bạn đã đồng hành cùng chúng tôi!

Bạn có câu hỏi không?

Leave a Reply

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

Bài viết này cũng có sẵn bằng: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어 العربية Indonesian ไทย Tiếng Việt


    Please wait, contacting ...

    Cảnh báo Rủi ro:


    Hiệu suất giao dịch trong quá khứ không đảm bảo kết quả trong tương lai.

    Giao dịch ngoại hối với đòn bẩy mang lại mức độ rủi ro cao và có thể không phù hợp với tất cả các nhà đầu tư.

    Hãy nhận thức rằng việc sử dụng robot giao dịch (trading robots) có thể mang lại rủi ro đáng kể, và bạn có thể mất nhiều hơn khoản đầu tư ban đầu.

    Xin hãy tiến hành một cách thận trọng, đánh giá kỹ lưỡng tình hình tài chính của bạn, và cân nhắc việc tìm kiếm lời khuyên từ một chuyên gia có đủ năng lực.

    Disclaimer

    Trang web này sử dụng cookie để cải thiện trải nghiệm của bạn. Bằng cách sử dụng trang web này, bạn đồng ý với Chính sách bảo vệ dữ liệuTuyên bố miễn trừ trách nhiệm của chúng tôi.
    Đọc thêm