Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 434

 
Artyom Trishkin:
Цвет комментария изменить нельзя. Если нужен цвет - то объектами.
Почему у меня 0 ? меня интересует ошибка а не примеры. Пример скопирую и вставлю а понятие ошибки останется не известным.
 
Leanid Aladzyeu:
Почему у меня 0 ? меня интересует ошибка а не примеры. Пример скопирую и вставлю а понятие ошибки останется не известным.

попробуйте убрать Point - что напишет?

по моему правильно Point()

 
new-rena:

попробуйте убрать Point - что напишет?

по моему правильно Point()

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); Print("Величина бара 1 = ", p1);

0,0 итог. без пойнта и с пойтом со скобками.  массивами пробывал  и так . все по 0.0.

int  imax5=iHighest(Symbol(),PERIOD_MN1,MODE_HIGH,3,1);Print("max1=====", imax5);
    double   max5= iHigh(Symbol(),PERIOD_MN1,imax5);Print("max2=====", max5);
    max5=NormalizeDouble(max5,Digits);Print("max3=====", max5);
 
Leanid Aladzyeu:

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); Print("Величина бара 1 = ", p1);

0,0 итог. без пойнта и с пойтом со скобками.  массивами пробывал  и так . все по 0.0.

Попробуй так

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); 
Print("Величина бара 1 = ", DoubleToString(p1, Digits));

Leanid Aladzyeu:
Почему у меня 0 ? меня интересует ошибка а не примеры. Пример скопирую и вставлю а понятие ошибки останется не известным.
Потому, что функция Print() и Alert() выводит числа double с точностью до 4х знаков, а результат вычисления 5 знаков. Чтобы увидеть пятый знак надо число перевести в строку.
 
Alexey Viktorov:

Попробуй так

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); 
Print("Величина бара 1 = ", DoubleToString(p1, Digits));
Мне говорили что моя версия была с багом на массивы iclose[] , получается что и на функцию багом попало  или в терминале не хватает истории  тоже врядли история с начала загружена ,

 
Leanid Aladzyeu:

Я говорил только о том что был один билд с такой ошибкой, я читал об этом на этом форуме, но не сказал что ВОЗМОЖНО у тебя этот билд и есть.

По поводу нулей я поправил, дополнил предыдущий свой пост с небольшим запозданием.


Если и в пятом знаке получается нуль, тогда поставь Print() и для уменьшаемого и для вычитаемого. Может они и есть одинаковые? Хотя не должно быть. Но причину надо искать именно принтами.

 
Alexey Viktorov:

Я говорил только о том что был один билд с такой ошибкой, я читал об этом на этом форуме, но не сказал что ВОЗМОЖНО у тебя этот билд и есть.

По поводу нулей я поправил, дополнил предыдущий свой пост с небольшим запозданием.


Если и в пятом знаке получается нуль, тогда поставь Print() и для уменьшаемого и для вычитаемого. Может они и есть одинаковые? Хотя не должно быть. Но причину надо искать именно принтами.

Это жестоко)) как исправить?

 

4074
 ERR_NO_MEMORY_FOR_HISTORY
 Не хватает памяти для исторических данных
 
 
Alexey Viktorov:

Потомучто не правильно написано.

Вы уверены? Я перед тем как написать запустил эту конструкцию с ААА = true и AAA = false - все работает. При true возвращает (string)c, при false - "offline". Отрицательных значений количества ордеров быть не может, так что подходит в самый раз.
 
Leanid Aladzyeu:
Почему у меня 0 ? меня интересует ошибка а не примеры. Пример скопирую и вставлю а понятие ошибки останется не известным.

Нет никакой ошибки. Скрипт

#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits))/Point; 
   Print("Величина бара 1 = ", p1);
  }
//+------------------------------------------------------------------+

Выдаёт в журнале

2015.09.05 05:00:09.558 Script SizeCandle USDJPY,Daily: removed
2015.09.05 05:00:09.557 SizeCandle USDJPY,Daily: uninit reason 0
2015.09.05 05:00:09.557 SizeCandle USDJPY,Daily: Величина бара 1 = 9122.0
2015.09.05 05:00:09.556 SizeCandle USDJPY,Daily: initialized
2015.09.05 05:00:09.541 Script С форума\SizeCandle USDJPY,Daily: loaded successfully

Только я всё-равно не пойму, зачем вам double для вывода целого значения (ведь количество пунктов - целое число)

 

знатоки, помогите.

нужен  шрифт  для написания волновой разметки в МТ-4.  т.е. буквы и цифры в кружках.


‚ƒ