Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 250
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ха-ха... А вот и наврал...
Проблема оказалась в функции открытия ордеров OpenOrders(). Совсем забыл убрать контроль открытия ордеров на пробое свечи (баре):
if (Volume[0] > 1) return;
Поэтому на каком ТФ советник тестировался - на таких минутах он ордера открывал...
Протупил вообще, по тяжелой...
Спасибо...
if (Volume[0] > 1) return;
Не используйте такую проверку для определеня открытия нового бара, она на счете будет плохо работать, только в тестере нормально. Нужно проверять или по времени бара или по количеству баров на графике
Ха-ха... А вот и наврал...
Проблема оказалась в функции открытия ордеров OpenOrders(). Совсем забыл убрать контроль открытия ордеров на пробое свечи (баре):
if (Volume[0] > 1) return;
Поэтому на каком ТФ советник тестировался - на таких минутах он ордера открывал...
Протупил вообще, по тяжелой...
Спасибо...
Лучше так (https://www.mql5.com/ru/forum/138609/page482):
А лучше передавать в функцию наименование нужного ТФ
Лучше так (https://www.mql5.com/ru/forum/138609/page482):
Вы знаете, с / PrevTime / я как-то пытался что-то сделать, но так ничего и не получилось. Я так полагаю, что не смог вставить этот код в нужное место.
С / if (Volume[0] > 1) return; / все получилось гораздо проще. Здесь, как я полагаю, все работает на выбранном ТФ. На демо - не знаю, но в реале, при открытии ордеров ошибок, "косяков", и прочих нюансов не заметил.
Но и контроль открытия ордеров на новом баре как-бы давно не использую. Получилось собрать функцию контроля открытых позиций. Вместе с открытием ордеров по заданному времени - контроль баров как таковой не нужен.
Просто код старый. Видимо забыл про ограничения, тупо вставил и продолжил тупить...
Подскажите пожалуйста, как получить ценовое значение уровней Фибоначчи?
Согласно условию, после пересечения ценой указанного уровня Фибоначчи открывается сделка на покупку или продажу.
Объект Фибоначчи рисуется советником с помощью функции Кима: https://www.mql5.com/ru/forum/107476/page107#606564
Рисуется все ровно, без проблем. Но далее, как узнать ценовое значение указанного уровня?
Вот эта функция вроде бы не подходит:
Возможно ли это? Или придется отдельно рассчитывать цены для каждого уровня отталкиваясь от OBJPROP_PRICE1 и OBJPROP_PRICE2 ???
ерунда какая то. Полночи мозги пудрил себе.. Конечно ночь пожалуй не самое лучшее время для поиска решений.
Помогите плиз, добрые люди!
Подскажите пожалуйста, как получить ценовое значение уровней Фибоначчи?
Согласно условию, после пересечения ценой указанного уровня Фибоначчи открывается сделка на покупку или продажу.
Объект Фибоначчи рисуется советником с помощью функции Кима: https://www.mql5.com/ru/forum/107476/page107#606564
Рисуется все ровно, без проблем. Но далее, как узнать ценовое значение указанного уровня?
Вот эта функция вроде бы не подходит:
Возможно ли это? Или придется отдельно рассчитывать цены для каждого уровня отталкиваясь от OBJPROP_PRICE1 и OBJPROP_PRICE2 ???
ерунда какая то. Полночи мозги пудрил себе.. Конечно ночь пожалуй не самое лучшее время для поиска решений.
Помогите плиз, добрые люди!
Подобный вопрос уже был:
Хочу получить цену на фибо-уровне 23,6%
double flevel236 = ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,1); Вот это - дает 0.236, т.е. не цену, а уровень.
Подскажите, как можно получить цену уровня. Спасибо!
И был дан на него и ответ:
Всего две арифметические операции. Умножение (0.236 умножить на разницу между ценами нулевого и первого уровней), а потом сложение (результат умножения прибавить к цене нулевого уровня).
Подобный вопрос уже был:
Хочу получить цену на фибо-уровне 23,6%
double flevel236 = ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,1); Вот это - дает 0.236, т.е. не цену, а уровень.
Подскажите, как можно получить цену уровня. Спасибо!
И был дан на него и ответ:
Всего две арифметические операции. Умножение (0.236 умножить на разницу между ценами нулевого и первого уровней), а потом сложение (результат умножения прибавить к цене нулевого уровня).
Спасибо добрый людь!) Так и думал в принципе)
"0.236 умножить на разницу между ценами нулевого и первого уровней" - только наверно будет правильней сказать - "между ценами нулевого и последнего уровней".