Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
He creado una plantilla estándar. Es donde empecé a escribir el código, y aquí he empezado a publicar los fragmentos ya escritos. No había pensado en el marco del algoritmo con mis propias funciones, ¡gracias por el consejo! ¡También gracias por el consejo sobre la cuenta de red!
Existe una técnica de alfabetización que permite escribir de forma muy rápida e inteligible.
En general, en estilo literario, escribe en los comentarios lo que vas a hacer (sólo la secuencia directa principal)
// тралим стоп-лосс единственного ордера по сигналу от тиков
// прим.) трал - подтягиваем стоп-лосс следом за ценой,
void TrallOnTick() {
// берём рыночный ордер (для 5-ки позицию)
// смотрим сколько пунктов от текущей цены до стоп-лосс
// если больше чем требуемая дистанция
// переносим стоп-лосс
}
Básicamente todo. Además, después de cada comentario se escribe un código de 3-5 (un poco en general) líneas. Toda su función, de principio a fin, debe caber en la pantalla que ve. Si obtienes más, significa que los fragmentos deben ser separados en funciones/métodos separados.
Cuando una cosa tan elemental empieza a funcionar en el probador, se puede generalizar, añadir condiciones de la vida real, cambio de paso o frecuencia por ejemplo, tener en cuenta las condiciones del mercado, no hay límite a la perfección...
abstracto, existe una técnica de alfabetización que permite escribir con gran rapidez y claridad.
En general, en estilo literario, escribe en los comentarios lo que vas a hacer (sólo la secuencia directa principal)
// тралим стоп-лосс единственного ордера по сигналу от тиков
// прим.) трал - подтягиваем стоп-лосс следом за ценой,
void TrallOnTick() {
// берём рыночный ордер (для 5-ки позицию)
// смотрим сколько пунктов от текущей цены до стоп-лосс
// если больше чем требуемая дистанция
// переносим стоп-лосс
}
Básicamente todo. Además, después de cada comentario se escribe un código de 3-5 (un poco en general) líneas. Toda su función, de principio a fin, debe caber en la pantalla que ve. Si obtienes más, significa que los fragmentos deben ser separados en funciones/métodos separados.
Cuando una cosa tan elemental empieza a funcionar en el probador, se puede generalizar, añadir condiciones de la vida real, cambio de paso o frecuencia por ejemplo, tener en cuenta las condiciones del mercado, no hay límite a la perfección...
¡Hola Maxim! ¡Eres muy útil con tu consejo! Estoy aquí sentado preguntándome cómo rellenar una plantilla estándar de EA.
Saludos, Vladimir.
Estimados expertos en programación
Por favor, explique dos cuestiones:
Tal vez tengo una comprensión errónea de la aplicación de los números mágicos en la programación en absoluto.
Saludos, Vladimir.
Cuando una orden es aceptada para su ejecución todas sus características (símbolo, hora, tipo de orden, ticket) son asignadas por el terminal (solicitadas por el usuario y asignadas por el terminal) y no por el usuario y lo mismo con la posición, la posición almacena información sobre sus órdenes pero puede haber muchas. Y el número mágico es un identificador de usuario. Cita:
Cuando creamos una nueva solicitud pendiente, necesitamos marcarla de alguna manera - para que el programa pueda saber que esta orden particular fue colocada por NAMI en esta solicitud pendiente particular - es decir, necesitamos identificar y asociar de manera única una orden o posición con una solicitud pendiente particular.
NAMI falta en el significado. Y entonces Artem pone la clasificación de las órdenes en el número de Magik. Por qué no, los 2 primeros dígitos indican algo, por ejemplo, el tipo de pedido, los 4 dígitos siguientes indican la fecha del pedido.
En cuanto al algoritmo de algo. Definir inicialmente las condiciones iniciales. Hay órdenes en nuestro símbolo y no las tenemos en cuenta o las tenemos en cuenta. Sin condiciones iniciales retrabajo al crear el algoritmo, y más aún el código puede ser eterno)
abstracto, existe una técnica de alfabetización que permite escribir con gran rapidez y claridad.
En general, estilo alfabetización-programación, escribe en los comentarios lo que vas a hacer (sólo la secuencia directa principal) ...
... Básicamente todo. A continuación, después de cada comentario se escribe código de 3 a 5 (no mucho en general) líneas. Toda la función, desde el principio hasta el final, debe caber en la pantalla que ves. Si se obtienen más, significa que hay que separar los fragmentos en funciones/métodos distintos.
Maxim, por favor, comprueba si he entendido bien tu sugerencia o hay algo más que deba añadir. Me refiero a la parte de la prueba, porque aún no he escrito los códigos.
Saludos, Vladimir.
Maxim, por favor, mira si he entendido bien tu sugerencia, o hay algo más que deba añadir? Me refiero a la parte de la prueba, aparte de los códigos.
Sinceramente, Vladimir.
Condiciones iniciales. Calculamos que hay una posición en nuestro símbolo y la vemos en el gráfico.
Si tenemos una posición, es sólo una, ya sea comprar o vender. Por lo tanto, empezamos por buscar posiciones en nuestro símbolo. Solicitar / obtener características. Determinación del tipo de posición: comprar o vender. Y así sucesivamente a través del texto.
Cuando una orden es aceptada para su ejecución todas sus características (símbolo, hora de emisión, tipo de orden, ticket) son asignadas por el terminal (solicitadas por el usuario y asignadas por el terminal), no por el usuario, y lo mismo con la posición, la posición almacena información sobre sus órdenes, pero pueden ser muchas. Y el número mágico es un identificador de usuario. Cita:
Cuando creamos una nueva solicitud pendiente, necesitamos marcarla de alguna manera - para que el programa pueda saber que esta orden particular fue colocada por NAMI en esta solicitud pendiente particular - es decir, necesitamos identificar y asociar de manera única una orden o posición con una solicitud pendiente particular.
NAMI falta en el significado. Y entonces Artem pone la clasificación de las órdenes en el número de Magik. Por qué no, los 2 primeros dígitos indican algo, por ejemplo, el tipo de pedido, los 4 dígitos siguientes indican la fecha del pedido.
En cuanto al algoritmo de algo. Definir inicialmente las condiciones iniciales. Hay órdenes en nuestro símbolo y no las tenemos en cuenta o las tenemos en cuenta. Sin las condiciones iniciales retrabajo al crear el algoritmo, y más aún, el código puede tomar para siempre)
Gracias, Valeriy, por la detallada respuesta. Muchas cosas se han aclarado. Opino lo mismo sobre el algoritmo, pero Vassily ya ha explicado por qué no necesitamos el Número Mágico en este EA.
Saludos, Vladimir
Gracias, Valery, por la detallada respuesta. Ha aclarado mucho. Tengo la misma opinión sobre el algoritmo, pero Vasiliy ya ha explicado por qué no necesitamos Magic Number en este EA.
Sinceramente, Vladimir.
Abrimos un gráfico y hay una posición en el símbolo del gráfico, no sabemos cuál es y queremos abrirla en el punto de equilibrio y luego arrastrar el SL para reducir las pérdidas en caso de que el precio se revierta.
Con las correcciones de Valery, la plantilla de EA con comentarios ha adquirido un nuevo aspecto.
Saludos, Vladimir.
Vladimir, no tienes que aprovecharlo por mucho tiempo. Pasemos a la acción. He escrito una plantilla de la cola deseada para usted:
Todo lo que hay que hacer es llenar las funciones con la lógica correspondiente a sus nombres. Como puedes ver la plantilla es elemental. Y estructuralmente similar al TdR.
Observa que este código compila, es decir, desde el punto de vista del compilador, es correcto. Esfuérzate siempre por alcanzar este estado: es decir, haz pequeños cambios durante el desarrollo, para que después de hacerlos, el código pueda compilar. También se esfuerza por que el compilador informe "0 error, o advertencias". Está claro que no se puede ejecutar el programa con errores, pero las advertencias del compilador deben ser percibidas como nuestra Oración del Padre: si hay una advertencia debe ser corregida. Esta plantilla está hecha con "0 error, o advertencias" - guarde este estado hasta el final del desarrollo.
Una vez que hemos entendido la lógica y hemos entendido el compilador, lo único que tenemos que hacer es dotar a las funciones de la lógica que necesitamos.
El segundo parámetro, el valor del rastro, se trasladará por ahora a la próxima versión. Requerirá cálculos adicionales. Por eso no está presente en esta plantilla. La red de arrastre se levantará cada vez que haya una garrapata.
Vladimir, no tienes que aprovecharlo por mucho tiempo. Pasemos a la acción. He escrito una plantilla de la cola deseada para usted:
Lo único que hay que hacer es llenar las funciones con la lógica correspondiente a sus nombres. Como puedes ver la plantilla es elemental. Y estructuralmente similar al TdR.
Observa que este código compila, es decir, desde el punto de vista del compilador, es correcto. Esfuérzate siempre por alcanzar este estado: es decir, haz pequeños cambios durante el desarrollo, para que después de hacerlos, el código pueda compilar. También se esfuerza por que el compilador informe "0 error, o advertencias". Está claro que no se puede ejecutar el programa con errores, pero las advertencias del compilador deben ser percibidas como nuestra Oración del Padre: si hay una advertencia debe ser corregida. Esta plantilla está hecha con "0 error, o advertencias" - guarde este estado hasta el final del desarrollo.
Una vez que hemos entendido la lógica y hemos entendido el compilador, todo lo que tenemos que hacer es equipar las funciones con la lógica que necesitamos.
El segundo parámetro, el valor del rastro, se trasladará por ahora a la próxima versión. Requerirá cálculos adicionales. Por eso no está presente en esta plantilla. La red de arrastre se actualizará cada vez que haya una garrapata.
Vasiliy, por supuesto que quiero agradecerte tu trabajo, pero no me ayuda a entender de dónde vienen estas funciones y operadores y, sobre todo, por qué están ahí. Hubiera sido más correcto llegar al punto de escribir ese código, que me has sugerido. Tenía muchas ganas de llegar a este punto y ahora quiero hacerlo.
Comprendo que tú, como muchos otros, estés cansado de que te deletree constantemente todas las líneas de código y te atropelle, pero el problema es que todavía no entiendo cómo se construye todo, desde el algoritmo hasta la escritura del código. Debo añadir la falta de conocimiento del inglés al problema, porque tengo que copiar y pegar casi todos los mensajes de error y advertencia del compilador, y otras palabras en inglés en el Google Translator. Por cierto, si alguien intentó ejecutar esos micro, incluso nano-códigos que publiqué en este hilo, todos pasaron la compilación con "0 error, 0 advertencias".
Ahora necesito algo de tiempo para darme cuenta, o más bien para entender por qué han aparecido estas funciones y operadores. Así que, en resumen, es un horror silencioso. Y soy un mal estudiante cuando no entiendo las cosas elementales.
Gracias a ti y a todos los demás programadores por tolerar mi lentitud. Aunque me doy cuenta de que su paciencia no es ilimitada.
Sinceramente, Vladimir.