Mi enfoque. El núcleo es el motor. - página 89

 
Реter Konow:

Demostrar un ejemplo de trabajo.

Por lo tanto, puede utilizar la unión para traducir TODOS los tipos (incluida la cadena) a uint .

De lo contrario, son sólo palabras vacías.

¿Montando en el conocimiento de otra persona? ¿Y luego inflar las mejillas diciendo que lo hiciste todo tú?

¿No puedes estudiar y hacerlo tú mismo?

Todo se ha masticado, se te ha dado, se te ha mostrado.

Lo que he resaltado parece -como dijo realmente Nikolay- un jardín de infancia: "No creo..., y mi papá le pegará a tu papá, y mi mamá le pegará a tu mamá...".

 
Реter Konow:

Así que muéstrame tu ejemplo. ¿Cómo se evita la conversión de cadenas a uint mediante la unión para almacenarla en un recurso?

Entonces, de qué sirve mostrarte, si para ti serán "sólo palabras", "complicación de la arquitectura" y "la velocidad será más o menos la misma". Ya se ha decidido de antemano. No quieres aprender nada nuevo, pero tienes un gran aplomo.

 
Artyom Trishkin:


Esto es un argumento.

Ofrecí una solución. Todo el mundo ha arremetido contra ella, pero no ha mostrado la suya. Como, "ve a ver el código de fxsaber, ve a leer la ayuda...".

Aww. Chicos)))

 
Реter Konow:

Esto es un argumento.

Ofrecí una solución. Todo el mundo ha arremetido contra ella, pero no ha mostrado la suya. Como, "ve a ver el código de fxsaber, ve a leer la ayuda...".

Aww. Chicos)))

Esto no es un argumento. Es una disección de su decisión intuitiva.

No lo discuto, puedes plantar un árbol en una maceta al revés, idear un sistema para regarlo, un sistema para almacenar el agua de lluvia y rociarla en la maceta al revés, un sistema para mantener la tierra en esa maceta al revés, un sistema para iluminar de abajo hacia arriba, y alegar que esta solución intuitiva es la más correcta y más eficaz, y cuando la gente te dice que mirar por la ventana, y no compostiruyut cerebro - allí - fuera de la ventana - hay ejemplos vivos de cómo mejor, usted, fumando una pipa en cojines de satén, transmitir algo de la zona de "levantar mis párpados - no puede ver, mostrarme, y todo esto palabras vacías" ... Lo siento, eso parece gracioso.

Voy a buscar palomitas.

 

La pregunta principal sigue sin respuesta:

¿Cómo se puede convertir un conjunto de datos de diferentes tipos, sin pasar por la conversión a cadena, a uint mediante la unión, para almacenarlo en un recurso?


Estimados opositores. Has arremetido contra mi solución refiriéndote específicamente al uso de UNION para traducir TODOS los datos a UINT.


NO SE PROPORCIONÓ NINGÚN EJEMPLO. HASTA AHORA TODO ES INFUNDADO.


En consecuencia, por ahora queda una conclusión:mi solución fue arremetida, según los prejuicios inherentes a los programadores.

Si la solución se demuestra, entonces es indudablemente mejor. Lo reconozco inmediatamente.

 
Реter Konow:

Esto es un argumento.

Ofrecí una solución. Todo el mundo ha arremetido contra ella, pero no ha mostrado la suya. Como, "ve a ver el código de fxsaber, ve a leer la ayuda...".

Aww. Chicos)))

Peter, te lo he dicho muchas veces: el problema de tu enfoque es la extrema estrechez de tu público objetivo. Ni siquiera tiene un producto "nicho", sino simplemente un "hueco": gente que es bastante buena programando, pero que prefiere comerciar "con las manos".

Míralo: te opones sobre todo a los codificadores, para quienes tu enfoque es incluso bastante comprensible, pero muy inconveniente. Por eso quieren ver "logros reales", "producto real": no van a utilizar tu enfoque, pero les interesa como opción, así que quieren evaluar "si tu enfoque vale la pena", si los inconvenientes de tu enfoque valen la pena el beneficio que puede dar.

Y necesitas a otros: los verdaderos comerciantes, que comercian con sus manos. Al mismo tiempo, son bastante buenos programadores. Son capaces de escribir un simple Asesor Experto, pero les cuesta entender cómo trabajar con objetos gráficos. Y hasta ahora no los veo. Por eso sus desarrollos no son un éxito, sino que son constantemente criticados. No es el público adecuado.

Usted dijo algo así como "tenemos que educarlos" - pero entonces seguramente necesita demostrar sus logros en el comercio - por lo menos una cuenta demo con un crecimiento constante de la Equidad, que se obtiene a través de este comercio muy "manual" utilizando objetos visuales de su biblioteca.
 

Varios parámetros se modifican en el lado de la EA. Sus valores deben ser pasados al motor.

Parámetros de TODOS los tipos. Y la cuerda también. Los valores a pasar son de matrices de enteros.

  1. O convertir todo en cadena y escribir en las descripciones de los objetos.
  2. O convertirlos todos a cadena, dividirlos y pasarlos por partes usando OnChartEvent().
  3. O convertir todo a cadena y convertir a char y almacenar en el recurso.
  4. O convertir todo a uint a través de una unión y almacenar en el recurso.

Pregunta:

  1. ¿Cuál de estos trabajos es el más rápido?
  2. ¿Cuál de ellos no funciona en absoluto?

ZS. Sospecho que el punto 4 no funciona en absoluto.

 
Georgiy Merts:

Peter, te lo he dicho más de una vez: el problema de tu enfoque es la extrema estrechez de tu público objetivo. Ni siquiera tiene un producto "nicho", sino sólo un "hueco": gente que es buena programando, pero que prefiere comerciar "con las manos".

Míralo: te opones sobre todo a los codificadores, para quienes tu enfoque es incluso bastante comprensible, pero muy inconveniente. Por eso quieren ver "logros reales", "producto real": no van a utilizar tu enfoque, pero les interesa como opción, así que quieren evaluar "si tu enfoque merece la pena", si el beneficio que puede dar potencialmente merece la pena.

Y necesitas a otros: los verdaderos comerciantes, que comercian con sus manos. Al mismo tiempo, son bastante buenos programadores. Que son capaces de escribir un simple Asesor Experto, pero que tienen dificultades para trabajar con objetos gráficos. Y hasta ahora no los veo. Por eso sus desarrollos no son un éxito, sino que son constantemente criticados. No es el público adecuado.

Hay un público. Sólo en otros sitios. He visto un sitio, o más bien uno de mis clientes me lo contó, en el que deliraban con deleite sobre el código de uno de mis expertos, que escribí para un cliente, y el cliente (no el que me dio la dirección para esta discusión) lo publicó allí con la petición de añadir las nuevas características de forma gratuita. La gente se sorprendió por los enfoques estándar. Allí -entre el público de la escuela- Pedro puede rascarse el ego: allí será un dios.

 
Реter Konow:

¿Cómo puedo evitar la conversión de cadenas a uint a través de la unión para almacenar en un recurso?

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bibliotecas: TradeTransactions

fxsaber, 2018.12.17 23:48

Puedes intercambiar cualquier cosa a través de Recursos.

// Пример обмена любыми данными (включая строковые массивы).

#include <fxsaber\TradeTransactions\ResourceData.mqh> // https://www.mql5.com/ru/code/22166

#define  PRINT(A) Print(#A + " = " + (string)(A));

void OnStart()
{    
  // Произвольные данные для примера
  string Str[] = {"123", "Hello World!"};
  double Num = 5;
  MqlTick Tick = {0};
  Tick.bid = 1.23456;

  const RESOURCEDATA<uint> Resource; // Ресурс для обмена данными
  CONTAINER<uint> Container;         // Создаем контейнер - все будет храниться в массиве простого типа (в примере выбран uint)
  
  // Заполняем контейнер разными данными
  Container[0] = Str;
  Container[1] = Num;
  Container[2] = Tick;
    
  // Распечатаем типы хранимых в контейнере данных
  for (int i = 0; i < Container.GetAmount(); i++)
    PRINT(Container[i].GetType())

  Resource = Container.Data;  // Отправили данные на обмен
  
  CONTAINER<uint> Container2; // Сюда будем получать данные
  
  Resource.Get(Container2.Data); // Получили данные
      
  // Получим данные в исходном виде
  string Str2[];
  Container[0].Get(Str2);                // Получили массив
  ArrayPrint(Str2);

  PRINT(Container[1].Get<double>())      // Получили число
  PRINT(Container[2].Get<MqlTick>().bid) // Получили структуру  
}
 
Реter Konow:

Varios parámetros se modifican en el lado de la EA. Sus valores deben ser pasados al motor.

Parámetros de TODOS los tipos. Y la cuerda también. Los valores a pasar son de matrices de enteros.

  1. O convertir todo en cadena y escribir en las descripciones de los objetos.
  2. O convertirlos todos a cadena, dividirlos y pasarlos por partes usando OnChartEvent().
  3. O convertir todo a cadena y convertir a char y almacenar en el recurso.
  4. O convertir todo a uint a través de una unión y almacenar en el recurso.

Pregunta:

  1. ¿Cuál de estos trabajos es el más rápido?
  2. ¿Cuál de ellos no funciona en absoluto?

SZY. Sospecho que el punto 4 no funciona en absoluto.

Las únicas variables globales y los archivos para el intercambio de datos entre EAs, indicadores y scripts son

Los 4 puntos anteriores son "hacks" locales de la pesca. Los 4 puntos anteriores utilizan mecanismos que no están pensados para intercambiar datos arbitrarios, y mucho menos matrices de datos.

п1. El 100% lleva al bloqueo temporal del hilo de la interfaz (sí, los objetos viven allí y sus "descripciones" también) y no funciona en el optimizador. Las descripciones de los objetos sirven para describirlos de forma legible para el ser humano,

p2. n2. no funciona en el probador y el optimizador, y sirve para notificar eventos

P3. p4. los recursos (incluso los nombrados) están pensados para el almacenamiento a largo plazo, no para el intercambio rápido. No puedo decir nada sobre la usabilidad en el probador/optimizador :-) Utilizo recursos de sólo lectura

No tiene sentido hablar de la velocidad de las soluciones torcidas.

ps/ por cierto puedes usar archivos, más precisamente tuberías