[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 131
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Надо же как просто! М5 открыт и его верх немного саустил, а М1 под ним показывает нужные комменты.
Как говорится, утро вечера мудренее! Доброе утро!
Здесь задают вопросы, и получают ответы о программной реализации.
А комментарии можно и с листика читать ;)
уже переписал код модификации ордеров и ошибка осталась.
Подчеркиваю что ошибка не из журнала - в журнале не одной ошибки.
Ошибку я нашел в Результатах во время теста.
Пример:
Открыл позицию buy (ордер номер 1) по цене 1,4654
дальше в Результатах написано modify (ордер номер 1) цена 1,4654 и ТэйкПрофит 1,4752
дальше в Результатах написано close (ордер номер 1) цена 1,4704 и ТэйкПрофит 1,4752
Прибыль = 50.00
Пример убыточной позиции хотя должна закрыться только по ТэйкПрофит,так как СтопЛосс я не выставлял.
Открыл позицию buy (ордер номер 271) по цене 1,4820
дальше в Результатах написано modify (ордер номер 271) цена 1,4820 и ТэйкПрофит 1,4918
дальше в Результатах написано close (ордер номер 1) цена 1,4737 и ТэйкПрофит 1,4918
Прибыль = - 83.46
ТэйкПрофит везде я поставил 100
СтопЛосс не выставлял.
Как исправить не знаю.
При компиляции кода этого советник = 0 ошибок и 0 предупреждений.
Код для Модификации Ордеров я использовал этот:
Подскажите где ошибка - не могу найти.
уже переписал код модификации ордеров и ошибка осталась.
Подчеркиваю что ошибка не из журнала - в журнале не одной ошибки.
Ошибку я нашел в Результатах во время теста.
Пример:
Открыл позицию buy (ордер номер 1) по цене 1,4654
дальше в Результатах написано modify (ордер номер 1) цена 1,4654 и ТэйкПрофит 1,4752
дальше в Результатах написано close (ордер номер 1) цена 1,4704 и ТэйкПрофит 1,4752
Прибыль = 50.00
Пример убыточной позиции хотя должна закрыться только по ТэйкПрофит,так как СтопЛосс я не выставлял.
Открыл позицию buy (ордер номер 271) по цене 1,4820
дальше в Результатах написано modify (ордер номер 271) цена 1,4820 и ТэйкПрофит 1,4918
дальше в Результатах написано close (ордер номер 1) цена 1,4737 и ТэйкПрофит 1,4918
Прибыль = - 83.46
ТэйкПрофит везде я поставил 100
СтопЛосс не выставлял.
Как исправить не знаю.
При компиляции кода этого советник = 0 ошибок и 0 предупреждений.
Код для Модификации Ордеров я использовал этот:
Помогите найти значения
1 Максимум дневной волатильности (дневной хай минус лой) за последние X=5 дней .
2 Средняя дневная волатильность за последние X=130 дней
3 И как эти значения можно записать в условии if чтобы Максимум дневной волатильности лежал в диапазоне от A=75 до B=150 - Средней дневной волатильности
1. Сначала узнаете сколько баров в окне помещается https://docs.mql4.com/ru/windows/WindowBarsPerChart
2. Потом узнаете дату первого бара https://docs.mql4.com/ru/windows/WindowFirstVisibleBar
3. Зная этот начальный бар и число баров - проходите по этим барам и определяете среди них максимум и минимум
4. профит
Вариант №2
https://docs.mql4.com/ru/windows/WindowPriceMaxтво
https://docs.mql4.com/ru/windows/WindowPriceMinВторой вариант
Огромное СПАСИБО за быстрый и развёрнутый ответ.Я сам склонялся к первому варианту,но не знал,как подсчитать количество баров в окне.Второй вариант лаконичнее.
Но как "поймать" последние max и min на предыдущем баре?Зарание СПАСИБО!
Но как "поймать" последние max и min на предыдущем баре?Зарание СПАСИБО!
нужно просто запоминать достигнутый максимум и минимум на текущем баре, и когда появится новый бар и тот станет предыдущим, то вы уже максимум и минимум из запомненных переменных возьмете.
нужно просто запоминать достигнутый максимум и минимум на текущем баре, и когда появится новый бар и тот станет предыдущим, то вы уже максимум и минимум из запомненных переменных возьмете.
объявляйте переменную зет как статическую, или объявите ее в глобальной зоне.
перед присвоением ей нового значения проверяйте на новый бар, и проверяйте разность между ее значением, и текущим, и уж потом присваивайте ей новое значение.
когда закрытие сделок в тестере пишется в виде как у вас приведено, то это, скорее всего, результат работы функции orderclose (TP и SL ни при чем)
Спасибо, но в коде вроде нет ошибок: