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

 
Maxim Kuznetsov:
tal vez se le indicó que escribiera el kernel-engine... para que no se distrajera con el foro :-)

La siguiente tarea, por lo que recuerdo, era escribir en un lienzo.

"Escribiré en un lienzo después de acostarme en un colchón" ))))

 
Реter Konow:

George, no entiendo, ¿qué tiene que ver mi enfoque con esto? Estoy proporcionando una interfaz de conexión GUI, que se crea con un lenguaje de marcado ligero. ¿Quién y por qué querría aprender mi enfoque?

Todo lo que ofrezco es mucho más fácil que el más simple MQL.

No lo es. Lo he mirado y es más complicado. Es porque tienes un montón de oportunidades a la vez, en las que tienes que recordar qué, dónde, dónde y cómo. Y mi memoria es mucho peor que la tuya. Así que -para los que se acuerdan de todo- realmente no es complicado. ¿Y para los que no se acuerdan?

Su lenguaje de marcado es sólo un ejemplo de su enfoque, cuando "todo está siempre disponible".

Pero, de nuevo, la cuestión no es si este lenguaje de marcado es bueno, si el enfoque es bueno, si la implementación es buena.

La cuestión principal debe ser quién lo necesita, quién es el público objetivo.

Lo he dicho más de una vez: no lo veo. Usted objetó que "aparecerá". Bueno... esperamos...

 
El sistema puede funcionar mal. Lo sé por mi trabajo. :) Gracias por su apoyo. Ahora voy a exigir que todos sean desbaneados también. (Por si acaso. Por si acaso por error. :))
 
Georgiy Merts:

No, no lo es. He mirado - y veo que es más complicado que eso. Precisamente porque se presentan muchas oportunidades a la vez, en las que hay que recordar el qué, el dónde, el dónde y el cómo. Y mi memoria es mucho peor que la tuya. Así que -para los que se acuerdan de todo- realmente no es complicado. ¿Y para los que no se acuerdan?

Su lenguaje de marcado es sólo un ejemplo de su enfoque, cuando "todo está siempre disponible".

Pero, de nuevo, la cuestión no es si este lenguaje de marcado es bueno, si el enfoque es bueno, si la implementación es buena.

La cuestión principal debe ser quién lo necesita, quién es el público objetivo.

Lo he dicho más de una vez: no lo veo. Usted objetó que "aparecerá". Bueno... esperamos...

Vasiliy Sokolov:

Lo siento Piotr, pero todo lo que has presentado hasta ahora son unas líneas infernales de programa MQL con decenas de parámetros y llamadas de cosas desconocidas. Si esto es un prototipo de su lenguaje de marcado, ya estoy asustado.

Bueno, aquí hay una solución con dos ventanas ayer. He aquí un ejemplo de su código en el lenguaje de marcas:

(Lo que es tan infernalmente complicado aquí, sinceramente no lo veo).

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------


//-----------------------------------------------------------------
GROUP,A, 

__, BOARD,"Enter text",   

END_GROUP,
//----------------------------------
"Enter text", H_C2C,  "Edit box 1", 0,
"Enter text", ON_LEFT,"Edit box 1", -20,
//-----------------------------------------------------------------


//====================================================================================================================
END_WINDOW,


//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 2",  W_ICON,99,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================

GROUP, A,

__, T_BOX,"T_1",
             "This window's",
             "appearance controlled",
             "by user's programm.",
             END,

END_GROUP,
//----------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
"T_1",FONT_SIZE,20,
"T_1",text,N_COLOR,(int)C'255,110,10',
"T_1",text,TEXT_FONT,"Arial Bold",
"T_1",N_COLOR,(int)C'240,240,240',

//====================================================================================================================
END_WINDOW,

Por supuesto, no todo está claro sin explicaciones, pero incluso sin ellas se puede entender mucho de golpe (como me parece a mí...).

 

Y el resultado:


 
Реter Konow:

Qué tiene de infernalmente complicado, sinceramente no lo veo.

No he dicho "muchísimo". He dicho que hay que memorizar mucho.

Mientras estés trabajando en el proyecto en sí, miras la descripción y no es tan crítica. Lo guardas todo en tu cabeza. Pero ahora que has hecho la interfaz, pasas a otras áreas. Y luego, un mes después, tienes que cambiar algo. Lo abres y te das cuenta de que no entiendes nada, y tienes que volver a entenderlo todo.

Una cosa es cuando la estructura de la propia descripción es tal que simplemente no se puede mezclar físicamente algo. Simplemente porque si haces algo "mal", el proyecto no compila. Y otra cosa es cuando se pueden mezclar fácilmente las cosas, pero nadie te detiene, repasas el código - "todo parece estar bien", y luego se encuentra el error en el momento más inoportuno.


Pero no son problemas realmente graves. Tu principal problema, Peter, es el público objetivo. No hay ninguno.

 
Georgiy Merts:

....

Pero, nada de esto es realmente un gran problema. Tu principal problema, Peter, es el público objetivo. No hay ninguno.

Sabes, George, tenía un proyecto en mente en el que decidí hacer algo masivo. Es decir, esperaba un público objetivo de todos los usuarios de MQL.

Tal vez me equivoque. Tal vez no lo necesite tanta gente. Quién sabe... La vida lo demostrará...)

 
Реter Konow:

Tal vez me equivoque. Quizá no lo necesite mucha gente. Quién sabe... La vida lo dirá...))

Para eso está la "opción B".

Como siempre, puedo citar mi propia Liga como ejemplo: al principio pensé que se interesarían por ella y me ayudarían a optimizarla. Sólo respondieron dos personas. Pero he tenido la "opción B" - me he comprado un ordenador nuevo, y ya no necesito la ayuda de nadie, porque he creado la Liga por mí mismo en no poca medida - para tener siempre un "pool de TSs", que han estado trabajando en la demo durante algún tiempo. Y la tengo ahora, estudiando la posibilidad de seleccionar la mejor de ellas de verdad.

De la misma manera que usted lo necesita: para que el resultado de su proyecto le sea útil. Luego lo usas y presumes de ello ante los participantes. Si alguien muestra interés, lo compartes con ellos (o lo vendes). Si no aparecen, lo necesitas tú. En cualquier caso, tú ganas.

 
Реter Konow:

(Lo que es tan infernalmente complicado, sinceramente no lo veo).

//+------------------------------------------------------------------+
//|                                               Forum sample 2.mqh |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------

...

¿Lo preguntas de verdad o estás bromeando? Tienes una cadena infernal de cientos de definiciones de variables que quieres hacer pasar por una especie de tabla. La propia pseudo-tabla está torcida, sin estructura, y contiene oscuros acrónimos.

Y eso es lo que es:

void Sync_params(int ID){for(int a1 = 0; a1 < All_params; a1++){if((int)P_CORE[a1][_SYNC_ID] == ID){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];}}}
void Sync_P_CORE(){for(int a1 = 0; a1 < All_params; a1++){if(P_CORE[a1][_CURRENT_VALUE] != P_CORE[a1][_NEW_VALUE]){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];if(P_CORE[a1][_SYNC_ID] != NULL)Sync_params((int)P_CORE[a1][_SYNC_ID]);EventChartCustom(0,_SYNC_P_CORE,(int)P_CORE[a1][_ELEMENT],0,P_CORE[a1][_CURRENT_VALUE]);}}}

¿Se le ocurrió este formato a usted mismo? Bien por ti, tienes todas las posibilidades de conseguir el primer puesto en ioccc.org.

Pero amigo, tú no escribes así. EN TODO. Nadie puede usar este código.

The International Obfuscated C Code Contest
  • ioccc.org
International Obfuscated C Code Contest
 
Vasiliy Sokolov:

Pero amigo, tú no escribes así. EN TODO. Nadie puede usar ese código.

Vasiliy, ¡¡¡no toques a Peter!!!

No te metas en el camino del hombre.

Quiero ver el público objetivo!!! Alguien dirá "adjunté esta biblioteca a mi Asesor Experto y la uso"!