Эксперт Pifon.ex4 (Самообучающийся эксперт) Инструкция. Параметры вводимые пользователем посредствам окна свойств эксперта. (значение по умолчанию) _AccountNumber = "Номер торгового счета [ До ........ ]"; -= ОГРАНИЧЕНИЕ СНЯТО (qwerty) =- Ac0=00000; // Номер торгового счета уже введен. Демо-счет или тестер - не // проверяются. -= ОГРАНИЧЕНИЕ СНЯТО (qwerty) =- Lots = 0.1; ReInvest=1; ReadHistory=1; //Чтение истории (1) или перезапись истории (0) Probab=0.95; //требуемая вероятность выигрыша dstop=25; //шаг изменения стопа (StopLoss) Nstop=1; //число стопов в пачке стопов НЕ БОЛЬШЕ 3 delta=5; //шаг изменения цены. <1> -близорук, <2> -видит чуть дальше, и т.д. //Если то эксперт сам выберет этот параметр равным spread. // Nidelt=22; //число ценовых паттернов не более 30 NN=10; //размер паттерна не более 12 forg=1.05; //скорость забывания результатов обучения, 1-забывания нет, обучения тоже нет. tpp=1; // Профит меньше стора в <1> раза (StopLoss делится на это число и результат = профиту) // Для того, чтобы профит стал больше стопа, необходимо задать tpp<1. tpten=1; // <1> -включить теневой профит, <0> -отключить. // Как только текущая прибыль станет равной или больше профита по // - эксперт сам закроет позицию. Это повышает надежность. // mode=1; // <0> - облегченный режим, 15% (много входов в рынок - выше риск) // <1> - основной 10% -ошибки, 2.5 позиции за 1 сутки // <2> - режим 9% -ошибки, 0.3 позиции за 1 сутки // <3> - режим 2% -ошибки, 1.0 позиции за 1 сутки // <4> - жесткий 1% -ошибки, 0.4 позиции за 1 сутки nAlert=1; // Значение <0> отменяет появление Alert-окон. wind=0; // Накручивать статистику. Значение <0> отменяет накрутку статистики. // Значение <1> разрешает накрутку статистики. // Используется при обучении на короткой (~2мес.) истории. string _Parameters_b_Lots = "Параметры модуля расчёта лота"; LotsWayChoice = 0; // Способ выбора рабочего лота: // 0-фиксированный, // 1-процент от депозита, // 2-фракционно-пропорциональный, // 3-фракционно-фиксированный, LotsPercent =30; // Процент от депозита LotsDeltaDepo =500; // Коэффициент приращения депозита LotsDepoForOne =500; // Размер депозита для одного минилота LotsMax =10000; // Максимальное количество лотов FMar=1; // Свободная маржа счета,(%) меньше которой эксперт прекращает работу. TrailingStop=0;//<0> -орключает TrailingStop, <11> -или более - включает Tr_Stop=1; //<0> -орключает Tr_Stop, <1> - включает, при этом по возможности // эксперт переставит StopLoss в прибыль (+1.....+3 пункта). // Действует независимо от TrailingStop Обучение. Цель обучения состоит в том, чтобы наполнить специальную библиотеку (базу знаний) - ценовыми паттернами. При заданном наборе внешних (входных) параметров обучение программы можно проводить двумя способами: А) В результате предварительного тестирования на Тестере Стратегий. Для этого нужно предварительно загрузить достаточный объем истории, хотя бы за год, что можно сделать, открыв график нужной валютной пары и удерживая клавишу Home. Затем открываем меню Вид/Тестер Стратегий, и запускаем тест с выбором точной модели тестирования “по всем тикам” (подробнее о работе с Тестером см. встроенную инструкцию платформы МТ4). В процессе теста файлы статистики сделок создаются Тестером и записываются в папку Tester/files. Для работы с реальным счетом их достаточно перенести в папку Experts/files. Б) Обучение может быть также проведено при запуске программы в режиме реального времени. В этом случае файлы статистики сделок создаются сразу в папке Experts/files. Накопление статистики фиктивных сделок в реальном времени происходит не быстро. Может потребоваться неделя или больше, прежде чем советник соберет достаточный объем информации и откроет первую позицию. В то же время, файлы статистики, быстро создаваемые Тестером Стратегий, не вполне удовлетворительны, так как они несколько искажены погрешностями, возникающими при моделировании Тестером движения цены внутри бара. Этого достаточно для демонстрации работоспособности алгоритма и презентации программы, однако запуск советника на реальном счете с этими файлами статистики сопряжен с определенным риском. Поэтому оптимальным способом обучения представляется следующий. Файлы обучения созданные Тестером после тестирования на исторических данных, следует рассматривать как “первое приближение”. Их следует перенести в папку Experts/files и запустить советника в режиме реального времени на демо-счете. Советник сразу может совершать сделки. Однако обновленные файлы статистики сделок появятся спустя некоторое время. Проще говоря, после перехода с Тестера на реальный счет советнику необходимо “расторговаться”. За это время он корректирует файлы статистики, созданные ранее Тестером. Переобучение. Параметр ReadHistory. Если программа была ранее хотя бы раз протестирована на данном символе, она считается обученной работать на этом символе, а папка Tester/files содержит файлы статистики. При повторном запуске на Тестере программа по умолчанию считывает информацию из файлов статистики. Поэтому при изменении значений каких либо входных параметров необходимо запретить чтение данных из файлов статистики. В противном случае возникнет несоответствие старых результатов обучения и новых входных параметров, в результате чего программа может даже продемонстрировать отрицательный результат. За переобучение программы отвечает параметр ReadHistory. Если при запуске программы ReadHistory=0, программа стирает прежний файл статистики и пишет на его место новый, отвечающий новым входным параметрам. Если ReadHistory=1, программа считывает результаты прежнего обучения и использует их в работе. Eсли ReadHistory=1, а файла статистики не обнаружено, программа прописывает в журнал ошибку чтения файла (это нормально), создает нужные файлы и записывает в них информацию аналогично запуску c выбором ReadHistory=0. Прочие параметры. - Probab – требуемая вероятность выигрыша, на основании статистических данных. Чем ближе Probab к единице, тем более вероятно достижение выигрыша в случае открытия позиции. Однако рыночные ситуации с гарантированным выигрышем реализуются редко. Поэтому для фактического достижения выигрыша пользователь обязан разрешить определенный риск. Таким образом, советник не является машиной по стабильному производству денег. Пользователь осознает наличие инвестиционного риска и самостоятельно назначает вероятность проигрыша. Указанная вероятность проигрыша равна нулю при выборе Probab=1, в этом случае советник никогда не откроет позицию; - forg – скорость забывания результатов обучения. От 1 (забывания нет) до 1.1 (сильное забывание). Параметр полезен, если необходимо придать последним сделкам больший статистический вес. Известно, что рынок со временем изменяется. Это выражается, к примеру в том, что рыночные ситуации, которые в прошлом году традиционно были благоприятными для позиции Buy, в новом году могут оказаться благоприятными для позиции Sell. Если поставлено forg=1, программа считает вполне равноправными рыночные ситуации, реализованные в прошлом и в новом году. С учетом требуемой вероятности положительного закрытия (Probab) это приводит к тому, что программа ищет долгосрочные стабильные тренды. В то же время, она игнорирует явные признаки появления новых трендов. Напротив, при выборе forg>1 программа, наряду с долгосрочными трендами, которые действовали на всей доступной истории, отслеживает также появление новых трендов. При появлении очередной рыночной ситуации статистический вес предыдущих аналогичных рыночных ситуации понижается в forg раз. Иначе говоря, при forg=1.05 забывание истории “наполовину” происходит при появлении 10-15 аналогичных ценовых комбинаций; - dstop =TakeProfit=StopLoss. В текущей версии программы всегда выставляется ограничение прибыли, равное половине StopLoss (по умолчанию). Однако, программа может закрывать позиции, не дожидаясь достижения стопов, профитов. - delta – минимальный шаг, при котором цена считается нетождественна предыдущей, и происходит обновление ценовых паттернов. При обучении на коротких периодах этот параметр можно взять 1-2 (обновление паттернов на каждый тик), большие периоды могут быть адекватно восприняты Тестером только при более грубом разрешении, delta=3-5. Фактически, программа анализирует тики. - Nidelt – число типов ценовых паттернов (число шагов по изменению шага). Это непростой параметр, значение которого можно оставить равным по умолчанию. При каждом изменении цены программа анализирует цены, записанные в наборе из Nidelt типов паттернов из NN элементов каждый. Цены соседних элементов idelt паттерна отличаются на величину delta*idelt, где 1. Т. к. анализ тиковый, то не имеет значения период ТФ на котором установлен эксперт. Если выводится сообщение то рекомендуется выбрать режим № 4 . * * * Эксперт Эксперт (Expert Advisor) - это механическая торговая система (МТС). Известно множество экспертов. Наиболее близким аналогом является эксперт ArtificialIntelligence.mq4. использующий однослойную нейронную сеть и имеющийся в торговом терминале "Perceptron". ( ) В режиме обучения (оптимизации) эксперт работает с историей того инструмента, на котором предполагается работа. Результат обучения запоминается в файле. Для завершения этого процесса необходимо около 32 миллиардов прогонов. Обученного таким способом эксперта ставят на график. Один раз в месяц процесс обучения повторяют. Прототипом данного эксперта является программа GSelector.ex4. (http://www.mtexperts.com/catalog.php. Исходник GSelector.mq4 можно увидеть например здесь: http://forum.alpari-idc.ru/thread34114.html) Ее алгоритм реализует динамическое обучение. При каждом изменении цены программа анализирует цены, записанные в наборе из Nidelt типов паттернов из NN элементов каждый. Цены соседних элементов idelt паттерна отличаются на величину delta*idelt, где 1 надо выбрать больше 1, но не более 1.1. Но основным, предполагается способ применяемый для эксперта ArtificialIntelligence.mq4 (переменная =1). Обучение (статическое). Переменная делается равной 1.05 и при отключенном TrailingStop(е), эксперта прогоняют по истории длинной в 2 ..... 3 месяца. Необходимо, чтобы с даты начала прогона были 1м, 5м и 15 минутные ТФ. Число прогонов - около 30. Необходимо учесть, что при этом "лишние" прогоны вредны и далее - результат может ухудшаться. Это связано с эффектом накопления "шумовой" статистики. При достижении приемлемых результатов, обучение заканчивают, а переменную делают равной 1 или forg>1. Приемлемым результатом можно считать: убыточные сделки - не более 10% ; количество сделок - не менее 1 в сутки. Файлы знаний, полученные в результате такого обучения, появятся в папке Tester/files/. Их необходимо скопировать (переместить) из папки Tester/files/ в папку Experts/files/ При работе эксперта можно увидеть число имеющихся в его базе - знаний. Для нормальной работы необходимо не менее 10000/delta. * * * Ориентеровочно, вероятность того, что эксперт ошибётся при входе в рынок и позиция будет закрыта по StopLoss, для режимов: mode=0 ~(15)%; mode=1 ~(5....10)%; mode=2 ~(5.....7)%; mode=3 ~2%; mode=4 ~1%; * * * ------------------------------------------------------------- Условия аренды. Высылаете на этот адрес: myxa05@list.ru (тема: МТС) логин (он же - номер счета), инвест-пароль своего re-счета, имя сервера и получаете исполняемый файл (ex4) способный работать на реале, файлы exp-знаний, инструкции. Исполняемый файл будет иметь ограничение по времени - 1 месяц, так что файл на второй (или более) месяц может быть выслан Вам при оплате 15% от прибыли полученной с его помощью за предыдущий. Оплата понедельная. ------------------------------------------------------------- Платить за аренду (15%) на: Z124180822863 ( WM id: 954000219200 ) или e-Gold: 3843554 При перечислении, в примечании (назначении платежа) не забудьте указать свой торговый номер счета. ------------------------------------------------------------- URL: http://fegal.narod.ru