Оптимізація радників форекс на історії
- Що таке оптимізація
- вибір моделі
- вкладка тестування
- Вкладка вхідні параметри
- А що ж робити, якщо параметрів багато?
- вкладка оптимізація
- Вибір відрізка для оптимізації
- Якщо відрізняється торгівля на реалі і в тестері
- висновок
Привіт, форекс трейдери! на сторінках блогу ми вже обговорювали підготовку котирувань і тестування радників , Тепер же настав час поговорити про оптимізацію радників. У оптимізації є як противники, так і прихильники, причому супротивників більше.
Чому так відбувається? Процес оптимізації радників досить багатогранний, щоб правильно оптимізувати радник потрібні деякі знання, недоступні для новачка через недостатній досвід. Додає масла в вогонь велика кількість різної інформації в інтернеті, часто вже не вірною або ж спотвореною. Саме тому у прихильників оптимізації так багато противників - люди не вміють нею користуватися. У цьому уроці я розповім, як же правильно оптимізувати радник і, сподіваюся, заощаджу комусь з новачків пару депозитів.
Що таке оптимізація
Не секрет, що ручні торговельні системи згодом застарівають і перестають приносити той прибуток, який приносили в минулому. При цьому старі збиткові стратегії починають раптом добре себе показувати. Всьому виною циклічність ринку, коли одні торгові умови змінюються іншими. Те ж саме відбувається і з радниками . Ринкові умови перестають підходити під стратегію, закладену в алгоритм радника і той починає втрачати гроші. Що ж робити в такій ситуації, просто видалити радник і забути про нього? На щастя, в цьому випадку нам на допомогу приходить оптимізація. Так що ж це таке? По суті це просто підгонка параметрів радника під поточні ринкові умови, коригування стратегії, її адаптація до умов, що змінилися. Як трейдери коригують свої ручні торгові системи під поточний ринок, так і алготрейдери коректують свої радники. Зміни, адаптація - невід'ємна частина процесу торгівлі. Той, хто не змінюється вчасно - залишається за бортом, таке життя трейдера.
вибір моделі
Отже, ми з вами визначилися, що оптимізація все-таки важлива і навіть необхідна деталь в торгівлі за допомогою радників. До того ж, повторюся, ви вже знаєте, як закачувати котирування, встановлювати в термінал і тестувати радники, в курсі, що таке «Сети» або set-файли . Тепер настав час відкрити термінал і провести оптимізацію. Коли я розповідав про тестування радників, я розповів вам про три моделі тестування і їх особливості. Рекомендую оптимізувати радників по моделі «все тики». Це найбільш точна модель і ймовірність того, що ви зробите щось невірно стане менше. Наведу приклад тесту радника за трьома моделями для порівняння кінцевих результатів, щоб ви наочно могли переконатися в моїх словах:
Модель «за цінами відкриття»
Модель «контрольні точки»
Модель «все тики»
Отже, думаю, тепер ні в кого не виникне питання, чому ж бажано проводити оптимізацію саме за моделлю «все тики». Зверніть увагу, як сильно відрізняється перший варіант від другого і третього. Результати при моделі «контрольні точки» можуть відрізнятися не дуже сильно від результатів за моделлю «все тики». Тільки в цьому випадку допускається оптимізація по контрольним точкам з метою економії часу. Тому потрібно спочатку прогнати тести радника у всіх трьох режимах і, порівнявши результати, прийняти рішення.
вкладка тестування
Позиція «оптимизируемого параметр» дозволяє вибрати основний вихідний параметр, за яким буде оцінюватися кожен прогін, а саме:
- «Balance» - відбір ведеться по кінцевій величині балансу депозиту;
- «Profit Factor» - відбір ведеться за кінцевим співвідношенню сукупної суми прибуткових угод до сукупної суми збиткових угод (тобто прибутковість, як мінімум, повинна бути більше 1);
- «Expected Payoff» - відбір ведеться за підсумковим математичного сподівання, тобто середньому показнику прибутку на одну угоду. (Математичне сподівання, як мінімум, не повинно бути рівне або менше розміру спреда);
- «Maximal Drawdown» - відбір ведеться по мінімумам досягаються розмірів максимальної осідання. Іншими словами, Maximal Drawdown - це найбільша сума коштів, на яку зменшувався депозит від відповідного локального максимуму. По суті, даний показник говорить про реальну ціну ризику. Наприклад, якщо максимальна просадка перевищує розмір початкового депозиту - варто сильно задуматися про перегляд розміру депозиту.
- «Drawdown Percent» - відбір ведеться за відносної просідання, тобто відсотковий розмір максимальної осідання в відношенні до розміру поточного депозиту. Використання даного параметра в якості основного вихідного корисна, коли радник торгує нефіксованим розмірами лота або ж наприклад включена функція прогресуючого лота.
Також ви можете помітити галочку навпроти генетичного алгоритму. Якщо зняти галочку, тестер прожене абсолютно всі можливі варіанти комбінації параметрів радника. При цьому часу на оптимізацію потрібно швидше за все приблизно 100500 років. На щастя, в термінал вбудована можливість пошуку оптимальних параметрів за допомогою генетичного алгоритму, який дозволяє проводити оптимізацію всього за кілька годин або днів. В принципі, поки це все, що вам потрібно знати, тому що ця галочка - тема для цілої окремої статті.
Вкладка вхідні параметри
Оптимізацію радників прийнято проводити також як і тестування з вимкненим мані менеджментом , Лотом 0.1. Для цього потрібно знайти в параметрах радника відповідний блок і виставити фіксований лот 0.1. Таблиця на вкладці вхідні параметри містить 4 шпальти - сам параметр, його поточне значення, початкове значення для оптимізації, крок і кінцеве значення для оптимізації. Що це все означає? Наприклад, ми хочемо на певному відрізку часу підібрати оптимальний для радника стоплосс. Для цього ми задаємо початкове значення стопа (старт), скажімо, 10 пунктів. Задаємо кінцеве значення, наприклад 60 - зі стопом більше, ніж 60 всередині дня робити нема чого. Ми можемо поставити хоч мільйон, але до вибору цих значень потрібно підходити з розумом, інакше це сильно збільшить час, витрачений на оптимізацію. І останнє - крок. Якщо ми вкажемо крок 10, наприклад, отримаємо наступний перебір обраного параметра: 10, 20, 30, 40, 50, 60. Тут теж варто підійти з точки зору логіки, немає сенсу виставляти крок 1 або крок 10 (5). Цілком підійде крок 2, що також заощадить ресурси.
А що ж робити, якщо параметрів багато?
Чим більше параметрів ви тестируете за раз, тим довше буде проходити оптимізація. Але бувають ситуації, коли параметрів настільки багато, що термінал відмовляється проводити оптимізацію і повідомляє про це в журнал. В такому випадку необхідно розбити всі параметри на 4 групи: сильно впливають на результат параметри, середньо і слабо впливають, які не впливають зовсім. Визначити ступінь впливу можна пробної оптимізацією окремо взятого параметра. Природно, оптимізувати в першу чергу потрібно ті параметри, які сильно впливають на результати, а потім вже в міру важливості всі інші.
вкладка оптимізація
Ця вкладка також покликана економити час оптимізації. Тут ви можете виставити свої правила відсіву результатів, причому ще на етапі самої оптимізації. Наприклад, обмежити максимальну безперервне кількість збиткових угод чотирма, а максимальну просідання 10-ма відсотками. Тоді в результатах оптимізації будуть відображені тільки результати, що задовольняють цим параметрам.
Вибір відрізка для оптимізації
В принципі, це основне питання при оптимізації радника і від грамотного вибору цього відрізка буде залежати, заробите ви якісь гроші, або ж втратите. Саме цей момент і є джерелом такої великої кількості затятих супротивників оптимізації та роботи з радниками взагалі.
підхід новачка
Отже, ось підхід, який використовується багатьма новачками. Береться короткий доступний період історії (часто не довше кількох місяців, щоб чекати було недовго) і натискається кнопочка «старт». Після завершення вибирається той прохід, який дав найбільше «бабла». Все, сет встановлюється на реал і новачок готує мішок для грошей, часто при цьому ще вихваляючись своїм «граалем». А потім, звичайно ж, відбувається злив.
популярний підхід
Цей підхід - найпоширеніший серед які новачків. Вибирається дві ділянки історії, ділянку оптимізації і ділянку форвард-тесту. При цьому ділянка оптимізації знаходиться перед ділянкою форвард-тесту, без розривів в днях. Як правило, під оптимізацію вибирають перші дві третини вибраної ділянки історії, а на форвард виділяють залишилася одну третину. На ділянці оптимізації підбираються кращі варіанти, а на форвард періоді, який радник ще «не бачив», відбувається відбір хороших налаштувань. Вибір ділянки історії визначається на розсуд трейдера. При цьому чим більше ділянка, тим більше пристосовані настройки до різних несподіванок ринку, тим довше він буде заробляти при одних і тих же налаштуваннях, тим пізніше сети застаріють. Але при цьому тим менше буде загальний прибуток радника. Чим коротший період оптимізації, тим більше настройки пристосовані до певного періоду ринку, певним торговим умовам, але тим більше його ефективність при цих умовах, більший прибуток. Можна проводити оптимізацію раз в тиждень, а можна раз в п'ять років - кому що більше до смаку. Але є один мінус в намаганні трейдерів знайти оптимальні параметри для короткого ділянки - ніколи не знаєш напевно, коли настройки застаріють. Можна вгадати з сетом і всю майбутню тиждень радник торгуватиме прибутково, а може трапитися і так, що в понеділок же характер ринку змінився і радник весь тиждень буде зливати. Особисто мене ця лотерея якось не надихає, і я не прагну при оптимізації гнатися за максимальною ефективністю. Замість цього я підбираю сети «на року».
Крім того, існує думка, що далі, ніж на три роки тому дивитися безглуздо. Я не можу заперечити це твердження фактами, але все ж вибираю період оптимізації не менш 6 років з ділянкою форвард-тесту не менше двох. Мені так спокійніше.
В цілому ж гонитва за тенденцією має право на життя, особливо якщо ви в цьому профі і у вас дійсно виходить вчасно передбачати, коли ваші настройки перестануть працювати.
вуду підхід
Часто зустрічав в інтернетах такий вуду підхід, який видається за підхід для справжніх профі. Ділянка історії ділиться на два рівних ділянки. На кожному з них окремо проводиться оптимізація, зберігаються 10-20 варіантів вдалих налаштувань. Потім настройки з першого і другого ділянки порівнюються і ті, які приблизно схожі, приймаються за оптимальні. Це повна маячня, забирає вагон часу і не несе ніякого смислового навантаження. Використовуючи даний вуду-метод, ви вб'єте купу годин на дурниці і в кінець посадіть своє зір.
Мій підхід
Мета підходу - знайти універсальні настройки, які в довгостроковому періоді забезпечать сталу прибутковість незалежно від зміни характеру ринку, волатильності , глобального тренда , Такі настройки, які не втратять через тиждень, місяць або рік. При цьому, на жаль, далеко не кожен радник здатний пройти мої тести.
Отже, припустимо, у нас є шматок історії в 15 років (не менше 10), скажімо, з 2000 року до 2015. Розбиваємо цей шматок на наступні періоди: 2000-2003 - це наш шматок беквард-тесту, 2003-2012 - період оптимізації , 2012-2015 - форвард-тест. Після оптимізації ми проводимо як зазвичай форвард тестування, відбираючи 10-20 найбільш вдалих сетів. Після цього вибрані сети проганяє на ділянці беквард-тесту. Результати повинні бути схожі на отримані при форварда. Ті сети, які витримали тест, залишаються для подальшого порівняння. Далі проганяє тест за рештою сетах на всьому шматку історії і вибираємо той, результати якого краще за інших. У підсумку залишається один найбільш пристосований сет налаштувань.
Як відбирати сети на першому етапі - форвард-тесті? Дуже просто: найголовніше для нас на цьому етапі - вид кривої балансу. В ідеалі вона повинна бути прямою лінією, що йде з лівого нижнього в правий верхній кут. При цьому немає сенсу дивитися все підряд кращі сети - часто вони практично однакові. Вибирати варто з кращих сетів тільки розрізняються за кількістю угод.
Якщо відрізняється торгівля на реалі і в тестері
Отже, ми отримали заповітні сет файли для нашого радника. При цьому ставити на реальний рахунок радник поки рано. Настав час перевірити наші сети на демо рахунку. В принципі, 20-30 угод по одній парі точно вистачить, щоб зрозуміти, чи вдався сет. Крім того, є сенс перевірити, чи збігаються угоди на демо з угодами за той же період в тестері. Для цього роблять тест і порівнюють показання. Якщо угоди хоча б приблизно збігаються, то все нормально. Не варто чекати угод піпса в піпса і секунда в секунду, також якщо якихось угод не буде вистачати, теж не страшно. Важлива загальна картина, загальна подібність. В реальних умовах робота радника завжди буде трохи відрізнятися від тесту - по прослизання, то радник не ввійшов через занадто високого спреда , То реквот або ще щось. Але картина не повинна звичайно відрізнятися кардинально! Якщо ви бачите на тесті абсолютно не таку, як на реалі картину, то оптимізувати такий радник марно - який би гарний сет ви ні підібрали, торгувати радник буде все одно по-іншому.
висновок
Сьогодні ви дізналися основні принципи оптимізації радників. Тим не менш, є ще безліч різних фішок, про які я не зміг розповісти в рамках однієї статті. І все ж тих знань, які ви сьогодні отримали цілком вистачить, щоб провести оптимізацію радника, що працює на періодах від Н1 і вище таким чином, щоб він довгі роки приносив вам профіт. Оптимізуйте радників правильно, і тоді, можливо, алготрейдінг стане трохи більш привабливим заняттям в очах трейдерів.
З повагою, Дмитро аkа Silentspec
TradeLikeaPro.ru
Що ж робити в такій ситуації, просто видалити радник і забути про нього?
Так що ж це таке?
Що це все означає?
А що ж робити, якщо параметрів багато?
Як відбирати сети на першому етапі - форвард-тесті?