Як правільна аптымізаваць дарадцаў Ілан ў тэстараў стратэгій: частка першая

Давайце разгледзім, як правільна аптымізаваць і тэставаць робатаў - дарадцаў ў тэстараў стратэгій праграмы МетаТрейдер 4 на прыкладзе дарадцы Ілан 1.6. Дарадцы з серыі Ilan карыстаюцца вялікай папулярнасцю сярод пачаткоўцаў трэйдараў. Практычна кожны пачатковец, які прыйшоў на валютны рынак Форекс, ажыццяўляе знаёмства з аўтаматычнай гандлем менавіта праз выкарыстанне дарадцаў Ilan. Яно не дзіўна, бо Иланы - гэта простыя дарадцы Форекс, якія могуць быць запампаваныя ў сетцы інтэрнэт бясплатна. Спампаваць Ілан розных мадыфікацый можна і на нашым сайце автофорекс.ру.

У адпаведных раздзелах ёсць інфармацыя пра тое, як тэставаць і аптымізаваць дарадцаў , Але прадстаўлена яна ў агульным выглядзе, гэта значыць, без уліку асаблівасцяў налад таго ці іншага робата, іншымі словамі - без канкрэтных прыкладаў. У сувязі з гэтым мы прапануем асобна азнаёміцца ​​з адметнымі асаблівасцямі дарадцы Ilan 1.6, з яго параметрамі і зменнымі, а ўжо на аснове гэтай інфармацыі, у другой частцы матэрыялу, падрабязна разгледзім працэс аптымізацыі і тэставання гэтага ж дарадцы.

Спампаваць дарадцы Ilan 1.6 з уваходнымі параметрамі, апісанне якіх будзе разгледжана ніжэй, можна па наступнай спасылцы:

Спампаваць архіў з дарадцам і SET-файлам - ilan_1.6.rar [17,86 Kb] (запамповак: 1771)

Пасля стандартнай працэдуры запампоўкі архіва, яго распакавання і капіяванні файлаў дарадцы ў тэчку з тэрміналам, перазагружаем тэрмінал МетаТрейдер 4, у акне Навігатар - Дарадцы знаходзім дарадцы Ilan 1.6 і перацягваць на графік валютнай пары. Адкрываецца акно, дзе паказваюцца ўваходныя параметры Илана па змаўчанні, якія адказваюць за яго налады.

Адкрываецца акно, дзе паказваюцца ўваходныя параметры Илана па змаўчанні, якія адказваюць за яго налады

Разгледзім кожную зменную, паказаўшы яе значэнне і сутнасць.

Пераменная LotExponent: па змаўчанні яе значэнне роўна 1.4. Гэта каэфіцыент павелічэння лота пры выстаўленні наступнага калена. Гэта значыць, калі першы лот адкрываецца аб'ёмам 0.01, то другі будзе адчыняцца ў памеры 0.01 * 1.3 = 0.013. Але, так як адкрыць ордэр такім лотам нельга, то ён аўтаматычна акругляецца да 0.01, а ў памяці захоўваецца значэнне 0.013. Пры вызначэнні аб'ёму лота для трэцяга ордэра ўжо 0.013 * 1.3. Атрымліваецца 0.0169, значэнне акругляецца да 0.02. Аб'ём чацвёртага ордэра будзе вылічвацца наступным чынам: 0.0169 * 1.3 = 0.2197, акругляецца зноў да 0.02. Пяты ордэр будзе адкрыты аб'ёмам 0.03, так як 0.2197 * 1.3 = 0.02856, што як раз і акругляецца да 0.03. Далей разлік аб'ёмаў лотаў, з якімі будуць адчыняцца ордэра, разлічваюцца аналагічным чынам. Калі ж першы ордэр адкрываецца з лотам 0.1, то другі ордэр з аб'ёмам 0.13 без акруглення, так як здзелкі такімі лотамі могуць здзяйсняцца.

Другая пераменная - DynamicPips, можа прымаць 2 значэння - true і false. True - у наладах пазначаецца як 1 (дазволіць), а false - як 0 (забараніць). Які сэнс гэтай зменнай? Калі ўсталяваць значэнне true, то дарадцы будзе дазволена дынамічна змяняць зменную DefaultPips, пра якую гаворка пойдзе крыху ніжэй. Калі прастаўлены значэнне false, то крок паміж выстаўленнем новых ордэраў будзе фіксаваным і роўны значэнню зменнай DefaultPips.

DefaultPips - вызначае крок паміж выстаўленнем новых ордэраў па змаўчанні. Гэта значыць, калі задаць значэнне DefaultPips 12, а значэнне DynamicPips - false, то саветнік Ілан 1.6 будзе адкрываць кожны новы ордэр пасля праходжання цаной адлегласьці ў 12 пунктаў. У адваротным выпадку, пераменная DefaultPips будзе змяняцца дынамічна.

Пераменная Glubina - пазначае, колькі бараў (або свечак) эксперт будзе аналізаваць перад адкрыццём першай здзелкі. Так, пры ўстаноўленым параметры, роўным 24, робат адлічыць папярэднія High і Low свечкі ў агульнай колькасці 24, і прааналізуе па іх стан рынку.

Параметр DEL - каэфіцыент разліку дынамічнага DefaultPips пры DynamicPips - true. Пры гэтым DefaultPips будзе разлічвацца па формуле [колькасць High свечак - колькасць Low свечак] / DEL.

Пераменная SLIP (праслізгванне) - вызначае, наколькі можа адрознівацца цана, калі дылінгавых цэнтр запытае реквоты. Да прыкладу, калі ў працэсе апрацоўкі заяўкі дарадцы дылінгавых цэнтр паведамляе аб змене цэны на столькі-то пунктаў, і памер гэтага змены роўны або менш значэння SLIP, то ордэр ўсё роўна будзе апрацаваны. А калі змяненне цаны больш зменнай SLIP, то ордэр адкрыты не будзе.

Пераменная Lots вызначае аб'ём першага адчынянага дарадцам ордэра. Значэнне па змаўчанні - 0.01. Аднак не ўсе дылінгавых цэнтры пры абраным тыпе рахункі дазваляюць гандляваць мікра-лотам, усталёўваючы магчымы мінімальны аб'ём - 0.01. Той жа папулярны ў пачаткоўцаў дылінгавых цэнтр RoboForex на центовой рахунку тыпу Fix-Cent дазваляе адкрываць ордэра мінімальным аб'ёмам 0.1.

Пераменная LotDecimal вызначае, колькі знакаў будзе разлічваць саветнік Ilan 1.6 ў лоце пасля коскі. Калі ён гандлюе микролотами, гэта значыць у дыяпазоне ад 0.01 да 0.09, то значэнне LotDecimal павінна складаць 2. Ва ўмовах гандлю минилотами (ад 0.1 да 0.99) LotDecimal = 1, пры гандлі нармальнымі лотамі (1 і больш) пераменная LotDecimal = 0. Падрабязная інфармацыя і міні, мікра і стандартных лотах даступная тут .

Пераменная TakeProfit задае колькасць пунктаў прыбытку ад безубытка ўсёй серыі ордэраў, пры якой робат закрые ордэра.

Пераменная Drop вызначае значэнне ўшыты ў саветнік Ilan індыкатара CCI з перыядам 55. Рэкамендуемае значэнне Drop = 500. Калі індыкатар CCI перавышае адзнаку 500, усе адкрытыя ордэра саветнік закрые, каб пазбегнуць вялікіх страт.

Сам індыкатар CCI (Commodity Chanel Index) - гэта трэндавы індыкатар індэкса таварнага канала, які вымярае адхіленне цэны валютнай пары ад сярэднестатыстычнай кошты. Для індыкатара зададзены дыяпазон ад +100 да -100, і калі ён выходзіць за гэтыя межы, то гэта сведчыць аб трэндзе ўверх (значэнне індыкатара больш +100) або трэндзе ўніз (значэнне менш -100) валютнай пары, на графіцы якой усталяваны індыкатар CCI .

Наглядна разгледзім гэты індыкатар, вынесьлі яго акно асобна на графік. Для гэтага пры адчыненым акне абранай валютнай пары ў панэлі Індыкатары выбіраем тып Трэндавыя - Commodity Chanel Index.

Для гэтага пры адчыненым акне абранай валютнай пары ў панэлі Індыкатары выбіраем тып Трэндавыя - Commodity Chanel Index

У якое адкрылася акне значэнне перыяду па змаўчанні можа быць выдатным ад 55, таму яго мяняем самастойна на 55. Ціснем ОК.

Ціснем ОК

Пад акном графіка з'яўляецца акно індыкатара з ўзроўнямі +100, 0, -100. Крывая лінія пазначае кірунак руху трэнду. На прыкладзе відаць, што пры рэзкім сыходным руху індыкатара назіраецца зніжэнне цаны інструмента. Пры гэтым, графік індыкатара апускаецца ніжэй значэнне -500, дасягаючы адзнакі -517.

Пры гэтым, графік індыкатара апускаецца ніжэй значэнне -500, дасягаючы адзнакі -517

Калі да гэтага былі адкрыты здзелкі на куплю, а кошт пайшла ў бок зніжэння, і індыкатар CCI дасягнуў адзнакі -500, то саветнік прымусова закрые ўсе адкрытыя здзелкі на куплю, каб пазбегнуць вялікіх страт, звязаных з няслушным вызначэннем накіравання для адкрыцця здзелак. У Часопісе гандлёвага тэрмінала MetaTrader 4 адаб'ецца запіс Closed All due to TimeOut, якая азначае, што ўсе здзелкі зачыненыя па тайм-ауту, гэта значыць, чакаць паляпшэння рынкавага стану не мэтазгодна.

Аналагічна, прымусова будуць закрывацца здзелкі на продаж пры дасягненні індыкатарам ўзроўню +500.

Наступны пераменная RsiMinimum - таксама з'яўляецца убудаваным у код дарадцы індыкатарам RSI. Рэкамендуецца задаваць ёй значэнне 30, якое будзе з'яўляцца ніжняй мяжой індыкатара. Ніжэй гэтай мяжы саветнік не будзе адкрываць здзелкі на продаж.

Пераменная RsiMaximum - мяжа індыкатара RSI, вышэй за якую саветнік Ilan 1.6 не будзе адкрываць здзелкі на куплю.

Індыкатар RSI - Relative Strenght Index - індэкс адноснай сілы, вымярае імпульс руху цэны. Яго значэнне знаходзіцца ў дыяпазоне ад 0 да 100%. Значэння ніжэй за 30% лічацца зонай перепроданность, то ёсць далей прадаваць валюту не рацыянальна, таму ў дарадніку значэнне 30 і з'яўляецца ніжняй мяжой. Таксама, пакуль індыкатар будзе знаходзіцца ніжэй за ўзровень 30, будуць абмежаванні на здзяйснення здзелак на куплю.

Значэнне вышэй 70 - з'яўляецца зонай перекупленности. Калі індыкатар вышэй за гэтую адзнаку, то саветнік не будзе здзяйсняць здзелак на куплю, так як рынак сігналізуе аб хуткім змене кірунку трэнду. Аднак будзе існаваць забарону і на адкрыццё здзелак на продаж.

Значэння індыкатара RSI ў дарадніку Ілан 1.6 па змаўчанні вызначаюцца на тайм-фрэйме 1 гадзіна.

Сам індыкатар ставіцца да асцылятар, таму шукаць яго варта ў панэлі Індыкатары - асцылятара - Relative Strenght Index тэрмінала MT 4. У якое з'явілася акне параметраў усе значэння пакідаюцца па змаўчанні.

Пераменная MagicNumber - магічнае лік, якое прысвойваецца кожнай пагадненні, адкрытай дарадцам, для таго, каб адрозніваць іх ад здзелак, што адкрываюцца ў гандлёвым тэрмінале іншымі дарадцамі або самім трэйдарам ўручную. Па змаўчанні, "магіка" эксперта Ілан 1.6 роўны 2222.

MaxTraders = 20 - пераменная, якая вызначае максімальную колькасць ордэраў, якія робат можа адкрываць у рамках адной серыі.

Пераменная UseEquityStop можа прымаць два значэнне - true (1 - дазволіць) і false (2 - забараніць). Пры значэнні true - Ілан сочыць за агульным стратай здзелак, гэта значыць, дазваляецца работа зменнай TotalEquityRisk.

TotalEquityRisk - задае памер максімальнай прасадкі па эквити, якую можа дапусціць саветнік. Так, пры значэнні TotalEquityRisk = 20, Ilan закрые ўсе свае ордэра, калі агульная прасадка складзе 20% ад сумы сродкаў на рахунку.

Што такое эквити? Эквити (па-ангельску - Equity ) - гэта баланс рахунку з улікам бягучых прыбыткаў і страт па адкрытых пазіцыях. Калі на рахунку перад адкрыццём першай здзелкі ёсць 1000 даляраў, і памер страт па адкрытых дарадцам пазіцыях складае 20%, гэта значыць 200 долараў, то ўсе здзелкі прымусова зачыняюцца.

Параметр UseTrailingStop можа мець значэння 1 (true -разрешить) і 2 (false - забараніць). У выпадку, калі зададзена значэнне true, і здзелкі ўваходзяць у зону безубытка, будзе актывавацца трейлинг-стоп і слізгаць за цаной, пакуль яна ідзе ў патрэбным накірунку. Аналагічны прынцып сачэння за цаной закладзены ў працу дарадцы Forex Trailingator , Які сам ўгоды не адкрывае, а толькі суправаджае іх.

Параметр UseTimeOut зноў жа прымае два значэння true - 1 і false - 2. Пры значэнні зменнай true саветнік Ilan 1.6 будзе закрываць здзелкі, якія вісяць ужо доўгі час. Перыяд, які вызначае, як доўга можа вісець здзелка адкрытай, выстаўляецца зменнай MaxTradeOpenHours. Значэнне зменнай MaxTradeOpenHours вымяраецца ў гадзінах.

Як бачна, правільная аптымізацыя дарадцы Ilan 1.6, а таксама яго тэставанне будуць залежаць ад таго, наколькі дакладна і пісьменна будуць зададзены яго ўваходныя параметры. Таму вельмі важна навучыцца разбірацца ў іх, каб правільна аптымізаваць дарадцы Ілан 1.6 або іншых дарадцаў ў тэстараў стратэгій, загадзя адсякаючы стратныя параметры.

Для замацавання матэрыялу рэкамендуем азнаёміцца ​​з відэа - версіяй першай частцы аптымізацыі дарадцы Ілан 1.6, а менавіта - з аглядам зменных дадзенага дарадцы:

У другой частцы артыкула, якая апублікаваная тут , Падрабязна разгледжаны непасрэдна сам працэс аптымізацыі і тэставання дарадцы Ілан 1.6 ў тэстараў стратэгій гандлёвага тэрмінала МетаТрейдер 4.

Які сэнс гэтай зменнай?
Што такое эквити?