[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 32

 

Estimados profesionales Recientemente me he interesado por la negociación de calendarios de materias primas y los diferenciales entre contratos en el mercado de futuros. En este sentido, se necesitan gráficos de instrumentos sintéticos. La idea es construir un gráfico de velas calculado con la diferencia de precios OHLC entre la gasolina (XRB) y el gasóleo de calefacción (HO), por ejemplo. Intenté resolver esta tarea utilizando mis propios recursos, ya que la fórmula de cálculo es sencilla: sólo hay que calcular la diferencia entre los precios de los instrumentos y guardar los valores obtenidos en un archivo histórico y utilizarlos de forma autónoma aplicándoles varios indicadores. Afortunadamente, existen varios scripts listos para escribir gráficos sintéticos, como PeriodConverter. Decidí empezar con uno sencillo. He intentado añadir el código que resta los precios de otro símbolo de los precios del gráfico (con la misma hora de apertura) para las barras correspondientes en el script especificado. Para no tener que escribir código para sincronizar las barras de dos instrumentos por su hora de apertura, introduje un parámetro que bloquea sólo las últimas, digamos, 50 barras para el cálculo, ya que en la mayoría de los casos estas últimas barras no deben sincronizarse ni por su hora de apertura ni por su indexación, pues ya están sincronizadas. He combinado intencionadamente las herramientas de forma que no se obtengan valores de precios negativos durante los cálculos porque, hasta donde yo sé, el terminal no los muestra en el gráfico. Esto es lo que tengo. Al abrir un gráfico sintético obtenido mediante el script actualizado en el modo autónomo, ¡el terminal no puede mostrar más de la mitad de las barras calculadas! Sin embargo, si la operación de sustracción de precios se sustituye por la operación de adición en el script, todas las barras calculadas se trazan. ¿Cuál es la diferencia entre las operaciones de suma y resta? Lo mismo ocurre con las operaciones de multiplicación y división: al multiplicar los precios correspondientes, las barras del gráfico sintético se muestran con normalidad, pero al dividir, ¡menos de la mitad de las barras vuelven a aparecer! Se puede decir que tal vez haya un cero en el denominador al dividir. Pero he comprobado las matrices calculadas con la función Comment y siempre da valores correctos, es decir, la operación de división por cero no estaba presente en mis pruebas. Y ahora estoy perplejo, no sé qué hacer con él.

¡Si no es difícil estimados profesionales, por favor asesorar en lo que se encuentra el perro! Adjunto mi trabajo creativo. Mira el código, por favor, lo que hay que añadir o cambiar para que el script funcione normalmente. Al menos debería conseguir unos gráficos independientes, no es necesario que se actualicen en tiempo real, ya que la operativa de spreads se suele hacer a medio plazo, en términos de días a semanas, por lo que la velocidad de dibujo de los gráficos no es crítica. ¿O tal vez la idea de crear estos gráficos no es factible en absoluto?

Archivos adjuntos:
 
hoz:

Entonces, ¿cómo cambiará la lógica al mover un paréntesis hacia abajo en una línea? Al fin y al cabo, la estructura del código seguirá siendo la misma y la lógica también...

esto es cierto, pero no es esto lo que es diferente en la versión concisa. En el primer caso, primero se miraba el valor de la variable n y luego el de ind. La diferencia es que después de comparar n comprobaremos de todos modos el valor de ind. Pero si empezamos por comprobar ind y luego n, el número de operaciones se reducirá en un 45-49%, porque ind está vacío en la mayoría de los casos.
 
Chicos, recordadme dónde mirar el calendario de operaciones de Año Nuevo y las condiciones de negociación... Los diferenciales probablemente se multiplicarán por 5 y los requisitos de margen
 

¿Alguien sabe cómo hacer que los editores de hojas de cálculo gratuitas como OpenOffice o LibreOffice no borren el primer cero del formato de texto?

He leído todo lo que he podido en la web. No he encontrado nada. ¿Por qué todos los editores similares están configurados de esa manera? Además, en todos los editores está escrito que el formato de texto da salida a todo lo escrito.

 
Zhunko:

¿Alguien sabe cómo hacer que los editores de hojas de cálculo gratuitas como OpenOffice o LibreOffice no borren el primer cero del formato de texto?

He leído todo lo que he podido en la web. No he encontrado nada. ¿Por qué todos los editores similares están configurados de esa manera? Además, en todos los editores está escrito que el formato de texto da salida a todo lo escrito.


¿Tal vez escribir entre comillas? ""
 
keep87:

Esto es cierto, pero esto no es lo que es diferente en la versión concisa. En el primer caso se mira primero el valor de n y luego el de ind. y en el segundo caso es al revés. La diferencia es que después de comparar n comprobaremos de todos modos el valor de ind. Pero si empezamos por comprobar ind y luego n, el número de operaciones se reducirá en un 45-49%, porque ind está vacío en la mayoría de los casos.

¡Exactamente! Estoy sorprendido, de hecho. Ahora lo entiendo todo, gracias.
 
Replikant:

¡¡¡Gracias!!!

pero me temo que "un poco" no va a funcionar)) - Tengo una fórmula booleana de tres pisos con 16 parámetros de tipo bool)

Qué carga tienes... Toma int hasta 16 bits y recorre cada bit...

//|                                                         test.mq4 |
//|                              Copyright © 2012 Mikhail Kozhemyako |
//|                                               ua3xcm@obninsk.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012 Mikhail Kozhemyako"
#property link      "ua3xcm@obninsk.com"
extern  int Биты=0;
bool СработалоУсловие№_i;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
   int i;
   int Сдвиг=1;
// Гденить здесь нужно определиться с вашими условиями
   for(i=0;i<=15;i++)
    {
     if(СработалоУсловие№_i)
      {
       Биты=Биты | Сдвиг;
      }
     Сдвиг=Сдвиг << 1; 
    }
   for(i=0;i<=15;i++)
    {
     if(0x0001 & Биты == 1)
      {
       // Делать что-то по условию i
      }
     Биты = Биты >> 1;
    }
   return(0);
  }

Y en el probador, establece la variable de bits perobore de 0 a 65535 en incrementos de 1.

No sé, lo he hecho, creo que debería funcionar....

 
¡Buenas noches! Dime, en la captura de pantalla de la prueba dice el porcentaje de operaciones cortas ganadoras0. Estos se venden, ¿no? ¿Así que supongo que ninguno de ellos era rentable? ¿Indica esto un desequilibrio pronunciado?
 
Dimka-novitsek:
¡Buenas noches! Dime, en la captura de pantalla de la prueba dice el porcentaje de operaciones cortas ganadoras0. Estos se venden, ¿no? ¿Así que supongo que ninguno de ellos era rentable? ¿Indica esto un desequilibrio pronunciado?

Sí, lo hace Corto-Venta-Corto. Pero tal vez no los tenías abiertos por alguna razón.
 
chief2000:

¿Debo escribirlo entre comillas? ""

¿Cómo se procesa esto? ¿Un formato especial para los programas torcidos? Algunas informaciones están entrecomilladas, otras sin... ¿O todo está entre comillas?

De alguna manera es incorrecto escribir ceros entre comillas si se trata de un texto. En los archivos CSV todo es texto. Es el usuario quien decide qué y cómo procesar, no el editor.

En el caso de Excel, hay una opción para poner un apóstrofe delante del texto. Resuelve todos los problemas de visualización, pero no el contenido. ¿Por qué el carácter extra?

Razón de la queja: