Советник

Тестирование on-line

Защита от потерь

Видео on-line работы

Новые версии советника

Конкурсы

Инвесторам

Форум: ответы на вопросы

Статьи

Инвестиции

Хэджирование рисков

Обман со стороны брокера

Форекс-клуб

Настоящий советник

Плечо и риски

Что такое ECN

Программы управляющего

Удаленное управление

Bat-файлы

Интернет-связь

Контакты

trader.forex@list.ru

Скайп: trader.forex7

ICQ: 483624139


Рейтинг@Mail.ru
Rambler's Top100

Новые версии советника



На этой странице сайта я постараюсь выкладывать суть программных изменений в советнике. Изменения я вношу иногда несколько раз в неделю, в зависимости от появления новых идею и результатов их проверки.

С 22.09.2011

С 5-й версии приступил к разработке мультивалютного эксперта. Предыдущая версия тоже использовалась для мультивалютного хэджа, когда устанавливался эксперт на несколько валютных пар (на разных счетах).



Версия 5.37 (мультивалютник) (31.10.2011)


Включена пипс-стратегия для "стартовых" ордеров (ордеров с минимальным лотом). Их преимущества описаны в методах защиты от потерь. Теперь только время может показать рост показателя "прибыльность" х "стабильность" советника.

Версия 5.33 (мультивалютник) (14.10.2011)


Сделан вывод на экран возникающих ошибок с номером ошибки и комментарием к нему. Видны последние 6 ошибок, старые спускаются вниз при появлении новых. Доработал функцию обработки "отсутствия" встречных отложенников в необходимом количестве. Теперь переключение к новой валютной паре не будет происходит, если эта функция не отработала свою задачу.

Версия 5.32 (мультивалютник) (12.10.2011)


Мультивалютник работает корректно, правда еще не все ситуации обрабатывались. Их можно проверить только на рынке. "Запуск" ордеров по всем валютам, а их 25 происходит примерно за 15 минут. Пересчет "дистанции" сделан на "раз в сутки", чтобы уменьшить избыточные модификации ордеров. Модификация ордеров под "больший спрэд" исправлена, поскольку спрэд варьируется от пары к паре в десятки раз.

Версия 5.21 (мультивалютник) (06.10.2011)


Приступил к разработке однооконной версии мультивалютника, когда он устанавливается на одно окно, а торгует десятками инструментов. Загрузка процессора минимальная, но открытие новых ордеров происходит несколько замедленно - примерно раз в минуту. В версии 5.24 стабильно отрабатывает основные расчеты и открытие-модификация ордеров. Загрузка процессора не более 7%. При многооконном варианте доходило до 70% с одного терминала.

Версия 5.20 (мультивалютник) (04.10.2011)


Отказался от системы тестирования исторических данных и заменил ее на расчет ключевого параметра по последним 100 барам на дневном графике, что не требует затрат на закачку исторических данных и не подвешивает компьютер.

Версия 5.18 (мультивалютник) (30.09.2011)


Усовершенствована функция закачки исторических данных. Теперь она занимает примерно 5 минут для 25 валютных пар. В предыдущей версии она была для одной пары 3-4 минуты. Но процессор подгружается конкретно при открытых 25 окнах на одном терминале.

Версия 5.3 (мультивалютник) (23.09.2011)


Модифицировал некоторые Print-сообщения под задачи мультивалютного эксперта. Теперь сообщений будет меньше о проходах тестирования и будут сразу видны результирующие данные.

Версия 5.1 (мультивалютник) (22.09.2011)


Решил выделить мультивалютную версию советнику в отдельную разработку, независимую от предыдущих.

Благодаря идее одного программиста (Игоря) я решил переделать советник до мультивалютного эксперта.

Отключил функции удаления и закрытия ордеров и отложенников других валютных пар. Исправил некоторые расчеты в блочной части. Добавил автоматический расчет количества запущенных валютных пар:

int val()

{

int kp,xxx,xxx1,xxx2;

string x1="0",x2="0", x3="0", x4="0", x5="0", x6="0", x7="0", x8="0", x9="0", x10="0", x11="0", x12="0", x13="0", x14="0", x15="0",

x16="0", x17="0", x18="0", x19="0", x20="0", x21="0", x22="0", x23="0", x24="0", x25="0", y;

for (xxx=OrdersTotal()-1; xxx>=0; xxx--)

{

if (!OrderSelect(xxx,SELECT_BY_POS,MODE_TRADES)) break;

y=OrderSymbol();

if(x1!=y && x2!=y && x3!=y && x4!=y && x5!=y && x6!=y && x7!=y && x8!=y && x9!=y && x10!=y && x11!=y && x12!=y) xxx1=1;

if(xxx1==1 && x13!=y && x14!=y && x15!=y && x16!=y && x17!=y) xxx2=1;

if(x24!="0" && xxx2==1 && x18!=y && x19!=y && x20!=y && x21!=y && x22!=y && x23!=y && x24!=y && x25=="0") {x25=y; kp=25;}

if(x23!="0" && xxx2==1 && x18!=y && x19!=y && x20!=y && x21!=y && x22!=y && x23!=y && x24=="0") {x24=y; kp=24;}

if(x22!="0" && xxx2==1 && x18!=y && x19!=y && x20!=y && x21!=y && x22!=y && x23=="0") {x23=y; kp=23;}

if(x21!="0" && xxx2==1 && x18!=y && x19!=y && x20!=y && x21!=y && x22=="0") {x22=y; kp=22;}

if(x20!="0" && xxx2==1 && x18!=y && x19!=y && x20!=y && x21=="0") {x21=y; kp=21;}

if(x19!="0" && xxx2==1 && x18!=y && x19!=y && x20=="0") {x20=y; kp=20;}

if(x18!="0" && xxx2==1 && x18!=y && x19=="0") {x19=y; kp=19;}

if(x17!="0" && xxx2==1 && x18=="0") {x18=y; kp=18;}

if(x16!="0" && xxx1==1 && x13!=y && x14!=y && x15!=y && x16!=y && x17=="0") {x17=y; kp=17;}

if(x15!="0" && xxx1==1 && x13!=y && x14!=y && x15!=y && x16=="0") {x16=y; kp=16;}

if(x14!="0" && xxx1==1 && x13!=y && x14!=y && x15=="0") {x15=y; kp=15;}

if(x13!="0" && xxx1==1 && x13!=y && x14=="0") {x14=y; kp=14;}

if(x12!="0" && xxx1==1 && x13=="0") {x13=y; kp=13;}

if(x11!="0" && x1!=y && x2!=y && x3!=y && x4!=y && x5!=y && x6!=y && x7!=y && x8!=y && x9!=y && x10!=y && x11!=y && x12=="0") {x12=y; kp=12;}

if(x10!="0" && x1!=y && x2!=y && x3!=y && x4!=y && x5!=y && x6!=y && x7!=y && x8!=y && x9!=y && x10!=y && x11=="0") {x11=y; kp=11;}

if(x9!="0" && x1!=y && x2!=y && x3!=y && x4!=y && x5!=y && x6!=y && x7!=y && x8!=y && x9!=y && x10=="0") {x10=y; kp=10;}

if(x8!="0" && x1!=y && x2!=y && x3!=y && x4!=y && x5!=y && x6!=y && x7!=y && x8!=y && x9=="0") {x9=y; kp=9;}

if(x7!="0" && x1!=y && x2!=y && x3!=y && x4!=y && x5!=y && x6!=y && x7!=y && x8=="0") {x8=y; kp=8;}

if(x6!="0" && x1!=y && x2!=y && x3!=y && x4!=y && x5!=y && x6!=y && x7=="0") {x7=y; kp=7;}

if(x5!="0" && x1!=y && x2!=y && x3!=y && x4!=y && x5!=y && x6=="0") {x6=y; kp=6;}

if(x4!="0" && x1!=y && x2!=y && x3!=y && x4!=y && x5=="0") {x5=y; kp=5;}

if(x3!="0" && x1!=y && x2!=y && x3!=y && x4=="0") {x4=y; kp=4;}

if(x2!="0" && x1!=y && x2!=y && x3=="0") {x3=y; kp=3;}

if(x1!="0" && x1!=y && x2=="0") {x2=y; kp=2;}

if(x1=="0") {x1=y; kp=1;}

}

return(kp);

}

На настоящий момент уже можно запускать эксперт на 25 валютных парах в одном терминале. Преемущества этого громадные! Во-первых, дополнительная защита от "слива". Во-вторых, не нужно запускать десятки терминалов для хэджирования рисков по валютам. В-третьих, кол-во первоначальных средств можно уменьшить на величину валютных пар. Насколько эти преемущества выгодны - тестирование на демо-счете покажет!


С 17.05.2010 по 21.09.2011

С 4-й версии советник тестировался только на демо и реал-счетах. Все изменения с этого момента в советник я вносил сам. Каждый билд свидетельствует об изменениях в советнике. Соответственно, версия 4.297 говорит о том, что было внесено 297 изменений в версию. Жаль сохранились не все мои комментарии к изменениям.

Версия 4.296 (16.09.2011)



Усовершенствованы элементы расчета дней торговли, пересчета потенциала доходности.

Версия 4.161


1. В советник добавлена дополнительная обработка нарушений алгоритма выставления отложенных ордеров. Повторюсь, эти нарушения могут быть вызваны разными причинами, в том числе и независимыми от самого советника: например, отключением Интернет-соединения. Отложенные ордера после длительного отключения могут вести себя по-разному.

2. В случае превышения открытыми блоками максимального значения (что может произойти, например, в случае увеличения оптимального баланса и если он превышает текущий баланс) доделана функция удаления блоков по-одному и пересчета наличных блоков. До этого блоки закрывались все скопом, что давала небольшую, но неприятную просадку баланса.

3. На экране появилось сообщение, котрое сигнализирует о вмешательствах брокера в торговлю. Т.е. в случае, если брокер решил вмешаться в торговлю и закрыл самостоятельно ордера, на экране появляется сообщение, раскрашенное в красный цвет.

4. В процессе доработки возможность переключаться между языками сообщений советника: английским и русским.

5. Также в процессе алгоритм плавного снижения разницы между эквити и балансом в случае достижения максимального рассчитанного баланса. Алгоритм предусмотрен для автоматизации процесса завершения работы советника перед снятием прибыли. Ранее уже была реализована возможность по дате отключить открытие новых блоков ордеров, чтобы иметь возможность снятия прибыли определенными периодами, а также ручная установка параметра в положение false, когда новые блоки перестают выставляться и постепенно сходят на нет, что снижает разницу между эквити и балансом.

Версия 4.123 (декабрь 2010)


Советник был дополнен индикатором показывающем график баланса непосредственно на экране (правда график ограничен тем количеством дней, которые брокер позволяет отображать в терминале). Например, имея реальную историю за 5 месяцев, терминал отображает график за последние 60 дней. А также индикатором, отображающим разрывы Интернет-соединения более чем на 1 минуту (в течение дня).

Данные о количество дней торговли (допустимых брокером), количестве прибыльных и убыточных ордеров, потенциале роста счета (расчет на ближайший год с учетом эффективного роста/падения за наличный период торговли) отображаются на экране. Также дополнительные параметры (залог, заморозка, стоимость 1 лота и стоимость 1 пипа и т.д.), которые требуют некоторого контроля добавлены на экран.

В плане функциональности добавлен расчет допустимого кол-ва открытых лотов с учетом плеча. Теперь можно уверенно устанавливать советник на любое плечо и он не допустит открытия ордеров, если нет достаточных торговых условий. При проверке торговых условий на разных плечах выяснилось, что между оптимальным балансом и плечом нет точной зависимости:

В связи с чем вспоминается конкурс, на котором прибыль на счетах 1/100 увеличивалась в 5 раз, чтобы сравнять условия со счетами, имеющими плечо 1/500, что говорит о большом заблуждении менеджеров брокерской компании: расчет допустимого кол-ва лотов ведется от плеча и от стоимости 1 пипа (т.е. фактически от стопов, которые используются для открытия ордеров), которая не меняется в зависимости от плеча. Таким образом влияние плеча на оптимальный баланс особо заметно на плечах меньше 1/100, а до этого условия разнятся незначительно.

Было добавлено отображение на экране ордеров, которые являются признаком некорректности работы робота или наличием ордеров с повышенным лотом (т.е. сигнализирующих о необходимости особого внимания к счету). Установлен запрет на открытие новых блоков ордеров при возникновении ситуаций, которые описаны ранее для того, чтобы не усугубить состояние счета. Доработка советника в плане правильной модификации ордеров, сработавших во время непредвиденного отключения Интернет-соединения, дала возможность практически устранить появление некорректности в работе советника (в разультате отключений).

Также была добавлена функция заполнения баров истории: если в истории есть прорехи идет добавление отсутствующих баров, это дает и некоторый контроль качества исторических данных.

Версия 4.90


Добавлен автоматический расчет ограничений торговли, связанных с балансом счета, в том числе указанного брокером. Советник зациклен – теперь он будет работать несколько быстрее обычного. Так же добавлен блок, определяющий дыры в исторических данных, эти дыры заполняются, что делает расчет некоторых параметров более точным.

Версия 4.73


Были усовершенствованы функции пересчета разрешенного количества блоков ордеров в зависимости от размера их лота, а также сделана возможность автоматической обработки некорректных действий советника, связанных с длительными отключениями Интернет-соединений.

В предыдущей подверсии 4.69 был реализован расчет и вывод на экран параметра “эффективность торговли советника“. Он рассчитывается с учетом нескольких значений: волатильности пары на протестированном периоде, балансе счета и количестве возможных открытых и отложенных ордеров. Это дает возможность выбрать наиболее эффективную валютную пару с точки зрения системы, заложенной в советнике, без необходимости проводить какие-либо тестирования или пробную торговлю. Таким образом в течение примерно часа можно проверить эффективность до 20 валютных пар и исключить малоэффективные до начала торговли.

В советнике настроено более 100 входных параметров и более 1800 строк кода. Большинству из параметров подобраны окончательные значения и по факту для торговли используются только 2: количество рыночных и отложенных ордеров (утвержденных брокером); ограничения брокера по предельному размеру баланса. И еще 3 – для управления счетом в процессе торговли: удаления и закрытия всех рыночных и отложенных ордеров, остановки автоторговли (открытия новых блоков ордеров) и отправки электронных сообщений о состоянии счета.

Версия 4.42.


В советник было добавлено:

1. Автоматическое скроллирование экрана до первого загруженного бара. Эту функцию используют нажатием “Стрелочки вправо” на панели инструментов. Но для загрузки истории эта кнопка отключается, потому необходимо автоматическое скроллирование.

2. Удаление всех ненужных значков, линий и уровней, которые мешают отображению действительно необходимой информации (уровни стопов, тейков, когда открыто до сотни ордеров – не несут какой-либо информации, потому что разобраться в этой каше нереально).

3. Удаление всех ордеров, которые были вставлены вручную (сознательно или бессознательно) без соблюдения принципов торговли советника. Остальные ордера, добавленные вручную обрабатываются советником соответствующим образом. Таким образом, не зная принципов торговли, нельзя зловредно вмешаться в нее, по крайней мере, добавляя лишние ордера.

4. В советнике добавлено автоматическое плавное скроллирование до первого загруженного бара после процедуры тестирования исторических данных. Плюс автоматический рассчет спрэда в случае, если он подвижен. Это необходимо, чтобы советник ежесекундно не изменял стопы из-за “пляски” спрэда.

С 13.04.2010 по 17.05.2010

Разрабатывалась 3-я версию советника. Всего было 23 билда. Тестирование на тестере стратегий уже не осуществлялось, все проверялось on-line. Небольшая часть кода было сделана программистом.

С 15.10.2009 по 13.04.2010

Разрабатывалась и тестировалась на тестере стратегий 2 версия советника. Всего было 50 билдов.

С 14.09.2009 по 13.10.2009.

Разрабатывалась 1-я версия советника. Всего было 18 билдов. Работу в основном вел один программист под моим контролем. Благодаря этому контролю я обучался сам.

 
Добавить страницу в «Избранное» (Ctrl+D)
Copyright © adviser.religare.info
АВТОМАТИЧЕСКИЙ СОВЕТНИК LAKSHMI