#151

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

Завтра изучу подробнее.

По сравнению с тем, что я принял за оригинал сделки полностью совпадают.

Сегодня (14.05.12) еще раз прогнал в тестере оригинальный код версии 2.4 с РобоТеста
и мод на периоде с 01.01.12 по 14.05.12. Сделки и итоги одинаковы. Так что не знаю пока
в чем причина отличий, которые другие видят. Чтобы разговор был предметный, поделитесь
сетами и границами временного отрезка на котором тестируете. Тогда я их тоже смогу
проверить.

Изменено 14 мая, 2012 пользователем kiocera

#152

Я думаю, что сверку на этом можно уже и заканчивать.
Переработанный код уже существенно другой - а с дополнительными опциями тесты должны начать отличаться от оригинала.
Это уже де-факто бот "по мотивам Хакеда".
Так что если тесты мода стабильны и позитивны, то все ОК.

#153




Код содержит алгоритмическую ошибку такую же, как в оригинале: на старших ордерах пирамиды,
когда начальные ордера выбило по stoploss робот может открыть дополнительные ордера сверх
начального ограничения, так как смотрится не уровень последнего ордера пирамиды, а число еще
живых ордеров. Глюк проявляется, только если iAllowStopLoss = true и расстояние от первого до последнего
ордера больше уровня стопа.



А это не глюк так и должно быть!
Когда по стопу одна сделка закрылась, сразу открывается очередная и так далеее.
Пирамида своего рода переезжает поближе к цене !
Это трогать не надо !!! Я этот момент много тестил это правильно!


Это ошибка кода. Проявляется в том, что при некоторых установках максимальный лот ордера оказывается не ограничен. Надо исправить, а если не хочется ограничивать пирамиду, поставить макс. количество ордеров 1000, да и все.
Автор#154


поставить макс. количество ордеров 1000, да и все.



Такой вариант идеален.
#155

Дальнейшая доработка мода.

Добавлено:
1. Проверка на нехватку денег для залога по открываемому ордеру.
Требуется, чтобы хватило денег на залог и на просадку величиной PipStarter (до следующего ордера пирамиды). Если денег не хватает, робот запишет одно сообщение в лог-файл и в чарте в комментариях добавит строку вида "LOW BALANCE! Needed: $$$$$.$$", где сказано какая сумма требуется для открытия следующего колена пирамиды. Мне кажется, что все же логичнее вообще не начинать пирамиду, если не хватает денег на полное число колен. Но пока проверяется только наличие денег на один открываемый ордер.

2. Увеличение лота ордера при гэпе / проскальзывании.
Если гэп больше заданного в настройках параметра Slippage, то лот умножается на (1 + (Delta - PipStarter) / ((Booster - 1) * TakeProfit), где Delta - разница между текущей ценой и ценой последнего открытого ордера. Тогда дополнительная прибыль при достижении TakeProfit уровня на новом колене уравняет убыток от гэпа. Уровни TakeProfit у всех ордеров пирамиды выдерживаются одинаковыми. Если после нарушения геометрии пирамиды откроется еще один ордер, то наращивание объема увеличит убыток. Так что момент этот спорный, но пока сделал так, как писал Старик. По тестам видно, что прибыль и просадка выросли.

3. Флаг AllowExtraOrders разрешающий / запрещающий открывать ордера сверх заданного уровня пирамиды. При значении true поведение аналогично оригинальному ForexHacked: если начальный ордер выбило по стопу, то может открыться новый сверх максимального уровня пирамиды.

4. Флаги разрешающие открывать первую сделку в пирамиде: Allow1Buy и Allow1Sell.

Изменено:
1. Удалена задержка в 1 минуту между открытием ордеров.

2. Изменены параметры индикаторов и параметры сетки, чтобы получить наибольший доход на периоде с 01.01.2011 по сегодняшний день. Параметры подбирались под депозит $6000 с плечом 1:500.

ForexHacked2.4.002.mq4134 скач.

#156


Дальнейшая доработка мода.

Добавлено:
1. Проверка на нехватку денег для залога по открываемому ордеру.
Требуется, чтобы хватило денег на залог и на просадку величиной PipStarter (до следующего ордера пирамиды). Если денег не хватает, робот запишет одно сообщение в лог-файл и в чарте в комментариях добавит строку вида "LOW BALANCE! Needed: $$$$$.$$", где сказано какая сумма требуется для открытия следующего колена пирамиды. Мне кажется, что все же логичнее вообще не начинать пирамиду, если не хватает денег на полное число колен. Но пока проверяется только наличие денег на один открываемый ордер.

2. Увеличение лота ордера при гэпе / проскальзывании.
Если гэп больше заданного в настройках параметра Slippage, то лот умножается на (1 + (Delta - PipStarter) / ((Booster - 1) * TakeProfit), где Delta - разница между текущей ценой и ценой последнего открытого ордера. Тогда дополнительная прибыль при достижении TakeProfit уровня на новом колене уравняет убыток от гэпа. Уровни TakeProfit у всех ордеров пирамиды выдерживаются одинаковыми. Если после нарушения геометрии пирамиды откроется еще один ордер, то наращивание объема увеличит убыток. Так что момент этот спорный, но пока сделал так, как писал Старик. По тестам видно, что прибыль и просадка выросли.

3. Флаг AllowExtraOrders разрешающий / запрещающий открывать ордера сверх заданного уровня пирамиды. При значении true поведение аналогично оригинальному ForexHacked: если начальный ордер выбило по стопу, то может открыться новый сверх максимального уровня пирамиды.

4. Флаги разрешающие открывать первую сделку в пирамиде: Allow1Buy и Allow1Sell.

Изменено:
1. Удалена задержка в 1 минуту между открытием ордеров.

2. Изменены параметры индикаторов и параметры сетки, чтобы получить наибольший доход на периоде с 01.01.2011 по сегодняшний день. Параметры подбирались под депозит $6000 с плечом 1:500.


На каких настройках лучше тестировать? Те что по умолчанию или от KROOL?

Изменено 15 мая, 2012 пользователем TAR

#157


Дальнейшая доработка мода.

Добавлено:
1. Проверка на нехватку денег для залога по открываемому ордеру.
Требуется, чтобы хватило денег на залог и на просадку величиной PipStarter (до следующего ордера пирамиды). Если денег не хватает, робот запишет одно сообщение в лог-файл и в чарте в комментариях добавит строку вида "LOW BALANCE! Needed: $$$$$.$$", где сказано какая сумма требуется для открытия следующего колена пирамиды. Мне кажется, что все же логичнее вообще не начинать пирамиду, если не хватает денег на полное число колен. Но пока проверяется только наличие денег на один открываемый ордер.

2. Увеличение лота ордера при гэпе / проскальзывании.
Если гэп больше заданного в настройках параметра Slippage, то лот умножается на (1 + (Delta - PipStarter) / ((Booster - 1) * TakeProfit), где Delta - разница между текущей ценой и ценой последнего открытого ордера. Тогда дополнительная прибыль при достижении TakeProfit уровня на новом колене уравняет убыток от гэпа. Уровни TakeProfit у всех ордеров пирамиды выдерживаются одинаковыми. Если после нарушения геометрии пирамиды откроется еще один ордер, то наращивание объема увеличит убыток. Так что момент этот спорный, но пока сделал так, как писал Старик. По тестам видно, что прибыль и просадка выросли.

3. Флаг AllowExtraOrders разрешающий / запрещающий открывать ордера сверх заданного уровня пирамиды. При значении true поведение аналогично оригинальному ForexHacked: если начальный ордер выбило по стопу, то может открыться новый сверх максимального уровня пирамиды.

4. Флаги разрешающие открывать первую сделку в пирамиде: Allow1Buy и Allow1Sell.

Изменено:
1. Удалена задержка в 1 минуту между открытием ордеров.

2. Изменены параметры индикаторов и параметры сетки, чтобы получить наибольший доход на периоде с 01.01.2011 по сегодняшний день. Параметры подбирались под депозит $6000 с плечом 1:500.



А можно вообще индикаторы вырезать?
#158

Индикаторы вырезать можно. Просто уберите в коде проверку "StrategySignal() == pos"

Я проверку оставил, так как иначе бот ставит ордера сразу, как закроет пирамиду.
При этом прибыль не растет, а просадка почти удваивается.
Вообще пирамиды надо бы начинать от уровней разворота цены, или от границ канала.
Так что я индикаторы оставил. Без них результат хуже.

#159


Индикаторы вырезать можно. Просто уберите в коде проверку "StrategySignal() == pos"

Я проверку оставил, так как иначе бот ставит ордера сразу, как закроет пирамиду.
При этом прибыль не растет, а просадка почти удваивается.
Вообще пирамиды надо бы начинать от уровней разворота цены, или от границ канала.
Так что я индикаторы оставил. Без них результат хуже.



Важное замечание, благодарю.
#160


Дальнейшая доработка мода.

Добавлено:
1. Проверка на нехватку денег для залога по открываемому ордеру.
Требуется, чтобы хватило денег на залог и на просадку величиной PipStarter (до следующего ордера пирамиды). Если денег не хватает, робот запишет одно сообщение в лог-файл и в чарте в комментариях добавит строку вида "LOW BALANCE! Needed: $$$$$.$$", где сказано какая сумма требуется для открытия следующего колена пирамиды. Мне кажется, что все же логичнее вообще не начинать пирамиду, если не хватает денег на полное число колен. Но пока проверяется только наличие денег на один открываемый ордер.

2. Увеличение лота ордера при гэпе / проскальзывании.
Если гэп больше заданного в настройках параметра Slippage, то лот умножается на (1 + (Delta - PipStarter) / ((Booster - 1) * TakeProfit), где Delta - разница между текущей ценой и ценой последнего открытого ордера. Тогда дополнительная прибыль при достижении TakeProfit уровня на новом колене уравняет убыток от гэпа. Уровни TakeProfit у всех ордеров пирамиды выдерживаются одинаковыми. Если после нарушения геометрии пирамиды откроется еще один ордер, то наращивание объема увеличит убыток. Так что момент этот спорный, но пока сделал так, как писал Старик. По тестам видно, что прибыль и просадка выросли.

3. Флаг AllowExtraOrders разрешающий / запрещающий открывать ордера сверх заданного уровня пирамиды. При значении true поведение аналогично оригинальному ForexHacked: если начальный ордер выбило по стопу, то может открыться новый сверх максимального уровня пирамиды.

4. Флаги разрешающие открывать первую сделку в пирамиде: Allow1Buy и Allow1Sell.

Изменено:
1. Удалена задержка в 1 минуту между открытием ордеров.

2. Изменены параметры индикаторов и параметры сетки, чтобы получить наибольший доход на периоде с 01.01.2011 по сегодняшний день. Параметры подбирались под депозит $6000 с плечом 1:500.


kiocera, отличная работа!
Спасибо!

Теперь по внесенным изменениям в мод 002 - предложения и уточнения.

1) по залогу открываемого ордера.
Сделанная вами доработка достаточна - первая задача исключить попытки выставления ордеров при "no money".
Согласен с тем, что в будущем обязательно при инициализации бота надо просчитывать всю запрошенную сетку (залоги+просадки+стопы) и выдавать на экран и в журнал цифру какой нужен минимальный депо.
Однако, при недостатке депо на всю пирамиду, просто блокировать торговлю, имхо, нельзя - надо ввести управляющую переменную разрешения/запрета торговли при недостатке денег на построение всей сетки.
AllowTradeLessMoney, например.
Торговать или нет при недостатке денег - это выбор/решение пользователя.
Но крайне желательно, чтобы на экран выводилась минимально необходимая сумма для построение заданной сетки - и, в случае, установленного пользователем запрета торговать, советник торговлю и не начинал.
Но это можно сделать и немного позже - тем более что контрольные цифры я сейчас и готовлю, может пригодятся при проверке.

---

2) Увеличение лота ордера при гэпе / проскальзывании.
Возможно, что мое первое предложение не оптимальное - или можно придумать более оптимальную формулу.
В принципе, при гэпе основных вариантов 3 - ничего не делать, увеличить лот или удлинить ТП.

Правда, лично я при торговле применяю более тонкий алгоритм - ТП ордера обычной лотности, открытого после гэпа, я устанавливаю на позицию пипса на 3 дальше, чем этот ордер должен был открыться без гэпа.
Если курс разворачивает и идет назад к началу пирамиды, старший ордер закрывается по ТП - а Хакет тут же выставляет точно такой же ордер почти там, где ордер и должен был быть открыт без гэпа.
При этом:
а) получаем профит на закрытии гэпа;
б) не получаем дополнительной просадки от увеличения ордера;
в) геометрия сетки практически полностью восстанавливается.

Посмотрите, вроде стоит реализовать этот алгоритм.
Если получится, то обратите внимание:
а) при гэпе задается ТП только последнего, далеко выставляемого ордера - ТП всех ранее открытых ордеров менять не надо;
б) разберитесь с ask/bid/спрэд - для селл/бай и разных счетов их надо учитывать, чтобы корректно выставить ТП ордера, выставляемого после гэпа;
в) гэпы часто бывают небольшими. Если можно старшему ордеру, выставить ТП хотя бы 5 пипс, выставляйте - если нет, то открывайте ордер обычного размера и перевыставляйте ТП всех ордеров пирамиды.

---

3) Флаг AllowExtraOrders разрешающий / запрещающий открывать ордера сверх заданного уровня пирамиды.

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

----

4) Флаги разрешающие открывать первую сделку в пирамиде: Allow1Buy и Allow1Sell.

Из вашего описания не понятно будет ли бот открывать 2-й и последующие ордера серии/пирамиды, если пользователь выставит первый ордер скриптом с маджиком бота.
Вообще-то именно так и надо.
Так у вас как реализовано: полный запрет работы по селл или бай направлению - или бот со 2-го ордера включится, если первый ордер пользователь выставит сам?

----

5) По индикаторам. Ваши соображения понятны и весомы.
Однако на других парах кто знает как себя индикаторы поведут.
В связи с этим просьба рассмотреть такие соображения:
а) все же сделать on|off переключатель использования индикаторов;
в) возможно, настройки индикаторов вынести во внешние переменные;
в) в индикаторах явно учитывать ТФ из внешних переменных (или прямо прописать), чтобы пользователи могли торговать ботом на графиках любых ТФ, в частности, используемых в их ТС. Не уверен, что это возможно - но очень желательно.

----------

Ну, и напоследок еще одно предложение.

Ввести логическую переменную Order2Booster
Order2Booster = true 2-й ордер пирамиды равен lots * booster
Order2Booster = false 2-й ордер пирамиды равен lots, первому ордеру без умножения на booster.

Второй ордер при ТП > шага не обязательно умножать на бустер, все равно профит будет.
Зато такая штучка позволит удлинять безопасную сетку на 1 колено.

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

Изменено 15 мая, 2012 пользователем Старик

#161
kiocera
Спасибо огромное за работу. Усиленно слежу за разработкой =)
Потестил, на моде №2 лучшие показатели достигаются без сетов.

Мод №2 без сетов с лотом 0.04 на 10,000 центов показывает примерно такиеже результаты (+-10%), как 2.3 с сетами на 0.06 в тестировании с 01.01 по 01.05 12го года.
Покачто базовая 2.3 имеет большую эластичность, тк на 0.8 мод №2 уже сливается, в то время, как базовая 2.3 с сетами держится до 0.1(0.12)


Upd
Прикрепил свой тест

Upd2
Добавил мод 2 без сетов с лотом 0,06 на 10000 центов

WinRAR_archive2.rar38 скач.

Изменено 15 мая, 2012 пользователем Kvarz

Автор#162
kiocera Спасибо за работу + =d>


Потестил, на моде №2 лучшие показатели достигаются без сетов.

Мод №2 без сетов с лотом 0.04 на 10,000 центов показывает примерно такиеже результаты (+-10%), как 2.3 с сетами на 0.06 в тестировании с 01.01 по 01.05 12го года.
Покачто базовая 2.3 имеет большую эластичность, тк на 0.8 мод №2 уже сливается, в то время, как базовая 2.3 с сетами держится до 0.1(0.12)



Пожалуйста выкладывайте результату тестов!
Просто киньте в архив и к сообщению прикрепите.
#163

пытался подобрать для версии 002 параметры для маленького депо (3000) както вообще особо не получается.. :((

Автор#164

Как насчёт добавить ММ в советник ?

#165
HighLander
У меня максимум получилось при 3000 центов навесить 0,02

мод2_без_сетов_лот_002_депо_3000.jpg

#166


HighLander
У меня максимум получилось при 3000 центов навесить 0,02



очень странно, у меня с 0.01 не проходит тест на теже даты. брокер альпари ндд

Добавлено: 15-05-2012 19:34:34

А. может дело в плече… у вас с каким? альпари 1к100
Автор#167
Вот что мы получили используя :
Цитата

Флаг AllowExtraOrders разрешающий / запрещающий открывать ордера сверх заданного уровня пирамиды.


Я про это и говорил !!!
Смотри спойлер и найди десять отличий :)
Спойлер






Мы рубим пирамиду по стопам и получаем колоссальные убытки!!!

Изменено 15 мая, 2012 пользователем KROOL1980

#168


HighLander
У меня максимум получилось при 3000 центов навесить 0,02



качество моделирования низкая.
#169
HighLander
Да, 1к500
Sinbad
Это на скорую руку. Пока нет более менее финала, тестирую так.
#170



HighLander
У меня максимум получилось при 3000 центов навесить 0,02



качество моделирования низкая.

понятно что низкое, но скорее всего если не прошел так и с 99% не пройдет;

да, дело в плече ;( обидно, хотелось поставить на альпари..
#171


Мы рубим пирамиду по стопам и получаем колоссальные убытки!!!


Нет, в графике что-то не так.
Слишком много снижений уступами, так не должно быть.

И сравнение точно некорректное - надо увеличивать максимальное количество ордеров, раз большее количество ордеров реально допускаешь, и тогда сравнивать.
Ставь тогда по 10.
И стопы тоже надо тогда высчитывать, если большее количество ордеров.

И самое главное - тесты по суммам депо не реалистичны, совершенно.
В реале ты прибыль как часто снимать будешь?
Максимум +30% и снимаешь, тройного депо для просадок в 20000 у тебя никогда не будет.
Значит, и тесты надо гонять максимум 3-хмесячные, чтобы депо был ну никак не более +45% - и то уже много...
А при таких условиях, без диких многомесячных пересидок, результаты будут совсем другие, со сливами в обеих тестах.
Ну ты же знаешь - в жизни все совсем не так сладко, как в тестере...

Надо продумать более строгие тесты - может, и в боте есть баг.

Изменено 16 мая, 2012 пользователем Старик

Автор#172

Если сильно увеличить количество ордеров то график как у оригинала.

#173


У меня максимум получилось при 3000 центов навесить 0,02


По моим теоретическим расчетам да, где-то так и должно быть.

Настройки у тебя интересные - молодец!

Но это реально низковолатильный рынок, больше похожий на летний флэт.
А мы сейчас подходим к периоду очень больших разборок на рынке.

KROOL1980, мы снова с тобой докопались до истины и снова достигли консенсуса!...
Жаль, нет смайлика "Пошли выпьем пива!".

Изменено 16 мая, 2012 пользователем Старик

Автор#174


Одна голова хорошо .......

....... а две мутант : )
#175

Вот тест с 99% моделированием
Лот 0,02, депо 10,000 центов. Депо с лотом выше слилось

+ еще выложил стандартный Хакед + сеты с лотом 0,02 и темже депо

123.jpg
333.jpg

Изменено 16 мая, 2012 пользователем Kvarz

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025