Нормализуйте цену. посмотрите функцию NormalizeDouble()
не. не помогло. даже без нормализации в коменте цена в правильном формате выдаётся. типа 1.3205
PAZITIV:
а смысл?
if (ZZCur>ZZPrev || ZZCur< ZZPrev)
{
Price=(ZZCur+ZZPrev)/2;
выдаёт, что Price=1.3033, а через DoubleToStr -- 1.30330000
Да с этим вроде всё в порядке... Пока могу предположить что стоплосс с тейкпрофитом ненормализованы
PAZITIV:
Итак, есть ЗигЗаг. Вычисляю среднюю цену между его точками. Price = (ZZCur-ZZPrev)/2
Ваащета, средняя цена будет Price = (ZZCur+ ZZPrev)/2.
Мож я неправ?
Sepulca:
Да с этим вроде всё в порядке... Пока могу предположить что стоплосс с тейкпрофитом ненормализованы
Да с этим вроде всё в порядке... Пока могу предположить что стоплосс с тейкпрофитом ненормализованы
И еще, к сожалению сейчас нет времени подробно разбираться, но насколько я помню, у ZigZaga если нет перелома на баре, значение при этом не НОЛЬ а EMPTY_VALUE. Посмотрите в документации https://docs.mql4.com/ru/constants/special
Sepulca:
Да с этим вроде всё в порядке... Пока могу предположить что стоплосс с тейкпрофитом ненормализованы
Да с этим вроде всё в порядке... Пока могу предположить что стоплосс с тейкпрофитом ненормализованы
так вроде ж в цене ошибку выдаёт... пробовал нормализовать -- без толку
hhohholl:
Ваащета, средняя цена будет Price = (ZZCur+ ZZPrev)/2.
Мож я неправ?
как ни странно, но у меня "+" . по ходу скопировалось криво :(
Sepulca:
И еще, к сожалению сейчас нет времени подробно разбираться, но насколько я помню, у ZigZaga если нет перелома на баре, значение при этом не НОЛЬ а EMPTY_VALUE. Посмотрите в документации https://docs.mql4.com/ru/constants/special
И еще, к сожалению сейчас нет времени подробно разбираться, но насколько я помню, у ZigZaga если нет перелома на баре, значение при этом не НОЛЬ а EMPTY_VALUE. Посмотрите в документации https://docs.mql4.com/ru/constants/special
спасибо. почитаю. так если и разница между точками счмтается и сама цена считается и это всё выводится в комент в нормальном формате, то значит не EMPTY_VALUE. и я же не рыночный пытаюсь открыть в точке перелома, а отложку по средней цене между двумя точками...
Возможно ошибка возникает из-за того, значение ZZCur появляется тогда, когда текущая цена уже выше расчётной цена для Байстоп или ниже расчётной цены для Селлстоп. Чтобы точно узнать выводите принтом при попытке установки ордера значения Ask, Bid и цену открытия ордера.
если расстояние от текущей цены до Вашей расчитанной будет менее чем MarketInfo(symb, MODE_STOPLEVEL) пунктов, то выставить отложку в этом месте не удастся (при этом в лог терминала будет записана ошибка:
ERR_INVALID_STOPS | 130 | Invalid stops. |
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Итак, есть ЗигЗаг. Вычисляю среднюю цену между его точками. Price = (ZZCur-ZZPrev)/2
Если ZZCur>ZZPrev то выставляем СеллСтоп по цене Price, если ZZCur<ZZPrev -- Байстоп. Но Ордера никак не хотят выствляться... подключил библиотеку stdlib для обработки ошибок. Ошибка постоянно одна и та же -- "Неправильная цена". В чём может быть причина ?
выводил цену в коммент -- формат цены правильный.