Зміна Forex спреду у тестері стратегій за допомогою скрипту Spread Changer
Одним із параметрів, що впливають на результати тестування та оптимізації радників у тестері стратегій, є розмір спреду для валютного інструменту, що тестується. Якщо натиснути кнопку Властивості символу в тестері стратегій, то в окремому вікні буде виведена інформація про інструмент, де в першому рядку якраз і вказується розмір Форекс спреда, який на даний момент встановлений брокером:

Не дивлячись на те, що різниця між цінами Ask та Bid, по ідеї, величина постійна, у певних випадках вона може змінюватися брокером. Одним із таких випадків є вихідний день, коли її значення найчастіше зростає. Якщо враховувати той факт, що багато трейдерів проводять тестування та оптимізацію радників саме на вихідні, після чого встановлюють їх для торгівлі на реальному рахунку, то в результаті може виявитися, що радник, який показав хороші результати торгівлі на історії, на реальному рахунку торгуватиме в збитки. Особливо сильно ситуація проявляється під час роботи зі скальпуючими торговими системами, де кожен пункт відіграє велику роль ефективності радника. І якщо змінюється розмір спреду з настанням робочого тижня, і торгова стратегія це не враховує, то з великим ступенем ймовірності можна прогнозувати якщо не злив депозиту, його зменшення замість очікуваного збільшення.
Зміна Forex спреду за допомогою скрипта Spread Changer.
Вирішенням проблеми, пов'язаної з оптимізацією радника при одному розмірі спреду та його запуском на торговий рахунок за іншого розміру, стане тестування з використанням можливостей скрипту щодо зміни спреду. Скрипт називається Spread Changer, встановлюється він у папціторгового терміналу MetaTrader 4, після чого запускається на графіку торгового інструменту, що використовується для тесту. У вікні скрипта (рис. 4) вручну задається розмір Forex спреду, який відповідає тому, що діє протягом торговельного тижня або будь-яке інше потрібне значення спреду.
Скачати скрипт spreadchanger.rar [34,52 Kb] (скачувань: 386)
Установка скрипта стандартна - розпакуйте архів spreadchanger.rar у будь-яке місце на Вашому комп'ютері, після чого папку \experts\ скопіюйте в папку зі встановленим терміналом МТ4, погоджуючись (якщо потрібно) на всі заміни:

Для роботи скрипта необхідно, щоб у налаштуваннях терміналу, в меню Сервіс - Налаштування, у вкладці Радники була встановлена галочка для функції Дозволити імпорт DLL:

Далі відкриваєте торговий термінал, вікно графіка із необхідною валютною парою, тайм-фрейм значення не має. З вікна Навігатор-Скрипти на графік перетягуєте скрипт MT4i-Spread Changer. Під час перетягування відкривається робоче вікно скрипта Spread Changer, де необхідно вручну задати розмір спреду. Кнопка Read from MTI дозволить встановити поточне значення спреду Вашого брокера, якщо є у списку. Якщо Вашого брокера у списку немає, вікно вибору закриваєте та вручну прописуєте потрібне значення:

Після того, як Ви поставите потрібну величину спреда, клацаєте по кнопці Restart MT4 і термінал буде перезавантажено. Вікно скрипта залишається відкритим. Слід враховувати, що скрипт перериває інтернет-з'єднання між терміналом та сервером брокера, що дозволяє змінюватицей параметр. Якщо для роботи Вашого радника потрібний зв'язок з Інтернетом, тестувати їх з використанням цього скрипту не вдасться.
Після того, як Ви проведете тестування або оптимізацію радника, тобто повністю закінчите роботу з тестером стратегій, Вам буде потрібно відновити зв'язок терміналу МТ 4 з брокером і реальне значення спреду Вашого дилінгового центру. Для цього (як згадувалося вище, вікно скрипта Spread Changer має бути відкритим протягом усіх робіт з тестером) потрібно буде просто закрити термінал МетаТрейдер 4 і скрипт Spread Changer автоматично запустить його, після чого можна закривати вікно скрипта, натиснувши кнопку Close SpreadChanger .
Щоб підтвердити той факт, що розмір спреду може суттєво вплинути на результати, що видаються радником при його оптимізації з одними властивостями символу та при роботі з іншими властивостями, розглянемо скрини тесту, проведеного з радником при різних значеннях параметра – встановленим брокером (рис. 5) та встановлений за допомогою скрипта (рис. 6):


Як видно – різниця суттєва. І якщо при одному значенні тест показує стабільний прибуток, то при іншому значенні (спред спеціально було збільшено до 20 пунктів) цей радник уже зливає депозит.
Можливість тестування з різними значеннями Forex спреду дозволяє визначити його максимальний розмір, за якого радник все ще дає позитивні результати тестів. Це, своєю чергою, дозволяє обмежити можливі збитки, пов'язані зі збільшенням спреду брокером. Справа в тому, що багато радників мають параметр MaxSpread, який і відповідає зазапобігання відкриттю угод, якщо спред збільшився вище встановленого значення.
Знання того, як веде себе радник при різних значеннях спреду, дозволяє правильно визначитися з вибором брокера або з тим чи іншим типом рахунку одного дилінгового центру.