Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 160

 

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

У меня в советнике используются несколько индикаторов.

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

пишет uninit reason 1, что это означает ? Другие индикаторы не выгружается ведь

2017.03.21 12:12:25.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:09:06.551 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:09:06.551 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 12:07:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 12:07:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:04:12.957 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:04:12.957 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:43:29.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:43:29.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:38:04.097 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:38:04.097 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:36:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:36:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:30:11.582 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:30:11.582 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:06:17.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:06:17.316 MTF_WPR USDRUR,H4: uninit reason 1
 
harbor:

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

У меня в советнике используются несколько индикаторов.

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

пишет uninit reason 1, что это означает ? Другие индикаторы не выгружается ведь

Неверно заданы параметры индикатора в iCustom()
 
спасибо, вроде так и есть
 
Artyom Trishkin:

В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти на MQL5 - языки очень похожи.

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

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


Здравствуйте


У менья такой вопрос. Как в MQL4м написать код? Например, нужно суммировать цены и разделить на количество зтих цен. Примерно так: 1,05000+1,06000+1,07000+1,08000:4= 1,06500



Большое спасибо!

 
isiklik:


Здравствуйте

У менья такой вопрос. Как в MQL4м написать код? Например, нужно суммировать цены и разделить на количество зтих цен. Примерно так: 1,05000+1,06000+1,07000+1,08000:4= 1,06500

Большое спасибо!

double res=(1.05+1.06+1.07+1.08)/4.0;
 
Artyom Trishkin:

Большое спасибо Артём!


Старость не радость!  О самом главном совсем забыл рассказать.😒

Допустим у менья в МТ4 открыто Н-ное количество сделок в одну сторону с разными ценами. 

Как написать код чтоб МТ4 сам взял эти цены из графика сложил бы их, разделил бы на количество в одну сторону открытых сделок. И после этого прибавил бы 200 пунктов.

Полученную цену прописал бы этим сделкам в ТэйкПрофит.

Теперь надеюсь всё. :) 


Спасибо большое!

 
isiklik:

Большое спасибо Артём!


Старость не радость!  О самом главном совсем забыл рассказать.😒

Допустим у менья в МТ4 открыто Н-ное количество сделок в одну сторону с разными ценами. 

Как написать код чтоб МТ4 сам взял эти цены из графика сложил бы их, разделил бы на количество в одну сторону открытых сделок. И после этого прибавил бы 200 пунктов.

Полученную цену прописал бы этим сделкам в ТэйкПрофит.

Теперь надеюсь всё. :) 


Спасибо большое!

Вам нужно рассчитать цену безубытка, и прибавить/отнять к ней N-количество пунктов. Поищите, или посмотрите как рассчитать безубыток
 
Vitaly Muzichenko:
Вам нужно рассчитать цену безубытка, и прибавить/отнять к ней N-количество пунктов. Поищите, или посмотрите как рассчитать безубыток

Нет, зачем мне безубыток? Мне нужно рассчитать сумму открытых ордеров, чтобы им выставить общий Тэйк.
 
Maxim Kuznetsov:

можно посчитать "через сколько баров будет пересечение" (просто школьная геометрия)

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

упрощенно, если заранее известен календарь:

  • добавляешь к текущему дню 24 часа, если получилась субота/вскр, пропускаешь, если попал на обще-календарный праздник пропускаешь, если попал на национальный праздник пропускаешь.
  • для W1 и выше придётся учитывать что недельный бар начинается с суботы на вскр, M1 - как по календарю
  • для ТФ менее дня придётся ещё учитывать время открытия/закрытия рынка и распорядок работы вашего DC
  • при перемене дат (с утра, при первых тиках) переповторяшь все прежние расчёты

то есть настолько геморойно, что в MT с этим большие проблемы :-)


Спасибо, за развёрнутый ответ.

 
isiklik:

Большое спасибо Артём!


Старость не радость!  О самом главном совсем забыл рассказать.😒

Допустим у менья в МТ4 открыто Н-ное количество сделок в одну сторону с разными ценами. 

Как написать код чтоб МТ4 сам взял эти цены из графика сложил бы их, разделил бы на количество в одну сторону открытых сделок. И после этого прибавил бы 200 пунктов.

Полученную цену прописал бы этим сделкам в ТэйкПрофит.

Теперь надеюсь всё. :) 


Спасибо большое!

Идёте в цикле по всем открытым позициям на счёте, отфильтровываете их по магику и типу.
Если тип позиции нужный, то увеличиваете на 1 размер временного массива и заносите в него цену открытия этой позиции.
Когда цикл будет завершён, то будете иметь массив с ценами открытия всех нужных позиций.
В цикле складываете все значения в массиве, и по окончании цикла, получившееся значение делите на размер этого массива.
Всё - вы имеете рассчитанную цену. Теперь к ней прибавьте нужное количество пунктов*Point().
А далее интересней - если полученная цена окажется ниже цены открытия позиции (Buy), то это будет не тейк-профит, а стоп-лосс
Причина обращения: