[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 521

 
Подскажите почему из желаемых для выкладки четырех ордеров откладывает только два (от 1 и 100 фибы)

tick=OrderSend(Symbol(),OP_SELLLIMIT,volume,Fibo100,0,0,Fibo1,NULL,magic,0,Red);
tick=OrderSend(Symbol(),OP_SELLLIMIT,volume,Fibo138,0,0,Fibo62,NULL,magic,0,Red);
tick=OrderSend(Symbol(),OP_BUYLIMIT,volume,Fibo1,0,0,Fibo100,NULL,magic,0,Red);
tick=OrderSend(Symbol(),OP_BUYLIMIT,volume,Fibo_138,0,0,Fibo38,NULL,magic,0,Red);
 

У меня вопрос про статические переменные. Есть ли у них преимущество в плане быстродействия относительно глобальных (так как они функционально им эквивалентны) и относительно локальных?

 
Не понимаю в чем проблема. Делаю так:
 Print(DoubleToStr(NormalizeDouble(Ask, 5),5));
Выводит пять знаков после запятой: 1.34869.

А, если без функции DoubleToStr
   query = StringConcatenate("insert into eurousd(ASK, BID) values(",
                             NormalizeDouble(Ask, 5), ",", NormalizeDouble(Bid, 5), ");");
   Print(query);
, то:
insert into eurousd(ASK, BID) values(1.349,1.3489);. Т.е. 4 знака после запятой !
Функцию преобразования в строку использовать не хотелось бы, т.к. предпочтительно иметь в БД тип double.
В чем может быть дело?
 
Print больше 4 знаков в double не печатает.
 
Так в аргумент функции print попадает уже строка, а не double. Суть в том, что если не использовать функцию DoubleToStr,
то StringConcatenate обрезает знаки.
 
fevrall >>:
Так в аргумент функции print попадает уже строка, а не double. Суть в том, что если не использовать функцию DoubleToStr,
то StringConcatenate обрезает знаки.

В аргумент функции print попадает команда на последовательную печать строки и двух double. Оба double обрезаются.

Смело берите double в базу, раз преобразование в строку показывает, что нужная точность имеется.

 
granit77, спасибо за внимание! разобрался!

   query = StringConcatenate("insert into eurousd(ASK, BID) values(",
                             DoubleToStr(NormalizeDouble(Ask, 5),5), ",",
                             DoubleToStr(NormalizeDouble(Bid, 5),5), ");");
С DoubleToStr в БД попадает то что нужно.
 
Вот еще бы получить время сервера когда произошло событие Tick)
 

Как можно окно индикатора програмно сделать в виде узкой полоски

 
nikost >>:

Как можно окно индикатора програмно сделать в виде узкой полоски

Кластерного типа?

Он сырой но как пример сойдет, он грубо говоря со свалки, поэтому проверьте его.