Советник с ГСЧ

У Вас есть идея, под которую нужен торговый робот? А, быть может, требуется создание нового индикатора или адаптация старого к МТ5? Бесплатно советники и индикаторы под Ваше техническое задание!

Советник с ГСЧ

Сообщение Sapta » 21 ноя 2018, 11:21

А можно сделать советник использующий генератор случайных чисел (ГСЧ)? Если да то вот задание -

Баланс к моменту открытия первой сделки - 100%
Направление сделки открывается в направлении по ГСЧ: нечетное число - покупка, четное - продажа
Задается профит в процентах от баланса до открытия первой в серии сделок. К примеру, баланс перед открытием первой сделки 100 долларов. Если по всем текущим открытым сделкам общий текущий профит составляет 10 долларов, а в сетах профит задан как 10%, закрываются все текущие сделки.
Задается в процентах же размер просадки по текущим сделкам, при котором по ГСЧ открывается новая сделка.
Задается коэффициент шага увеличения лота последующей сделки. Округление в бОльшую сторону. То есть если коэффициент 1,3 , а первичный лот 0,01, следующая сделка будет объемом 0,02, затем 0,04 и т.д.
Задается первичный лот (объем для первой сделки).
Если достигнут профит и закрыты все сделки, советник перестает работать до ручного перезапуска.
Советник должен подхватывать собственные сделки, при этом подразумевается что на счете будет вестись торговля только этим советником.
Аватар пользователя
Sapta
 
Сообщений: 349
Зарегистрирован: 24 окт 2013, 11:47
Средств на руках: 158.50 Доллар
Награды: 1
Ветеран II (1)
Группа: Базовая
Благодарил (а): 94 раз.
Поблагодарили: 62 раз.

Советник с ГСЧ

Сообщение Shepherd » 22 ноя 2018, 13:30

Добрый вечер, сделал советника по ТЗ.
В ТЗ Вы не указали как рассчитывать просадку при выставлении 3-го и далее ордеров, поэтому сделал последующий расчет просадки от текущих средств, т..е.:
стартовый баланс = 100$ , просадка = 10%
2-й ордер по просадке будет выставлен при достижении средств на счете = 90$
3-й ордер будет выставлен при достижении средств на счете 90$ - 10% = 81$
4-й ордер .. 81$ - 10% = 72.90$
торговля будет автоматически остановлена при достижении профита в % или когда не будет хватать средств для выставлении ордера.
Всю информацию вывел в журнал эксперта и в комментарий
Тестируйте, пишите если есть ошибки или я не правильно понял ТЗ.
Вложения
RandomNumGenerator_v1.00.ex4
(20.78 KB) Скачиваний: 74
Последний раз редактировалось Shepherd 22 ноя 2018, 13:31, всего редактировалось 1 раз.
Аватар пользователя
Shepherd
Специалист MQL
 
Сообщений: 383
Зарегистрирован: 13 июн 2018, 19:22
Средств на руках: 30.25 Доллар
Откуда: Волгоград
Группа: Базовая
Благодарил (а): 114 раз.
Поблагодарили: 208 раз.

Советник с ГСЧ

Сообщение Sapta » 24 ноя 2018, 12:34

Спасибо! С понедельника начну тест.
Аватар пользователя
Sapta
 
Сообщений: 349
Зарегистрирован: 24 окт 2013, 11:47
Средств на руках: 158.50 Доллар
Награды: 1
Ветеран II (1)
Группа: Базовая
Благодарил (а): 94 раз.
Поблагодарили: 62 раз.

Советник с ГСЧ

Сообщение Sapta » 26 ноя 2018, 16:40

Пока получается что то странное. Вопервых советник открывает ордера иногда с учетом необходимой просадки а иногда по несколько ордеров подряд лепит. Это видно в стейте, некоторые ордера с интервалом менее минуты хотя просадка стоит 3% от депозита в 3 тысячи, а за такими склейками потом опять нормально выставляется. Ну и итог. Советник открывал ордера и вдруг все позакрывал с просадкой в 500 при депозите 3 тысячи. Проверьте алгоритм. Я описал все доступно и ясно. Берем указанный процент от изначального депозита и при каждой очередной просадке на данную сумму (процент ведь нетрудно в сумму пересчитать) открываем следующую сделку с умножением на коэф.

Заодно пару моментов еще. Почему во второй опции пишется "Убыток в % для закрытия"? О каком закрытии речь? Для открытия следующей позиции. Это ведь фильтр по просадке. И еще хотелось бы сделать перезапуск советник цивилизованным - просто в самом советнике на графике после закрытия им всех позиций в серии выбираем в работе советника True, и он начинает новую серию. Убирать советник с графика, потом вешать его и заново все прописывать как то не очень.

saptaerror.jpg
Последний раз редактировалось Sapta 26 ноя 2018, 16:41, всего редактировалось 1 раз.
Аватар пользователя
Sapta
 
Сообщений: 349
Зарегистрирован: 24 окт 2013, 11:47
Средств на руках: 158.50 Доллар
Награды: 1
Ветеран II (1)
Группа: Базовая
Благодарил (а): 94 раз.
Поблагодарили: 62 раз.

Советник с ГСЧ

Сообщение Shepherd » 26 ноя 2018, 16:55

Sapta писал(а):Заодно пару моментов еще. Почему во второй опции пишется "Убыток в % для закрытия"? О каком закрытии речь? Для открытия следующей позиции. Это ведь фильтр по просадке. И еще хотелось бы сделать перезапуск советник цивилизованным - просто в самом советнике на графике после закрытия им всех позиций в серии выбираем в работе советника True, и он начинает новую серию. Убирать советник с графика, потом вешать его и заново все прописывать как то не очень.

saptaerror.jpg

в ТЗ Вы указали, что предполагается для этого советника отдельный счет, при запуске советник запоминает величину баланса на счете и от этого значения баланса (которое запомнил), производит подсчет %. Вы не торговали паралельно другим советником на этом счете? или руками не открывали ордера? или не закрывали руками ордера которые выставил советник, предварительно не удалив советник?
дайте настройки с которыми запускали советника

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

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

----------------

кажется нашел я где может быть случай как Вы показали на скриншоте - а Вы переключаете таймфреймы графика на котором запущен советник? - если переключаете, то советник будет каждый раз инициализироваться и будет запоминать новые значения баланса счета, что приведет к перерасчету % баланса по которому он закроет все ордера
Последний раз редактировалось Shepherd 26 ноя 2018, 17:30, всего редактировалось 9 раз(а).
Аватар пользователя
Shepherd
Специалист MQL
 
Сообщений: 383
Зарегистрирован: 13 июн 2018, 19:22
Средств на руках: 30.25 Доллар
Откуда: Волгоград
Группа: Базовая
Благодарил (а): 114 раз.
Поблагодарили: 208 раз.

Советник с ГСЧ

Сообщение Sapta » 27 ноя 2018, 06:05

в ТЗ Вы указали, что предполагается для этого советника отдельный счет, при запуске советник запоминает величину баланса на счете и от этого значения баланса (которое запомнил), производит подсчет %. Вы не торговали паралельно другим советником на этом счете? или руками не открывали ордера? или не закрывали руками ордера которые выставил советник, предварительно не удалив советник?


Разумеется я не торговал параллельно по другим системам. Демка была специально открыта для теста этого сова. Все сделки открывал и закрывал советник. Только первую я открыл сам чтобы проверить минимальную лотность на счете. Закрыл сделку и только после этого повесил советник.

дайте настройки с которыми запускали советника


1% - 3% - 1,2 Лотность 0,5

настройка убыток в %, ничего не делает, ошибочно добавил пункт меню, но он ни к чему не привязан


А как же тогда задать процент просадки, при котором открывается следующая сделка с увеличением лотности?! В примере это просадка в 10%.

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


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

кажется нашел я где может быть случай как Вы показали на скриншоте - а Вы переключаете таймфреймы графика на котором запущен советник? - если переключаете, то советник будет каждый раз инициализироваться и будет запоминать новые значения баланса счета, что приведет к перерасчету % баланса по которому он закроет все ордера


В данном случае не переключал. Это точно. Но вообще это странно и неудобно. Советник же не привязан к закрытию бара и вообще ко времени. Значит и ТФ не должен что-то менять. Просто запоминает размер баланса при открытии первой сделки в серии и работает с ним.
Аватар пользователя
Sapta
 
Сообщений: 349
Зарегистрирован: 24 окт 2013, 11:47
Средств на руках: 158.50 Доллар
Награды: 1
Ветеран II (1)
Группа: Базовая
Благодарил (а): 94 раз.
Поблагодарили: 62 раз.

Советник с ГСЧ

Сообщение Shepherd » 27 ноя 2018, 06:29

Sapta писал(а):Разумеется я не торговал параллельно по другим системам. Демка была специально открыта для теста этого сова. Все сделки открывал и закрывал советник. Только первую я открыл сам чтобы проверить минимальную лотность на счете. Закрыл сделку и только после этого повесил советник.

ОК, все правильно , 1% - 3% - 1,2 Лотность 0,5 - спс, проверю
Sapta писал(а):А как же тогда задать процент просадки, при котором открывается следующая сделка с увеличением лотности?! В примере это просадка в 10%.

сначала так и хотел делать: 2 настройки % одна для профита, вторая для убытка, но сделал одну настройку - первая, она и для профита и для убытка одинаковая, т.е. 10% , но думаю, что правильно делать как я сделал настройки, т.е. 2 шт - привяжу вторую настройку к логике советника
Sapta писал(а):Уже писал. Сделать в советнике опцию "Запустить советник". Поставил там true, и советник начал открывать сделки. Серия закончилась. Советник останавливает работу но висит на графике со всеми настройками. Нужно его запустить, захожу в сеты и опять ставлю в опции "Запустить советник" - true.

вчера прогуглил этот вопрос, в новых версиях МТ4 есть сложности с доступом из советника к настройкам советника (то что Вы изменяете), советник сейчас может эти настройки прочитать, но не может изменить самостоятельно. Сделаю так: будут выпадающий список запуск/ перезапуск в настройках и по изменению этого значения (был запуск, выберете перезапуск, потом опять запуск...) советник будет торговать как будто его запустили первый раз.

Sapta писал(а):В данном случае не переключал. Это точно. Но вообще это странно и неудобно. Советник же не привязан к закрытию бара и вообще ко времени. Значит и ТФ не должен что-то менять. Просто запоминает размер баланса при открытии первой сделки в серии и работает с ним.

не значит, каждое переключение ТФ или изменение настроек советника происходит инициализация советника, так работают все советники, но не сложно проконтролировать что пользователь переключил ТФ, а не изменил настройки. ОК сделаю чтобы не сбрасывались настройки при переключении ТФ.
Сегодня занят буду, думаю завтра будет результат. Постараюсь сделать небольшую инструкцию. как работает советник. Задача у Вас не сложная, но мне нужно просто угадать что Вы нажимаете в терминале и что там происходит с балансом счета. Обычно сопровождение ордеров проще (или привычнее) задача - выставил ордер, на следующем тике проверил ордера и сигналы ТС, у Вас все сводится к контролю баланса счета - вернее к контролю средств счета, баланс будет изменяться лишь по закрытию ордеров, пока ордера в рынке баланс будет один и тот же
Аватар пользователя
Shepherd
Специалист MQL
 
Сообщений: 383
Зарегистрирован: 13 июн 2018, 19:22
Средств на руках: 30.25 Доллар
Откуда: Волгоград
Группа: Базовая
Благодарил (а): 114 раз.
Поблагодарили: 208 раз.

Советник с ГСЧ

Сообщение Shepherd » 28 ноя 2018, 11:18

Здравствуйте!
Сделал вторую версию этого советника, настройки:
1. Перезапустить советник = Запуск (или Перезапуск)
2. Прибыль в % для закрытия = 10
3. Просадка в % для нового ордера = 10
4. Начальный лот 0.1
5. Коэффициент умножения лота = 1.3
6. Магический номер = 20181122
-----------------------
1. Выбирая Запуск или Перезапуск Вы сможете запустить советник с "чистого листа", т.е. будут закрыты все ордера с Магик-номером, будет запомнено состояние баланса и будет выставлен новый 1-й ордер, все должно работать аналогично как при первом запуске советника :-):
2. и 3. Величина прибыли и просадки в % от баланса, если баланс изменяется на рассчитанную величину то будут закрыты ордера по профиту или выставлен новый ордер по просадке. При выставлении ордера по просадке будет пересчитана величина следующей просадки. Если будет закрытие ордеров по профиту, тогда работа советника будет остановлена (нажимаем в настройке Перезапуск). Если не хватет средств для открытия ордера, работа советника будет остановлена.
4-6 ........
В терминале в поле "комментарий" , ордер будет подписан RND_xx - где хх это случайное число
Старался предусмотреть все действия пользователя, можете переключать ТФ, можете закрыть и заново запустить терминал, можете закрыть руками первый ордер - но советник сразу же выставит ордер как будто он был первый раз запущен
Информацию о состоянии советник пишет в виде текстового комментария на графике.
Все действия советник пишет в "Журнал эксперта" , если будут вопросы по работе советника, приложите файл журнала экспертов
Вложения
RandomNumGenerator_v1.01.ex4
(27.71 KB) Скачиваний: 70
Последний раз редактировалось Shepherd 28 ноя 2018, 11:38, всего редактировалось 6 раз(а).
Аватар пользователя
Shepherd
Специалист MQL
 
Сообщений: 383
Зарегистрирован: 13 июн 2018, 19:22
Средств на руках: 30.25 Доллар
Откуда: Волгоград
Группа: Базовая
Благодарил (а): 114 раз.
Поблагодарили: 208 раз.

Советник с ГСЧ

Сообщение Sapta » 28 ноя 2018, 15:21

Старался предусмотреть все действия пользователя, можете переключать ТФ, можете закрыть и заново запустить терминал, можете закрыть руками первый ордер - но советник сразу же выставит ордер как будто он был первый раз запущен


Не понял. То есть стоит мне случайно сменить ТФ и вся серия текущих сделок станет советнику чужой и он начнет опять открывать седлки с самого начала? И так же будет если вдруг комп отключится или я его отключу на ночь? Как же с ним работать тогда? Советник же должен подхватывать собственные сделки если трейдер запускает терминал после перерыва.
Аватар пользователя
Sapta
 
Сообщений: 349
Зарегистрирован: 24 окт 2013, 11:47
Средств на руках: 158.50 Доллар
Награды: 1
Ветеран II (1)
Группа: Базовая
Благодарил (а): 94 раз.
Поблагодарили: 62 раз.

Советник с ГСЧ

Сообщение Shepherd » 28 ноя 2018, 16:18

Sapta писал(а):Не понял. То есть стоит мне случайно сменить ТФ и вся серия текущих сделок станет советнику чужой и он начнет опять открывать седлки с самого начала? И так же будет если вдруг комп отключится или я его отключу на ночь? Как же с ним работать тогда? Советник же должен подхватывать собственные сделки если трейдер запускает терминал после перерыва.

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

ЗЫ: а так на будущее, 90% советников написаны по принципу: открыл график, перетянул советника на график, затем выставил настройки и больше ничего не трогаешь, к сожалению я не могу обучать принципам АТС, но именно так и предлагают делать разработчики терминала
Аватар пользователя
Shepherd
Специалист MQL
 
Сообщений: 383
Зарегистрирован: 13 июн 2018, 19:22
Средств на руках: 30.25 Доллар
Откуда: Волгоград
Группа: Базовая
Благодарил (а): 114 раз.
Поблагодарили: 208 раз.


Вернуться в Торговые советники на заказ

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 127

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения