Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 815
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
речь наверное идет о таком примере:
нет, мало того, до этого, в ордерсенд() значение задавалось из той-же переменной. Даже в печать выводил, были абсолютно одинаковы.
нет, мало того, до этого, в ордерсенд() значение задавалось из той-же переменной. Даже в печать выводил, были абсолютно одинаковы.
по моему Print() не всегда все double точно выводит, не знаю в чем причина
но к нашему разговору - нормализуйте стоплоссы и тейкпрофиты перед отправкой на сервер, так написано в справке, и по моему это правильно
по моему Print() не всегда все double точно выводит, не знаю в чем причина
но к нашему разговору - нормализуйте стоплоссы и тейкпрофиты перед отправкой на сервер, так написано в справке, и по моему это правильно
Та переменная была из нормализованного выражения
ну мне как бы отсюдова не видно ))), в OrderSend () при отправке на сервер нормализуйте значение - там вариантов нет,точно на сервер улетит нормализованное значение
Это стандартный МАКД (как вы уже поняли)
Подскажите, пожалуйста, что значит вот эта строчка MathAbs(MacdCurrent)>(MACDOpenLevel*Point) ?
Что такое MathAbs и (MACDOpenLevel*Point)?
поверните текст на 30-40 градусов. Тогда метки останутся читаемыми, но накладываться будут реже
добавьте "мультипликацию" - когда указатель мыши внутри сессии, выделять цену размером и цветом
До кода очень далекий хотя нашел немного поворот градусов, да теперь хотел сделать смещение цены по горизонтали и вертикали а код выделенный не действует, почему не в курсе?
objname = session + " Session Low label";
ObjectCreate(objname, OBJ_TEXT, 0, time2 - 1800, price1);
ObjectSet(objname, OBJPROP_BACK, false);
ObjectSet(objname, OBJPROP_XDISTANCE, 477);
ObjectSet(objname, OBJPROP_YDISTANCE, 91);
ObjectSetText(objname, DoubleToStr(price1, Digits), 9, "Tahoma", Lime);
ObjectSet(objname, OBJPROP_ANGLE,-41);
И что такое "мультипликация".есть такой вопрос, наверное ответа на него нет: значит смотрите, есть некая идеология записи выражений, которая всё время повторяется, например:
if(Tdk>Odk) flag=true; есть точно такое противоположное по знаку выражение но с такой же идеологией if(Tdk<Odk) flag=true; в обоих случаях участвует один и тот же код if(Tdk Odk) flag=true; меняется знак > на этот <, было бы классно если бы можно было знак сохранить в переменную по логическому условию например:
if(p==2) сохраняем знак >, if(p==1) сохраняем знак < и его подставить между значениями if(Tdk знак Odk) и в конечном итоге нет нужды использовать эту запись 2 раза, это было бы очень удобно в длинных выражениях с одинаковой идеологией, можно было бы поместить это дело в функцию и сократить объём кода. Возможно ли что-то подобное?
есть такой вопрос, наверное ответа на него нет: значит смотрите, есть некая идеология записи выражений, которая всё время повторяется, например:
if(Tdk>Odk) flag=true; есть точно такое противоположное по знаку выражение но с такой же идеологией if(Tdk<Odk) flag=true; в обоих случаях участвует один и тот же код if(Tdk Odk) flag=true; меняется знак > на этот <, было бы классно если бы можно было знак сохранить в переменную по логическому условию например:
if(p==2) сохраняем знак >, if(p==1) сохраняем знак < и его подставить между значениями if(Tdk знак Odk) и в конечном итоге нет нужды использовать эту запись 2 раза, это было бы очень удобно в длинных выражениях с одинаковой идеологией, можно было бы поместить это дело в функцию и сократить объём кода. Возможно ли что-то подобное?
Да.
Разгребайте коды от @fxsaber
Тут ещё почитайте
есть такой вопрос, наверное ответа на него нет: значит смотрите, есть некая идеология записи выражений, которая всё время повторяется, например:
if(Tdk>Odk) flag=true; есть точно такое противоположное по знаку выражение но с такой же идеологией if(Tdk<Odk) flag=true; в обоих случаях участвует один и тот же код if(Tdk Odk) flag=true; меняется знак > на этот <, было бы классно если бы можно было знак сохранить в переменную по логическому условию например:
if(p==2) сохраняем знак >, if(p==1) сохраняем знак < и его подставить между значениями if(Tdk знак Odk) и в конечном итоге нет нужды использовать эту запись 2 раза, это было бы очень удобно в длинных выражениях с одинаковой идеологией, можно было бы поместить это дело в функцию и сократить объём кода. Возможно ли что-то подобное?
ну так и напишите себе функцию/шаблон сравнения
if (Compare3(Tdk,Odk)==GREATER_THEN) { flag=true; do_something(); }