Seleccione un símbolo en los ajustes - página 4

 
Alexey Viktorov:

... "¿Quién lo necesita?"

...Aquí hay bastante gente que también sabe dibujar caricaturas en la carta del terminal.

¡Exactamente! Están las cosas obvias del comercio y luego están los excesos.

La gente aquí se queja de que el terminal no conoce los errores que devuelve la Bolsa de Moscú. (Y llevan años quejándose...).

También hay una clara necesidad de tener una lista de pares activos (al menos desde la ventana de visión general del mercado) pero esto no está allí.

No hay forma de obtener explícitamente un tick de un par desde la ventana de visión general del mercado - hay que enviar algunos espías a algún lugar... (Sé cuáles y cómo, es fácil, pero es absurdo)

O no hay una posibilidad trivial de ordenar los resultados de la optimización... Todos los que optimizan algo tienen esa necesidad todo el tiempo... (sí, el excel es bueno, pero no es un terminal y es incómodo transferir la configuración de nuevo. Incluso se ha eliminado la posibilidad de copiar un determinado parámetro de los resultados de la optimización).

¿Qué es todo esto?

¿Para qué necesito la multidivisa en el terminal? ¡(o al menos la posibilidad potencial de múltiplos) cuando no hay cosas obvias de comercio!

Metaquotes no se ofenda, pero hay algo mal en la colocación... es un hecho. Esto es lo que escribo en base a mi experiencia en el uso de mql5. Si mql4 me hizo sentir que las funciones comerciales se han añadido a C, en mql 5 tanto el lenguaje como las funciones comerciales se han ahogado en el laberinto de la lógica intra-terminal. Pronto será como programar con api en windows...

Pero, en mi opinión, hay que acercarse a la vida. Y la vida son las necesidades del comercio. Por ejemplo, es una gran oportunidad para abrir una oferta en el terminal con un solo clic. Eso es genial.

Es decir, se mira a través de la pantalla y se obtiene la información necesaria. Haga clic con el ratón: abra una posición. Nada innecesario.

¿Por qué necesito saber cómo se transforma gradualmente una orden en una posición? Esta no es una pregunta de comerciante, es una cuestión interna. No se da una orden a los vasos para que se microcompriman después de cada latido. Y no se le da una orden a los intestinos de cómo trabajar. En mql, todos estos problemas intra-terminales se descargan en los programadores. Y hay que hacer un gran esfuerzo. Y no hay cosas obvias.

¿Y quieres otro dato curioso? Si usted hace todo el procesamiento correctamente, algunos de los cuales ya se ha descrito en los artículos, usted no encontrará el algoritmo de negociación en un robot de comercio tales... ¡Esto es serio! Esto es una especie de desequilibrio. Hasta ahora, mql5 es un juguete creado por programadores para programadores... Con una impresionante capacidad de programación por el bien de la programación.

Bueno, vale, creo que mucha gente ya lo ha contado en las metacitas, así que probablemente no tenga sentido escribir. Pero las impresiones se acumulan... Tuve que darles voz)). Es bueno para el sistema nervioso)).

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 

Vale, ese tema estaba un poco incompleto.

Así que tuve que hacer que el probador recogiera un par, además de otros valores.

Y para no escribir una construcción salvaje a partir de la escritura manual de cada par y mar de variables, estaba buscando una manera de hacerlo por medios estándar o de alguna manera más corta.

Y aquí está la variante final - puede ser útil para alguien... Que escribí y funciona.

1- En la ventana de resumen del mercado, active todos los símbolos y haga clic con el botón derecho del ratón - guardar. Obtenemos un archivo de texto con una lista. En mi caso sólo estaba el forex, así que si tienes algo más ahí, añade el procesamiento de eso tú mismo...

2- Pares del archivo, insertarlos en el enum. En la declaración de las variables del Asesor Experto escriba:

enum Enum_Symbol {AUDJPY,AUDUSD,CHFJPY,EURAUD,EURCAD,EURCHF,EURGBP,EURJPY,EURRUR,EURUSD,GBPAUD,GBPCAD,GBPCHF,GBPJPY,GBPUSD,USDCAD,USDCHF,USDJPY,USDRUR};
input Enum_Symbol       SIMBOL_1          = AUDUSD;   // Выбор пары для ...
input Enum_Symbol       SIMBOL_2          = AUDJPY;   // Выбор пары для ...

...

Eso es todo, el probador será capaz de buscar caracteres de la lista.

También es conveniente seleccionar el par en la lista desplegable de los ajustes. Tenga en cuenta que para optimizar, necesita instalar toda la lista inmediatamente en el programa antes de la primera compilación, porque los símbolos añadidos posteriormente podrían no ser visibles en la configuración final de la optimización... Esto es un "matiz". Si alguno de los metaquotes lee esto - puede corregir este error... Los moderadores vigilantes definitivamente lo leerán...

También hay que añadir algo a OnInit:

int OnInit()
{
...
//--- подключаем символы для тестера 
for(int i=0;i<SymbolsTotal(false);i++)
   {
   string name = SymbolName(i,false);
   SymbolSelect(name,false);
   Print (" i = ", i,"     name = ", name);   
   }
...
}

En el propio programa, la obtención del carácter seleccionado en una variable de cadena tiene el siguiente aspecto:

string SymbolCur = SymbolName(DoubleToString(SIMBOL_1,0),false);


Naturalmente, hay matices, traigo la aplicación para que se adapte a mis propósitos...

De las operaciones manuales, sólo una vez (para cada corredor) guardando el archivo de texto y arreglando las comas en él, antes de copiar a enum.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Переменные должны быть объявлены перед их использованием. Для идентификации переменных используются уникальные имена. Описания переменных используются для их определения и объявления типов. Описание не является оператором. Индексом массива может быть только целое число. Допускаются не более чем четырехмерные массивы. Нумерация элементов...
 
Зачем мне знать, как там ордер превращается постепенно в позицию. Это не трейдерский вопрос, это внутритерминальный вопрос!
Esta no es una pregunta de comerciante, sino de software. Si quieres ser un comerciante puro, no te metas en la programación y escribe tu TOR para profesionales. La mayoría de los problemas de los que te quejas en los posts anteriores tienen una solución sencilla.
 
Aleksey Mavrin:

Dímelo a mí.

Si eres un programador y has venido aquí para ganar algo de dinero programando - entonces indiscutiblemente¡!

Pero si hay que describir una idea de la forma más sencilla, ¡tenemos degradación! Pero sinceramente no quiero discutirlo. Usted mismo es consciente de ello. Y tú escribes - defendiendo tu nicho de programación.

Pongo una solicitud para ser autónomo y yo mismo escribo... Una cosa no impide la otra.

Oops)) ¿Y qué pasaría si anunciara los resultados del freelancing)))) Pero Shhh Esas cosas no se pueden decir en voz alta)))

Y las metacitas, en general, bien hechas, por supuesto. Quieres escribirlo tú mismo. Si lo desea, pídalo. Todo el mundo está contento, tanto los programadores como los comerciantes)) Así es como debe ser, dan oportunidades a todos con sus actividades.

¡Muchas gracias por una buena historia! Tienen más que suficiente para compensar todas las demás meteduras de pata. Pero también estaría bien arreglarlas.

Incluso recomendaría no mejorar nada todavía, y dopilit disponible.

Pero ellos lo saben mejor))

 
Михаил:

Realmente, qué hay que discutir si guardas los caracteres en un archivo y los copias desde allí al código antes de compilar.

Y en base a esas acciones hablas de "deficiencias" del terminal.

No es nada personal, simplemente eres muy débil como programador, te deseo que crezcas y te desarrolles. Buena suerte.

 
Aleksey Mavrin:

Qué hay que discutir si guardas los caracteres en un archivo y los copias desde allí al código antes de compilar.

Y en base a esas acciones hablas de "deficiencias" del terminal.

No es nada personal, simplemente eres muy débil como programador, te deseo que crezcas y te desarrolles. ¡Bien!

Lo has entendido mal. No soy programador, ni por trabajo ni por formación.

Esto no me impide escribir todo lo que necesito para microcontroladores, o para android, o en mql4 mql5. Incluso escribí en código 16 y ensamblador... ¿Has estado escribiendo) en código? En realidad, ¿16 códigos de riqueza? No es un lenguaje de alto nivel, hay que saber cómo se configura y funciona la CPU...

Llamar a un listado local un código es una risa...

No necesito ningún truco, un código óptimo y directo. Pero en mi código la lógica suele ser más compleja que en otros y es más eficiente. Aunque no puedo competir con los programadores profesionales, por supuesto)) Pero es su pan de cada día, mientras que para mí es sólo un segundo pasatiempo. Ni siquiera es mi principal afición. Puedo soldar metal fino con un soldador y no quemarlo, puedo escribir un programa con un montón de cosas... diseñar y ensamblar sistemas electrónicos sencillos... ¡Nada de eso es mi trabajo! )) No me interesa encajar en reglas lingüísticas sin sentido, me interesa el resultado. Y si tienes que ir a ella en bucles, es una pena. Era más fácil en µl4. Y no veo ninguna razón objetiva para hacerlo más complicado.

En cuanto al tema de este hilo) Sugiere una solución mejor.

El propósito que he descrito - para que antes de ejecutar el programa, puede seleccionar en los parámetros de optimización pares de la lista.

Y también, para queel probador pueda pasar por los pares- ¡este es el principal!

Las opciones de los especialistas de kodobase no ofrecen)) Mi solución es la cima de la elegancia en comparación con las soluciones de kodobase...

Es fácil criticar.

¡Has dicho que mi implementación es mala! Sugiere uno mejor. Se lo agradeceré.

Porque algún día volveré a la multidivisa... tal vez.

O escribe: "No se me ocurre nada mejor, ¡lo siento!".

Y sí, no acepto encargos paraescribir programas, no como programadores))
Как заказать торгового робота на MQL5 и MQL4
Как заказать торгового робота на MQL5 и MQL4
  • www.mql5.com
Главным преимуществом торговых терминалов MetaTrader является возможность создания автоматических торговых систем, способных совершать торговые операции без вмешательства трейдера, что позволяет исключить влияние психологии на результаты торговли. Для этого нужно сформулировать торговую стратегию и реализовать ее в виде программы на языке MQL...
 
Михаил:

¡No lo entiendes! No soy programador, ni por trabajo ni por formación.

Eso no me impide escribir todo lo que necesito para microcontroladores o para android, o en mql4 mql5. Incluso escribí en código 16 y ensamblador... ¿Has estado escribiendo) en código? En realidad, ¿16 códigos de riqueza? No es un lenguaje de alto nivel, hay que saber cómo se configura y funciona la CPU...

Llamar a un listado local un código es una risa...

No necesito ningún truco, un código óptimo y directo. Pero en mi código la lógica suele ser más compleja que en otros y es más eficiente. Aunque no puedo competir con los programadores profesionales, por supuesto)) Pero es su pan de cada día, mientras que para mí es sólo un segundo pasatiempo. Ni siquiera es mi principal afición. Puedo soldar metal fino con un soldador y no quemarlo, puedo escribir un programa con un montón de cosas... diseñar y ensamblar sistemas electrónicos sencillos... ¡Nada de eso es mi trabajo! )) No me interesa encajar en reglas lingüísticas sin sentido, me interesa el resultado. Y si tienes que ir a ella en bucles, es una pena. Era más fácil en µl4. Y no veo ninguna razón objetiva para hacerlo más complicado.

En cuanto al tema de este hilo) Sugiere una solución mejor.

El propósito que he descrito - para que antes de ejecutar el programa, puede seleccionar en los parámetros de optimización pares de la lista.

Y también, que el probador pueda pasar por los pares- ¡este es el principal!

No ofrecer variantes de especialistas en kodobase)) Mi solución es la cima de la elegancia en comparación con las soluciones de kodobase...

Es fácil criticar.

¡Has dicho que mi implementación es mala! Sugiere uno mejor. Se lo agradeceré.

Porque algún día volveré a la multidivisa... tal vez.

O escribe: "No se me ocurre nada mejor, ¡lo siento!".

Y sí, no acepto encargos paraescribir programas, no como programadores))

En caso de que te lo preguntes, yo también hice mis pinitos con el ensamblador en mis años de estudiante, pero en serio sólo escribí en C, C++, con SQL en Postgre. Y sólo fue para mi tesis, pero el proyecto era más o menos serio, sistema CAD, lo que sea)

Me alegro de que seas una persona versátil) Sabes que las biblias en C y otros lenguajes son mucho más complicadas que MQL5, es mucho más fácil imho. Ya sabes, sobre tu nivel - en tus posts se mencionaron los problemas, la solución de los cuales es simple, pero regañaste el terminal y MQL, es decir, en lugar de aprender a hacer y desarrollar, regañas el trabajo de los demás, aunque no sin defectos, pero un trabajo tan duro. Este enfoque me resulta extraño e incomprensible. Pero tal vez sólo fue una impresión y me equivoqué.

En cuanto al tema - ya he olvidado los matices, y soy demasiado perezoso para leer y digerir. En resumen - si usted quiere hacer una búsqueda de todos los personajes durante la optimización - a continuación, en OnInit por número, el parámetro de entrada es sólo el número de un símbolo, dos, tres, como se utiliza en el tablero.

Si usted selecciona manualmente los símbolos específicos para automatizar - entonces su solución es mala, porque cuando se cambia el corredor con otros símbolos tienen que cambiar el código. Es más fácil introducir manualmente dos símbolos. Si le da pereza introducir los símbolos, puede introducir su número en el resumen del mercado.

 
Aleksey Mavrin:

Si le da pereza teclear los caracteres, numérelos en la revisión del mercado.

No están en el comprobador de la revisión del mercado hasta que se les consulta directamente por su nombre.


Michael:

¡Has dicho que mi implementación es mala! Sugiere uno mejor. Se lo agradeceré.

¿Combinación de todas las monedas conocidas en el enum + sufijo como parámetro de cadena?

 
Aleksey Mavrin:

En cuanto al tema... ya he olvidado los matices y me da pereza leer y ponerme a ello.

Buen conversador)) Y tú me estás juzgando))

A tu manera... los números están muy lejos de las parejas. Es un inconveniente. Y está bien si son pocos pares, pero si necesitas todos los pares... Y por cierto, ¿estás seguro de que no lo necesitas?

Sí, puede averiguar cuántos pares hay en la ventana y descartar los valores adicionales suministrados por el probador... Pero ya se ha lanzado por la tubería, es decir, opciones de optimización menos útiles.

Además, durante la optimización, no se sabe en qué par se está ejecutando el proceso. Hay que abrir una ventana y contar, contar y contar. ¿No se quedará estancado?

En mi caso, sólo hay que copiar y pegar, una vez para el corredor y ya está...

¿Me estás criticando?

O bien copiar y pegar una vez y trabajar libre, cómoda y claramente en el futuro, o bien contar constantemente los números en la ventana de resumen del mercado... Esto es una especie de adicción al trabajo, en el plano ))))

Aleksey Mavrin
Aleksey Mavrin
  • www.mql5.com
Добавил тему Оптимизация. Граничные Условия Параметров Решаю задачку о автоматизации проверки стратегий, это типа как тут в соседней ветке описывалось, но по другому. Проблема :Разные стратегии имеют разный набор по кол-ву и типам оптимизируемых параметров. Решение:Нормировать все параметры к диапазону Добавил тему Вечерние размышления о...
 
Andrey Khatimlianskii:

¿Combinación de todas las monedas conocidas en el enum + sufijo como parámetro de cadena?

Sí, también es una opción, más ilustrativa que la de Alexey. Pero los conjuntos son diferentes para los corredores. Probablemente, habrá combinaciones no utilizadas, lo que reducirá la eficiencia del probador...

Sí, y las divisas tienen que encontrar y anotar, es más difícil que una copia única. Yo personalmente)) Estaba pensando en esta opción.

Tal vez alguien conozca alguna otra opción)))