Эксперт по теории хаоса Билла Вильямса: обзор
Сегодняшним постом я начинаю публикацию своих действий по созданию эксперта, который будет торговать в соответствии с теорией хаоса Билла Вильямса. У этого эксперта будет только ограничение: он не будет использовать сигналы из пятого измерения.
Я очень долго думал, в каком формате провести это практическое занятие в рамках моего блога, и пришел к выводу, что наилучшим выходом будет, если я каждый день буду дополнять код моего эксперта, начав с абсолютного нуля. В этом случае Вы сможете шаг за шагом пройти через все этапы, через которые обычно проходит создатель экспертов. Вместе со мной Вы сможете повторить все мои ошибки и почувствовать ход моей мысли. Даже если он будет иногда идти в неправильном направлении.
Это будет своего рода онлайн дневник по созданию эксперта. Сразу хочу предупредить, что зачастую первоначальные мысли через несколько дней могут измениться или быть оптимизированы. В результате этого часто приходится выкидывать в корзину весь предыдущий код. Поэтому прошу в любом случае не кидать в меня помидоры, а пройти со мной весь этот непростой, но очень приятный путь создания эксперта с самого начала и до этапа тестирования его на исторических данных.
Итак, начнем...
Первым делом я всегда набрасываю структуру эксперта. Для этого я использую комментарии. Вот что я сумел написать сегодня:
//+------------------------------------------------------------------+ //| BW-AV.mq4 | //| Andrey Vedikhin | //| http://www.vedikhin.ru | //+------------------------------------------------------------------+ #property copyright "Andrey Vedikhin" #property link "http://www.vedikhin.blog-forex.org"
//---- input parameters extern double Lots=1.0;
// существует три состояния, в которых мы можем находиться #define STATUS_LONG 0 // мы стоим в покупку #define STATUS_SHORT 1 // мы стоим в продажу #define STATUS_NO_POSITIONS 2 // у нас открытых позиций
//+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- // Сформируем уникальное магическое число для этого эксперта с учетом // валютной пары и периода
// Запомним последний сформировавшийся бар, как последний обработанный бар
// Пробежимся по всем открытым позиция, которые были открыты этим // экспертом (магическое число совпадает): в зависимости от их наличия // и направления установим текущий статус эксперта //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----
//---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- // Если мы уже обрабатывали последний сформировавшийся бар, то выйдем // Если не обрабатывали, то запомним, что мы его сейчас начали обрабатывать
// Если наш текущий статус равен STATUS_NO_POSITIONS:
// Проверим, не сработал ли какой-нибудь из фракталов: на покупку // или на продажу.
// Если сработал по графику, то открываем соответствующую // позицию (сразу ставим стоп лосс), меняем статус и выходим
// Если не сработал, то просто выходим, т.к. первый сигнал всегда - // от фрактала
// Пробежимся по всем открытым позициям, открытым этим экспертом // по этому инструменту, и переставим стоп-лосс на новый уровень
// Если наш текущий статус равен STATUS_LONG, то:
// Если у нас сигнал в покупку из первого измерения, то открываем // еще одну позицию в покупку (сразу ставим стоп лосс)
// Если у нас сигнал в покупку из второго измерения, то открываем // еще одну позицию в покупку (сразу ставим стоп лосс)
// Если у нас сигнал в покупку из третьего измерения, то открываем // еще одну позицию в покупку (сразу ставим стоп лосс)
// Если у нас сигнал в покупку из четвертого измерения, то открываем // еще одну позицию в покупку (сразу ставим стоп лосс)
// Выходим
// Если наш текущий статус равен STATUS_SHORT, то:
// Если у нас сигнал в продажу из первого измерения, то открываем // еще одну позицию в продажу (сразу ставим стоп лосс)
// Если у нас сигнал в продажу из второго измерения, то открываем // еще одну позицию в продажу (сразу ставим стоп лосс)
// Если у нас сигнал в продажу из третьего измерения, то открываем // еще одну позицию в продажу (сразу ставим стоп лосс)
// Если у нас сигнал в продажу из четвертого измерения, то открываем // еще одну позицию в продажу (сразу ставим стоп лосс)
// Выходим //---- return(0); } //+------------------------------------------------------------------+
Как мы видим, у моего эксперта пока только один параметр - Lots, и три возможных состояния:
- STATUS_LONG - мы стоим в покупку
- STATUS_SHORT - мы стоим в продажу
- STATUS_NO_POSITIONS - у нас нет открытых позиций
Я ввел эти три состояния, т.к. все наши действия напрямую зависят от текущего состояния.
Начиная со следующих выпусков я начну под каждым комментарием помещать свой маленький кирпичик кода, который будет решать поставленную в комментарии задачу.
Подытожу, чем мы с Вами занимались сегодня. Мы разбили очень сложную задачу (написать эксперта по теории хаоса) на пару десятков задач поменьше. Это принцип "Разделяй и властвуй!".
Человеку гораздо проще решить 10 маленьких задач, чем одну большую. Обычно при столкновении с большой проблемой голова начинает идти кругом и руки начинают опускаться. Но мой жизненный принцип в таких ситуациях: не сдаваться, а разбить большую задачу на несколько маленьких, решение которых в итоге приведет к решению большой задачи.
Именно благодаря такому принципу для меня лично нет никаких недостижимых целей. Просто на пути к самой недостижимой на первой взгляд цели есть 10 или 100 промежуточных шагов, которые надо пройти. Даже не так уж невозможно в реальности стать Президентом США. Просто надо начать с малого: стать резидентом США, чтобы через 7 лет получить гражданство, т.к. это одно из обязательных условий для Президента.
Возвращаясь к сегодняшнему посту, мы разбили большую задачу на несколько маленьких и заложили план или структуру нашего эксперта (может потом мы поймем, что ошибались). В следующем выпуске я расскажу, как мы будем определять магическое число для нашего эксперта.
Комментарии по теме "Эксперт по теории хаоса Билла Вильямса: обзор"
Штрудировала архив "Форекс-мэгазин", чтобы написать советника по Вильямсу...
и вот!... :))
Трейдер я очень-таки начинающий, еще более начинающий писатель экспертов, но...
учусь...
надеюсь...
рада, что мыслю в нужном направлении, рада существованию тебя, твоего сайта и безумна рада видеть скелет своего советника!
Автор: Peatra | 06.05.2007 01:36
Давно искал эксперта по теории Хаоса.
Спасибо,Андрей.
Автор: Александр | 19.05.2007 23:34
Попал на Ваш сайт совершенно случайно чесно говоря. Хотя сайт довльно интересный. Давно пользуюсь этой тактикой Билла Вильямса хотя ее многие и критикуют в интернете. Очень интересно протестироватьт и попробовать в работе этот Ваш эксперт. Я не прогрпмист так что собрать я его сам наверное несмогу. Где можно скачать уже готовый вариат эксперта.
Автор: Анатолий | 21.05.2007 15:53
Он находится в стадии написания. Каждый свой шаг я публикую на блоге. Следите за моими публикациями на блоге.
Автор: Андрей Ведихин | 27.05.2007 16:43