Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| leonid553 |
8.7.2007, 6:05
Сообщение
#41
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
Навскидку, могу предложить открытие встречной позиции, - если мы видим "неотвратимио" надвигающегося лося!
При этом можно, как условие на встречную позу, использовать фильтр, вроде вот такого - Эскизы прикрепленных изображений |
| Sergey_n |
8.7.2007, 6:59
Сообщение
#42
|
|
Группа: Активный участник Сообщений: 22 Регистрация: 5.7.2007 Пользователь №: 1 414 Спасибо сказали: 0 раз(а) |
Проблема в том что если до 50 Пунктов лося спасать, то статистика портится(
|
| leonid553 |
11.7.2007, 18:45
Сообщение
#43
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
to NoName:
Вот мыслишка есть любопытная. Для её практической реализации необходмо - Код //=====начало поиска экстремумов =========================== //---------------------------------------------------------- { double peak1=iCustom(NULL, 0, "ZUP_v49mod", minPercent, minSize, minBars, 0, 0); int Bar=1; double zz=iCustom(NULL, 0, "ZUP_v49mod", minPercent, minSize, minBars, 0, Bar); //=== Ищем 2 пик ===== while (zz==0) { Bar++; //пока индикатор=0 сдвигаемся на 1 бар zz=iCustom(NULL, 0, "ZUP_v49mod", minPercent, minSize, minBars, 0, Bar); } //=== Нашли 2 пик ===== } double peak2=zz; //Print ("пик1 ", peak1, " пик2 ", peak2); //нашли второй экстремум Необходимо отыскать третий пик (впадину). Т. е. третий экстремум. Никак не соображу, - что нужно сюда для этого добавить! Если не трудно, - подскажи, пож. |
| Sergey_n |
11.7.2007, 19:15
Сообщение
#44
|
|
Группа: Активный участник Сообщений: 22 Регистрация: 5.7.2007 Пользователь №: 1 414 Спасибо сказали: 0 раз(а) |
Привет, я со старыми вопросами разобрался, вот еще пару
1) функция return(0) , возвращает в самое начало (к start), если она находится в куче {{}},или в начало своих внутренних скобок? 2) какие индикаторы лучше всего показывают выход из хеджирования, и может быть видели готовые блоки или советники работающие по такому принципу? А насчет экстремуна, я думаю, такой же цикл while только переменную поменять на пик3, так как переменная bar имеет значение 2-го экстремуна от него и будет перебор. С уважением С. |
| NoName |
11.7.2007, 20:22
Сообщение
#45
|
![]() Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) |
Привет.
1) Оператор return завершает работу функции (в каком бы месте он не находился). Если он встречается в функции Start() то она завершается до прихода следующего тика. 2) Тут я не подскажу ничего Третий экстремум можно найти в цикле так же как и второй. Удачи |
| Sergey_n |
12.7.2007, 11:57
Сообщение
#46
|
|
Группа: Активный участник Сообщений: 22 Регистрация: 5.7.2007 Пользователь №: 1 414 Спасибо сказали: 0 раз(а) |
То есть, если return в середине программы то он возвращает в начало?
|
| NoName |
12.7.2007, 12:13
Сообщение
#47
|
![]() Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) |
Код //=====начало поиска экстремумов =========================== //---------------------------------------------------------- { double peak1=iCustom(NULL, 0, "ZUP_v49mod", minPercent, minSize, minBars, 0, 0); int Bar=1; double zz=iCustom(NULL, 0, "ZUP_v49mod", minPercent, minSize, minBars, 0, Bar); //=== Ищем 2 пик ===== while (zz==0) { Bar++; //пока индикатор=0 сдвигаемся на 1 бар zz=iCustom(NULL, 0, "ZUP_v49mod", minPercent, minSize, minBars, 0, Bar); } //=== Нашли 2 пик ===== double peak2=zz; //Print ("пик1 ", peak1, " пик2 ", peak2); //нашли второй экстремум //=== Ищем 3 пик ===== Bar++; while (zz==0) { Bar++; //пока индикатор=0 сдвигаемся на 1 бар zz=iCustom(NULL, 0, "ZUP_v49mod", minPercent, minSize, minBars, 0, Bar); } double peak3=zz; } Вобщем идея такая. Не проверял, но, думаю, должно работать. То есть, если return в середине программы то он возвращает в начало? Нет, он завершает выполнение функции. А что будет происходить дальше зависит от программы. Если return встречается в функции Start() - то она прекращает свою работу. Снова она запустится по приходу нового тика. Если return встречается где-то в пользовательской функции - то аналогично, прекращается её работа и управление передаётся программе вызвавшей эту функцию. |
| Sergey_n |
12.7.2007, 17:24
Сообщение
#48
|
|
Группа: Активный участник Сообщений: 22 Регистрация: 5.7.2007 Пользователь №: 1 414 Спасибо сказали: 0 раз(а) |
Помогите пожалуйста.
Тут такая делема: Допустим, открывается ордер на покупку и одновременно ставится отложенный ордер на продажу, как сделать так чтобы если по ордеру сработал Тейкпрофит, удалить отложенный ордер? Проблема в том, что там еще могут быть сделки нужно что-то с номером ордера поколдовать, так чтобы отложенный ордер закрывался тока тот, который был открыт именно тем ордером, который по профиту закрылся. Может вы знаете, как вести точный учет номеров ордера? С уважение Сергей. |
| leonid553 |
12.7.2007, 18:04
Сообщение
#49
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
Код //=====начало поиска экстремумов =========================== //---------------------------------------------------------- //=== Ищем 3 пик ===== Bar++; while (zz==0) { Bar++; //пока индикатор=0 сдвигаемся на 1 бар zz=iCustom(NULL, 0, "ZUP_v49mod", minPercent, minSize, minBars, 0, Bar); } double peak3=zz; } Вобщем идея такая. Не проверял, но, думаю, должно работать. Благодарю! Сейчас проверим. |
| NoName |
13.7.2007, 5:53
Сообщение
#50
|
![]() Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) |
Помогите пожалуйста. Тут такая делема: Допустим, открывается ордер на покупку и одновременно ставится отложенный ордер на продажу, как сделать так чтобы если по ордеру сработал Тейкпрофит, удалить отложенный ордер? Проблема в том, что там еще могут быть сделки нужно что-то с номером ордера поколдовать, так чтобы отложенный ордер закрывался тока тот, который был открыт именно тем ордером, который по профиту закрылся. Может вы знаете, как вести точный учет номеров ордера? С уважение Сергей. Это вопрос весьма обширный. Данные статьи помогут Вам понять принцип построения системы учёта ордеров в советнике: http://articles.mql4.com/ru/126 - Управление ордерами – это просто http://articles.mql4.com/ru/114 - Учёт ордеров в большой программе http://articles.mql4.com/ru/105 - MagicNumber – "магический" идентификатор ордера Кроме того, статьи Rosh'а: http://old.alpari.org/ru/experts/articles/8.html - 7. Ордера в MetaTrader4 http://old.alpari.org/ru/experts/articles/9.html - 8. Закрытие и удаление ордеров На мой взгляд, это необходимый минимум, который нужно усвоить, для того что бы решать Вашу задачу. |
![]() ![]() |
|
Текстовая версия | Сейчас: 19.3.2026, 16:48 |