Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 815

 
Igor Makanu:

речь наверное идет о таком примере:

нет,  мало того, до этого, в ордерсенд() значение задавалось из той-же переменной. Даже в печать выводил, были абсолютно одинаковы.

 
Andrey Sokolov:

нет,  мало того, до этого, в ордерсенд() значение задавалось из той-же переменной. Даже в печать выводил, были абсолютно одинаковы.

по моему Print() не всегда все double точно выводит, не знаю в чем причина

но к нашему разговору - нормализуйте стоплоссы и тейкпрофиты перед отправкой на сервер, так написано в справке, и по моему это правильно

 
Igor Makanu:

по моему Print() не всегда все double точно выводит, не знаю в чем причина

но к нашему разговору - нормализуйте стоплоссы и тейкпрофиты перед отправкой на сервер, так написано в справке, и по моему это правильно

Та переменная была из нормализованного выражения
 
Andrey Sokolov:
Та переменная была из нормализованного выражения

ну мне как бы отсюдова не видно ))), в OrderSend () при отправке на сервер нормализуйте значение - там вариантов нет,точно на сервер улетит нормализованное значение

 
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && 
         MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)


Это стандартный МАКД (как вы уже поняли)

Подскажите, пожалуйста, что значит вот эта строчка  MathAbs(MacdCurrent)>(MACDOpenLevel*Point) ?

Что такое MathAbs и (MACDOpenLevel*Point)?

 
Maxim Kuznetsov:

поверните текст на 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 раза, это было бы очень удобно в длинных выражениях с одинаковой идеологией, можно было бы поместить это дело в функцию и сократить объём кода. Возможно ли что-то подобное? 

 
Seric29:

есть такой вопрос, наверное ответа на него нет: значит смотрите, есть некая идеология записи выражений, которая всё время повторяется, например:

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

Тут ещё почитайте

LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
  • www.mql5.com
— В чем сила, брат?                                   —А сила, брат, в дефайнах                     Вы все ещё пишете на MQL4 и хотите перейти на MQL5, но не знаете с чего начать? Тогда мы идём к вам! Теперь появилась возможность комфортно работать в редакторе MetaEditor MQL5 и при этом использовать MQL4-нотацию (справедливости ради замечу...
 
Seric29:

есть такой вопрос, наверное ответа на него нет: значит смотрите, есть некая идеология записи выражений, которая всё время повторяется, например:

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(); }

Причина обращения: