Krokus377
Андрей

 
Уровень 16

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2151



РЕКОМЕНДУЮ



Доработка советника

Здравствуйте Андрей! Вы писали для меня советник. Хочу попросить, внести в него, некоторые дополнения:

1. Добавьте в советник параметр «лот первого ордера». Соответственно, и «профит первого ордера». Если первый ордер, не закрывается по профиту, то всё идёт, как и прежде: открываются усредняющие ордера, первый ордер входит в общую массу, и все ордера закрываются по общему профиту.

2. Добавьте в советник функцию «пауза» (в минутах), после закрытия всех ордеров.

3. Внесите дополнения в код (если есть необходимость), для корректной работы советника, на реальном счёте.

Заранее благодарен.
  • 0
  • Просмотров: 10771
  • 3 марта 2016, 23:55
  • Krokus377
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник на основе скользящих средних
Следующая запись в группе  
Доработать советник
03 марта 2016
05 марта 2016

Брокер для ваших роботов, 15 лет на рынке

Комментарии (37)

+
0
До этого заказа наверное только в праздники доберусь.
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 4 марта 2016, 10:20
+
0
Смотрите, как там время будет..., по возможности.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 4 марта 2016, 14:25
+
0
Андрей, забыл уточнить самое главное условие, для 1-го пункта тех. задания:
Увеличение объёма усредняющих ордеров, должно начинаться после второго ордера. Собственно, для этого, мы и вводим параметр: «лот первого ордера».
В параметрах советника следующее: «Лот первого ордера»; затем, просто «Лот», после которого начинается увеличение объёма, последующих ордеров.
Редактирован: 4 марта 2016, 16:45
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 4 марта 2016, 15:30
+
+2
Добавил новый расчет лота и паузу после закрытия по профиту. п.3. по мере поступления :)  www.opentraders.ru/downloads/1059/


Редактирован: 6 марта 2016, 11:45
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 6 марта 2016, 11:43
+
0
Андрей, спасибо! Но, нет «язь 1-го лота» ( 
Редактирован: 6 марта 2016, 14:35
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 6 марта 2016, 14:35
+
0
Если закрывается по тейку язь для 1 лота будет 250 при ТП 250. Этого не достаточно?
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 6 марта 2016, 14:55
+
0
Там, чуток, не так выходит. В тестере, первый ордер закрывается, как положено, а следующий, после удачно закрытого первого, модифицирует t/p правильно, но закрывает не по t/p, а по профиту, в валюте депозита, а он общий, для всей серии ордеров. Поэтому в т.з. (п.1), я и оговаривал, отдельный профит, для первого ордера.
Редактирован: 6 марта 2016, 18:38
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 6 марта 2016, 15:30
+
0
Там, чуток, не так выходит. В тестере, первый ордер закрывается, как положено, а следующий, после удачно закрытого первого, модифицирует t/p правильно, но закрывает не по t/p, а по профиту, в валюте депозита, а он общий, для всей серии ордеров. Поэтому в т.з. (п.1), я и оговаривал, отдельный профит, для первого ордера.


Покажите этот момент на скрине. Закрытие по профиту в валюте можно отключить если поставить 0 в настройках.
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 6 марта 2016, 22:22
+
0
Вот скрин:



результат при закрытии в валюте 0:



При любом раскладе, закрытие по t/p не происходит.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 7 марта 2016, 10:58
+
0
Сейчас на скрине видно что самый первый ордер закрывается по ТП 50 а далее если он не закрылся по тейку уже идет расчет по общему тейку 300. Так нужно?


extern int    TakeProfit  = 300;         // общий язь
extern int    TakeProfit1 = 50;          // язь 1-го ордера


avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 7 марта 2016, 12:44
+
0
Да, нужно так. Только в базе, обновите, пожалуйста.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 7 марта 2016, 12:55
+
0
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 7 марта 2016, 13:07
+
0
Всё равно, не получается закрытие по t/p:



По первому ордеру понятно, там нужен параметр: «профит в валюте для первого ордера». А почему три ордера, не закрываются по t/p, не ясно.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 7 марта 2016, 13:55
+
0
На таком скрине не понятно нужно показать сделки советника на графике.
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 7 марта 2016, 16:37
+
0
У меня вообще, на терминале для тестов, не существует графиков. А смысл? Цифры говорят, сами за себя. Уж если, так не понятно, тогда лучше на демку кинуть, и станет всё наглядно видно.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 7 марта 2016, 17:10
+
0
Вот скрин с демо-счёта:



Ордера по t/p не закрываются. Первые ордера, закрываются по общему профиту в валюте депозита, т.к. своего, отдельного профита в валюте, они не имеют в параметрах. Три совместных ордера, закрылись так же, по профиту в валюте, но не по t/p.
Редактирован: 8 марта 2016, 01:25
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 8 марта 2016, 01:19
+
0
Ордера по t/p не закрываются. Первые ордера, закрываются по общему профиту в валюте депозита, т.к. своего, отдельного профита в валюте, они не имеют в параметрах. Три совместных ордера, закрылись так же, по профиту в валюте, но не по t/p.


Сейчас в советнике реализована такая схема:

1. По сигналу открывается 1-й ордер с рынка с лотом и тейком в пунктах указанных в настройках.


extern double Lot1        = 1;           // лот 1-го ордера
extern int    TakeProfit1 = 50;          // язь 1-го ордера


2. Далее если ордер не закрылся по ТП через шаг ставятся усредняющие ордера обемом:

extern double Lots = 0.1; // лот


3. Выход из позиций по общему тейку в пунктах и общему профиту или лосю в валюте(если>0)

На скрине показано, как первый ордер сначала закрывается по ТП затем усредняется и затем закрывается по общему лосю в валюте.



Что в этой схеме не правильно?

На всякий случай еще обновил советник: www.opentraders.ru/downloads/1059/
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 8 марта 2016, 13:57
+
0
Получается, всё не совсем так:

1. Открывается 1-ый ордер, с лотом и тейком в пунктах, указанных в настройках. А закрывается он не по тейку, а по попрофиту в валюте. Это отчётливо видно, в моём скрине с демо-счёта. Параметры, были таковы:
Лот1 — 0.02; лот2 — 0.01; профит 1-го ордера 100 пунктов; общий профит 100 пунктов; общий профит в валюте 1$. Ордер закрылся не по тейку 100 пунктов, а по профиту 1$. Точно так, произошло с последующими, тремя ордерами.

2. Далее (по скрину с демки), ордер не закрылся по тейку, а точнее, по профиту в валюте (как это, происходит в реале), и произошло усреднение двумя ордерами, объёмом 0.01 и 0.02 лота.

3. После чего, последовал выход из позиций, не по общему тейку в пунктах, а по общему профиту в валюте 1$.

Итог таков: Закрытие ордеров по t/p, не происходит. Закрытие, либо 1-го ордера, либо усредняющей серии, получается только, в валюте депозита.

Андрей, что-то мы не можем, друг друга, понять. Я не знаю, как ещё доступнее, объяснить?
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 9 марта 2016, 18:25
+
0
Ордер закрылся не по тейку 100 пунктов, а по профиту 1$. Точно так, произошло с последующими, тремя ордерами.


Ставьте профит в валюте больше тейка или 0. Если лот 0.02 и тейк 100 по тейку закроет профит 2$. Если выставите профит 3$ уже будет крыть по тейку.
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 9 марта 2016, 19:23
+
0
Ставьте профит в валюте больше тейка или 0. Если лот 0.02 и тейк 100 по тейку закроет профит 2$. Если выставите профит 3$ уже будет крыть по тейку.


Если лот 0.02 и тейк 100, а профит в валюте 0, то закрытие такое:



При профите в валюте, от 2$ и более, закрытие по тейку, ровно 2$. Даже, если профит в валюте 10$. Но закрытие серии ордеров, не по тейку, а равняется профиту в валюте. И это, очевидно, т.к. профит в валюте, общий. Как для 1-го ордера, так и для серии ордеров.

В итоге, мы пришли к тому, о чём я писал, в начале топика: для 1-го ордера, должен быть свой профит в валюте, а для серии ордеров, общий.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 10 марта 2016, 00:05
+
0
Если я правильно понял, Krokus377 хочет исключить первый ордер из расчета общей прибыли-убытка, по которым закрываются все ордера, кроме первого.
Krokus377, мысль, сложившаяся в Вашем сознании, должна быть облечена в слова, понятные людям с разным менталитетом и понятиями.
Я тоже с трудом понимаю Ваши изъяснения.
А чем я лучше других?
avatar

  7  kvashnin007 Сообщений: 655 - Андрей

  • 11 июня 2022, 14:42
+
0
При профите в валюте, от 2$ и более, закрытие по тейку, ровно 2$. Даже, если профит в валюте 10$. Но закрытие серии ордеров, не по тейку, а равняется профиту в валюте. И это, очевидно, т.к. профит в валюте, общий. Как для 1-го ордера, так и для серии ордеров.


Подкрепляю свои слова, скрином:



Параметры советника: Лот1 — 0.02; лот2 — 0.01; t/p 100; профит в валюте депозита 3$.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 10 марта 2016, 00:45
+
0
Андрей, может всё-таки, доведём советник «до ума». Осталось только, добавить профит в валюте, для 1-го ордера. Что, кстати, изначально было указано в тех. задании:

1. Добавьте в советник параметр «лот первого ордера». Соответственно, и «профит первого ордера».

avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 10 марта 2016, 19:30
+
0
Завтра утром еще буду смотреть.
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 10 марта 2016, 19:47
+
+1
Добавил: www.opentraders.ru/downloads/1059/

extern double Profit1 = 10; // профит в валюте 1-го ордера


avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 11 марта 2016, 08:29
+
0
Параметры советника:
Лот1 — 0.02; лот — 0.01; t/p 1-го ордера в пунктах 100; t/p общий 100; профит в валюте 1-го ордера 2$; профит в валюте общий 1$.

Результат: Все позиции, как 1-ые ордера, так и усредняющая серия, закрываются с результатом 1$, причём не по t/p, а по достижении прибыли 1$.

Скрин не прикладываю, т.к. заметил, что вы моим скринам, не совсем доверяете. Поэтому, предлагаю вам, поставить советник на демо-счёт, именно с теми параметрами, которые я указал. Это займёт 30-40 мин., зато сами во всём убедитесь, и надеюсь, разберётесь в чём ошибка.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 11 марта 2016, 13:25
+
0
Давайте по скайпу обсудим а то так долго будет продолжаться.
andrew.am2
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 11 марта 2016, 17:04
+
0
Я поправил еще один момент. Так должно быть?

avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 14 марта 2016, 11:30
+
0
Да, теперь 1-ые ордера закрываются верно. Но серия усредняющих ордеров, закрывается по достижении суммы прибыли, в валюте депозита, заданной в настройках советника, не учитывая установленные t/p. Значит, значения t/p, при открытии серии ордеров, выставляются не верно.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 15 марта 2016, 03:35
+
0
Но серия усредняющих ордеров, закрывается по достижении суммы прибыли, в валюте депозита, заданной в настройках советника, не учитывая установленные t/p. Значит, значения t/p, при открытии серии ордеров, выставляются не верно.


Почему неверно? Просто ставьте значения профита в валюте больше и будет крыть по общему тейку.

avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 15 марта 2016, 11:19
+
0
Просто ставьте значения профита в валюте больше и будет крыть по общему тейку.


Ситуация следующая:
Если поставить значение профита в валюте, к примеру 3$, хотя нужен 1$, и t/p в настройках для прибыли в 1$, то происходит так: если закрываются 2 ордера, то по t/p, но значение t/p стоит из расчёта получения прибыли 3$, а не 1$, как это выставлено в настройках советника. Соответственно, при закрытии получаем 3$, вместо положенных 1$. А если, закрывается серия ордеров от 3-ёх и больше, то значения t/p уже не соблюдаются, а ордера закрываются по профиту в валюте 3$, хотя по заданным параметрам t/p, должен быть 1$.

После того, как вы ставили советник на демо-счёт, закрытие 1-го ордера, стало по t/p, и в точности соответствует заданным параметрам. Поставьте ещё раз на демо-счёт, и я надеюсь, что удастся отрегулировать, закрытие и серии ордеров.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 15 марта 2016, 14:35
+
0
Покажите скрин настроек которые у вас сейчас стоят?
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 15 марта 2016, 20:04
+
0
Покажите скрин настроек которые у вас сейчас стоят?

Вот скрин:



Там стоит общий профит в валюте 3$, но это по вашему совету:

Просто ставьте значения профита в валюте больше и будет крыть по общему тейку.


Мне нужен, общий профит в валюте 1$, но то, что при данном параметре получается, я уже описывал выше.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 15 марта 2016, 22:35
+
0
Мне нужен, общий профит в валюте 1$, но то, что при данном параметре получается, я уже описывал выше.

Если нужно все настолько досконально, это к платному. Здесь простые вещи и то что можно быстро сделать делаю.
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 15 марта 2016, 23:47
+
0
Если нужно все настолько досконально, это к платному. Здесь простые вещи и то что можно быстро сделать делаю.


А при чём здесь, досконально. Вы меня, не совсем понимаете. Мне не нужна, какая-то особенная точность. Я всего лишь, привёл пример, что по параметрам нужно закрытие с прибылью 1$, а советник закрывает 3$, причём не по t/p, а по достижению прибыли. Т.е. советник, не справляется с заданными условиями, а не то-чтобы, мне от него, что-то особенное нужно.
Перед доработкой, всё функционировало отлично. Необходимо было добавить, всего лишь, лот 1-го ордера, и профит 1-го ордера. Всё! Куда уже проще? Но после доработки, пошло всё наперекосяк. Я же, не выдумываю что-то особенное, и не придираюсь к работе советника. Достаточно поставить его на демо-счёт, с настройками, которые я предоставил на скрине, и результат очевиден:
Доработка не удалась, хотя тех. задание было, элементарным.
avatar

  16  Krokus377 Автор Сообщений: 226 - Андрей

  • 16 марта 2016, 04:19
+
0
Доработка не удалась, хотя тех. задание было, элементарным.

Не удалась согласен. Это только кажется что все просто. То что можно быстро сделать делаю.
Редактирован: 16 марта 2016, 09:23
avatar

  35  AM2 Сообщений: 16421 - Андрей

  • 16 марта 2016, 09:20
+
0
Нужно ограничить работу советника после серии ордеров в профит.

Нужна переменная запрещающая торговать советнику после закрытия серии ордеров в профит.
avatar

  2  jekop75840 Сообщений: 2

  • 9 июня 2022, 09:34

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий