Системи скальпінгу на основі швидкості котирувань! Пінг і дата-центр.

Programming your strategy in 10 steps with Universal Expert Advisor and Open Source
Push.Mail. Робота з поштою та повідомленнями в MetaTrader
Programming your strategy in 10 steps with Universal Expert Advisor and Open Source
Push.Mail. Робота з поштою та повідомленнями в MetaTrader

Системи скальпінгу на основі швидкості котирувань - приховані підводні камені, пінг та дата-центр | Мініатюра відео

Опис

    Скальпінг є одним із найскладніших, ризикованих і одночасно швидких методів заробітку грошей. Однак немає гарантії, що ви отримаєте свої прибутки після здійснення угод.

Стратегії на основі швидкості даних тика ймовірно є одними з найбільш обговорюваних прибуткових систем. Однак є деякі нюанси, які слід враховувати.

    Котирування, що надходять до терміналу, містять різну кількість даних.

Навіть якщо ви встановите два ідентичні термінали від однієї компанії та запустите їх одночасно (що є нереалістичним), ви не досягнете 100% точних результатів.

Крім того, запуск ваших скальперів одночасно не призведе до ідеально синхронізованих результатів.

Угоди на двох терміналах можуть відрізнятися.

Ця варіація залежить виключно від потоку передачі даних від сервера до вашого терміналу.

Обговорення моїх систем TickSniper для MT4 та TickSniper для MT5 відбувається на інших форумах з одним питанням: Чому на MT4 і MT5 різні відкриті позиції та прибутки?

Відповідь проста: різниця в котируваннях. Термінал MT4 має повільніший потік котирувань, ймовірно через затори трафіку.

У терміналі MetaTrader 5 потік котирувань у десять разів швидший, що призводить до значних відмінностей між відкритими угодами.

Для цієї статті спеціально розроблено два Експертні радники: TEST TICK для MT5 та TEST TICK для MT4. Вони повністю ідентичні за кодом (звісно, мови програмування різні, тому назви функцій варіюються).

Код для MT4:

#property copyright "Copyright 2024, expforex"

#property link ""

int timestart = 0;
int ticknumber = 0; // Номер тика
double PriceBID = 0; // Ціна BID тика
double PriceASK = 0; // Ціна ASK тика
int TimemsTick = 0; // Час тика в мс

int init()
{
    timestart = Time[0]; // Починаємо рахунок з нового бару, щоб усі ЕА на всіх терміналах починали однаково.
    return(0);
}

// Радник запускається з кожним тиком
int start()
{
    if(timestart != Time[0])
    {
        if(TimemsTick == 0)
            TimemsTick = GetTickCount();
        ticknumber++;
        PriceBID = Bid;
        PriceASK = Ask;
        Comment("\n\n\n\n Номер тика = " + ticknumber + "\nPriceBID = " + PriceBID + "\nPriceASK = " + PriceASK + "\nTimeTickinms = " + (GetTickCount() - TimemsTick));
        Print("Номер тика = " + ticknumber + " PriceBID = " + PriceBID + " PriceASK = " + PriceASK + " TimeTickinms = " + (GetTickCount() - TimemsTick));
    }
    return(0);
}

Код для MT5:

#property copyright "Copyright 2024, expforex."

#property link ""
#property version "1.00"

int timestart = 0;
int ticknumber = 0; // Номер тика
double PriceBID = 0; // Ціна BID тика
double PriceASK = 0; // Ціна ASK тика
int TimemsTick = 0; // Час тика в мс

int OnInit()
{
    datetime Time[];
    ArraySetAsSeries(Time, true);
    CopyTime(_Symbol, _Period, 0, 1, Time);
    timestart = (int)Time[0]; // Починаємо рахунок з нового бару, щоб усі ЕА на всіх терміналах починали однаково.
    return(INIT_SUCCEEDED);
}

// Радник запускається з кожним тиком
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 Номер тика = " + ticknumber + "\nPriceBID = " + PriceBID + "\nPriceASK = " + PriceASK + "\nTimeTickinms = " + (GetTickCount() - TimemsTick));
        Print("Номер тика = " + ticknumber + " PriceBID = " + PriceBID + " PriceASK = " + PriceASK + " TimeTickinms = " + (GetTickCount() - TimemsTick));
    }
    return;
}

Ці експерти виконують наступне:

Після ініціалізації радник записує бар, на якому він стартував, щоб забезпечити одночасний старт усіх експертів на всіх чотирьох терміналах на наступному барі (в нашому випадку, M30).

Потім, з кожним тиком, радник реєструє дані на екрані та в журналі: номер тика, ціни BID/ASK та час тика в мілісекундах з моменту початку обчислення.

Я завантажив два термінали MT4 та два термінали MT5 від одного брокера, щоб зробити наш тест більш достовірним.

Завантажити MetaTrader

Експертні радники скальпінгу на терміналах MetaTrader

Я запустив термінали, застосував графіки EURUSD M30 до всіх чотирьох терміналів і використав одного Експертного радника для перевірки наших спостережень.

Графіки EURUSD M30 на терміналах MetaTrader

Початкові записи в наших журналах свідчать, що ми стартували одночасно:

mt4_1:

18:29:58 TEST TICK EURUSD, M30: Номер тика = 1 ЦінаBID = 1.32281000 ЦінаASK = 1.32289000 ЧасTickinms = 0

mt4_2:

18:29:58 TEST TICK EURUSD, M30: Номер тика = 1 ЦінаBID = 1.32281000 ЦінаASK = 1.32289000 ЧасTickinms = 0

mt5_1:

GR 0 18:29:58 TEST TICK (EURUSD, M30) Номер тика = 1 ЦінаBID = 1.32336000 ЦінаASK = 1.32344000 ЧасTickinms = 1065503

mt5_2:

GR 0 18:29:58 TEST TICK (EURUSD, M30) Номер тика = 1 ЦінаBID = 1.32335000 ЦінаASK = 1.32345000 ЧасTickinms = 1065674

Як видно з наступних знімків екрану, котирування почалися ідентично, проте ми спостерігали 1-2 тикові розбіжності. Це чітко свідчить:

Скальпер не може досягти 100% ідентичних результатів на двох різних платформах MT4 та MT5.

Він також не може відкривати угоди одночасно на двох терміналах однієї платформи MT4/MT5.

Це нереалістично і не вина брокера.

Транспортний протокол проходить через мережу від сервера до вашого комп’ютера, що призводить до втрати пакетів — нормальне явище.

Різниця в обчисленнях та аналізі

Наступні знімки екрану ілюструють розбіжності:

Розбіжності в обчисленнях даних тика - Знімок екрану 1
Розбіжності в обчисленнях даних тика - Знімок екрану 2
Розбіжності в обчисленнях даних тика - Знімок екрану 3
Розбіжності в обчисленнях даних тика - Знімок екрану 4
Розбіжності в обчисленнях даних тика - Знімок екрану 5

Це лише через 3 хвилини після запуску радників.

Давайте звернемося до наших журналів для номера тика 1433 на терміналах MT4:

18:47:44 TEST TICK EURUSD, M30: Номер тика = 1433 ЦінаBID = 1.32336000 ЦінаASK = 1.32344000 ЧасTickinms = 1065503
18:47:44 TEST TICK EURUSD, M30: Номер тика = 1433 ЦінаBID = 1.32335000 ЦінаASK = 1.32345000 ЧасTickinms = 1065674

У нас однаковий час сервера, але час в мс відрізняється, а також котирування.

Номер тика 1684

18:52:05 TEST TICK EURUSD, M30: Номер тика = 1684 ЦінаBID = 1.32377000 ЦінаASK = 1.32385000 ЧасTickinms = 1326586
18:52:03 TEST TICK EURUSD, M30: Номер тика = 1684 ЦінаBID = 1.32374000 ЦінаASK = 1.32382000 ЧасTickinms = 1324496

Не тільки час відрізняється, але й ціни BID/ASK.

Тепер порівняємо те ж саме на терміналах MT5:

ES 0 18:48:42 TEST TICK (EURUSD, M30) Номер тика = 4316 ЦінаBID = 1.3231 ЦінаASK = 1.32318 ЧасTickinms = 1124050
DS 0 18:48:43 TEST TICK (EURUSD, M30) Номер тика = 4316 ЦінаBID = 1.32311 ЦінаASK = 1.3232 ЧасTickinms = 1124502

Той самий номер тика, але чому різні ціни?

Або ось ще один приклад:

RJ 0 18:52:21 TEST TICK (EURUSD, M30) Номер тика = 4984 ЦінаBID = 1.32363 ЦінаASK = 1.32371 ЧасTickinms = 1342701
H 0 18:52:22 TEST TICK (EURUSD, M30) Номер тика = 4984 ЦінаBID = 1.32364 ЦінаASK = 1.3237 ЧасTickinms = 1344355

Різний час прибуття тика в мс, різна ціна ASK/BID

Архів archive містить усі матеріали, пов’язані з цією статтею, включаючи самих Експертних радників, відео, зображення та журнали терміналу.

Виникає питання:

Чи може той самий Експертний радник на двох реальних/живих рахунках, один брокер, одна платформа виконувати ідентичні угоди з 100% точністю?

Очевидна відповідь Ні.

Це не відбувається!

Сподіваюся, ця стаття детально відповість на всі ваші питання в майбутньому. З цими знаннями ви зможете більш точно керувати своїм скальпером на ваших терміналах.

Збільшуйте свої прибутки.

Як визначити Пінг (Час доступу до сервера вашого брокера)

Швидкість від VPS до сервера брокера легко визначити. Ця функція є стандартною у Windows і називається PING.

Для визначення часу доступу вам потрібно знайти адресу вашого сервера.

Спочатку відкрийте папку терміналу та перейдіть до підпапки CONFIG.

Знайдіть файл з назвою вашого сервера.

Знаходження адреси сервера у папці конфігурації MetaTrader
Файл конфігурації сервера MetaTrader

Далі відкрийте файл у Блокноті і знайдіть шлях до вашого брокера. Скопіюйте його в буфер обміну.

Потім відкрийте меню Пуск і введіть команду cmd.

Відкриття командного рядка у Windows

Далі введіть команду ping разом із адресою вашого сервера.

ping mt4-demo.roboforex.com

Результат відображає час від вашого комп’ютера до сервера брокера в мілісекундах (мс).

Чим нижче значення, тим краще для будь-якого Експертного радника, особливо для скальпера.

Результати пінгу до сервера брокера

Ви також можете перевірити свій пінг до сервера або змінити Дата-центр у нижньому правому куті вашого терміналу:

Зміна дата-центру в терміналі MetaTrader

Якщо ваш пінг занадто високий, ви можете встановити Експертного радника на VPS сервер.

Питання?

Якщо у вас є будь-які питання, будь ласка, не соромтеся запитувати. Ми не продаємо вам козла в мішку.

Кожен з наших продуктів можна протестувати перед покупкою.

Ми цінуємо ваші відгуки та запити щодо наших продуктів і прагнемо підтримувати високі стандарти якості.

Дякуємо, що ви з нами!

У вас є питання?

Leave a Reply

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

Ця публікація також доступна на: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어


     

    Попередження про ризик:


    Минулі торгові показники не гарантують майбутніх результатів.

    Маржинальна торгівля іноземною валютою пов'язана з високим ступенем ризику і може не підходити для всіх інвесторів.

    Майте на увазі, що використання торгових роботів пов'язане зі значним ризиком, і ви можете втратити більше, ніж ваші початкові інвестиції.

    Будь ласка, будьте обережні, ретельно оцініть своє фінансове становище і зверніться за порадою до кваліфікованого фахівця.

    Відмова від відповідальності

    Цей веб-сайт використовує файли cookie для покращення вашого досвіду. Використовуючи цей веб-сайт, ви погоджуєтеся з нашою Політикою захисту даних та Відмовою від відповідальності.
    Детальніше