[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 521

 
¿Me pueden decir por qué de cuatro órdenes que quiero hacer sólo dos (de 1 y 100 fibras)

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

Tengo una pregunta sobre las variables estáticas. ¿Tienen una ventaja de rendimiento sobre las variables globales (ya que son funcionalmente equivalentes a ellas) y sobre las locales?

 
No entiendo cuál es el problema. Hago esto:
 Print(DoubleToStr(NormalizeDouble(Ask, 5),5));
Produce cinco decimales: 1,34869.

Y, si sin la función DoubleToStr
   query = StringConcatenate("insert into eurousd(ASK, BID) values(",
                             NormalizeDouble(Ask, 5), ",", NormalizeDouble(Bid, 5), ");");
   Print(query);
entonces:
insert into eurousd(ASK, BID) values(1.349,1.3489);. Es decir, ¡4 decimales!
No me gustaría usar la función de conversión a cadena, porque es preferible tener el tipo doble en la base de datos.
¿Cuál puede ser el problema?
 
La impresión no imprime más de 4 caracteres por doble.
 
Así que el argumento de la función de impresión ya es una cadena, no un doble. La cuestión es que si no se utiliza la función DoubleToStr,
entonces StringConcatenate trunca los caracteres.
 
fevrall >>:
Так в аргумент функции print попадает уже строка, а не double. Суть в том, что если не использовать функцию DoubleToStr,
то StringConcatenate обрезает знаки.

El argumento de la función print es una orden para imprimir una cadena y dos dobles consecutivamente. Ambos dobles están truncados.

Siéntase libre de poner doble en la base, ya que la conversión a cadena muestra que la precisión requerida está ahí.

 
granit77, ¡gracias por su atención!

   query = StringConcatenate("insert into eurousd(ASK, BID) values(",
                             DoubleToStr(NormalizeDouble(Ask, 5),5), ",",
                             DoubleToStr(NormalizeDouble(Bid, 5),5), ");");
Con DoubleToStr la base de datos obtiene lo que necesita.
 
También me gustaría obtener la hora del servidor cuando se produjo el evento Tick)
 

¿Cómo se puede programar la ventana del indicador como una franja estrecha

 
nikost >>:

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

¿El tipo de racimo?

Es burdo pero servirá de ejemplo, es más o menos de un vertedero, así que compruébalo.

Archivos adjuntos: