Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 170
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
Hay muchos ejemplos en CodeBase, busque Expert Advisors en órdenes pendientes y vea cómo está escrito el código.
He buscado enCodeBase durante una hora y no he encontrado nada comprensible. Es demasiado complicado para mí. Los códigos son demasiado grandes e incomprensibles para mí, mientras que todo lo que necesito es un par de códigos de 4 a 6 líneas. Gracias por la respuesta, pero no encaja.
He buscado un ejemplo enuna orden pendiente cuando haya alcanzado cualquier valor (es decir, si el precio es 0,7777, entonces abrir una orden pendiente)
2) Cierre la orden (orden de mercado) cuando haya alcanzado cualquier valor (es decir, si el precio es 0,6666, entonces cierre la orden).
¿Obtener una respuesta a 4-6 líneas de código?
Es usted uno de esos clientes que escriben: "¿Qué hay que hacer? Sólo hacen falta un par de líneas... ¿Qué son cien libras?"
Seamos claros:
Primero hay que determinar que el precio ha llegado a 0,7777. ¿Llegó a la cima? ¿Abajo? ¿Está bien si el tick anterior era, por ejemplo, 0,7776 y el tick actual es 0,7778? En este caso, el precio no será igual al valor de 0,7777. Por lo tanto, debe comprobar el valor pasado y el actual para la intersección del valor necesario. En consecuencia, debe almacenar el valor del tick anterior y conocer el valor del tick actual. Esto significa que se necesita una función para obtener el valor del tick y almacenar su valor, de modo que se tenga algo con lo que comparar más tarde: tres precios: el tick anterior, el tick actual y el propio precio cruzado.
Además. Necesitamos saber en qué dirección el precio cruzará el valor necesario y, en consecuencia, necesitamos establecer el tipo necesario de orden pendiente al precio necesario.
Para fijarla, debemos calcular el precio fijado a partir del precio actual, comparar la distancia obtenida de la fijación de la orden pendiente con el valor del StopLevel y si la distancia obtenida es menor que ese valor, entonces: a) Corregir la distancia de fijación de la orden para no llegar al error 130 y fijar la orden o b) esperar a que la distancia de fijación supere el StopLevel (con el spread flotante que también debemos recibir en cada tick) y ver si el precio ya cruza el nivel prefijado y si está en el valor correcto - es decir, si el StopLevel ya está fijado, podemos fijar la orden.е., se ha alejado de ese nivel para hacer un pedido o el tren ya ha salido.
También hay que calcular los valores de stop y take de una orden pendiente que no deben ser inferiores a StopLevel (corregirlos si es necesario).
Si se han superado todas las comprobaciones, se debe enviar una orden al servidor para establecer una orden pendiente, obtener una respuesta - si la respuesta contiene un error, procesarla (se necesita otra función)...
Esto es para los pedidos pendientes.
Es aproximadamente lo mismo para el cierre de una posición: identificar el cruce, enviar una orden de negociación y gestionar la respuesta del servidor en caso de error.
Si consigues encajar 4-6 líneas para todo esto, entonces ...obtendrá una medalla en el almacén... ;)
Siento que después de esta explicación hay un programador novato menos ))))
Chicos, que es la (.e) en valuta por favor expliquen
necesita una sección de código - un trailing stop multidivisa fiable que comience con un punto de equilibrio establecido y una sangría establecida desde el precio
Mira este, http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=62
Quiere responder a esta pregunta:
1) abrir una orden pendiente cuando haya alcanzado cualquier valor (es decir, si el precio es 0,7777, entonces abrir una orden pendiente)
2) Cierre la orden (orden de mercado) cuando haya alcanzado cualquier valor (es decir, si el precio es 0,6666, entonces cierre la orden).
¿Obtener una respuesta a 4-6 líneas de código?
Es usted uno de esos clientes que escriben: "¿Qué hay que hacer? Sólo hace falta un par de líneas... ¿Qué son cien libras?"
Seamos claros:
Primero hay que determinar que el precio ha llegado a 0,7777. ¿Llegó a la cima? ¿Abajo? ¿Está bien si el tick anterior era, por ejemplo, 0,7776 y el tick actual se ha convertido en 0,7778? En este caso, el precio no será igual al valor de 0,7777. Por lo tanto, debe comprobar el valor pasado y el actual para la intersección del valor necesario. En consecuencia, debe almacenar el valor del tick anterior y conocer el valor del tick actual. Esto significa que se necesita una función para obtener el valor del tick y almacenar su valor, de modo que se tenga algo con lo que comparar más tarde: tres precios: el tick anterior, el tick actual y el propio precio cruzado.
Además. Necesitamos saber en qué dirección el precio cruzará el valor necesario y, en consecuencia, necesitamos establecer el tipo necesario de orden pendiente al precio necesario.
Para fijarla, debemos calcular el precio fijado a partir del precio actual, comparar la distancia obtenida de la fijación de la orden pendiente con el valor del StopLevel y si la distancia obtenida es menor que ese valor, entonces: a) Corregir la distancia de fijación de la orden para no llegar al error 130 y fijar la orden o b) esperar a que la distancia de fijación supere el StopLevel (con el spread flotante que también debemos recibir en cada tick) y ver si el precio ya cruza el nivel prefijado y si está en el valor correcto, es decir, si el nivel de stop está fijado, podemos fijar la orden.е., se ha alejado de ese nivel para hacer un pedido o el tren ya ha salido.
También hay que calcular los valores de Stop y Take para la orden pendiente, que a su vez no deben ser inferiores al nivel de Stop (corregirlos, si es necesario).
Si se han superado todas las comprobaciones, se debe enviar una orden al servidor para establecer una orden pendiente, obtener una respuesta - si la respuesta contiene un error, procesarla (se necesita otra función)...
Esto es para los pedidos pendientes.
Es muy parecido al cierre de una posición: identificar el cruce, enviar una orden de negociación y gestionar la respuesta del servidor en caso de error.
Si consigues encajar 4-6 líneas para todo esto, entonces ...obtendrá una medalla en el almacén... ;)
"Es el tipo de cliente que dice: "¿Qué hay que hacer? Son sólo un par de líneas... ¿Qué son cien libras?" No, no soy una de esas personas y no entiendo por qué crees que soy un cliente. Quiero aprender este programa porque tengo ideas sobre el Asesor Experto, los problemas en su implementación son sólo técnicos (y no estoy discutiendo que los problemas son muy grandes), pero no estoy tratando de decir algo así como "hazme todo el software y que funciona sólo con el beneficio. Por el contrario, empecé con lo básico y quiero escribir mi primer Asesor Experto. También escribí que quería un ejemplo muy sencillo, sin tener en cuenta todos los detalles (aunque entiendo que son muy importantes), pero tengo que empezar por algún sitio. Sabía que sería doloroso para un profesional mirar lo que estoy pidiendo, pero no pude evitarlo, mientras sea lo único que sé. Pensé que podría escribir un código de este tipo con la ayuda del operador if else y la función OrderSend (OrderClose) y algunas otras cosas, que no puedo hacer. Has escrito un montón de términos complejos y así me has dicho que soy incapaz de hacer nada y que soy un idiota en programación, pero lo sé igualmente. Espero que no piense que soy un arrogante y entienda que sólo quiero seguir aprendiendo. Pero también tienes razón, espero que se haya encontrado un compromiso.
Nadie te ha llamado "mamón", eso no es cierto. Pero también 4-6 líneas de código, ya sabes, causan desconcierto - porque si una persona aprende algo, ya debe estar intentando algo, ya ha intentado escribir algo, y claramente ve que 4-6 líneas no encajan en ello.
Muéstranos lo que intentaste hacer, tratemos de entenderlo.
Puedo proponer una versión alternativa y simplificada - no buscar un cruce de nivel de precios por ticks, y buscarlo por MA(1) - entonces la MA de la barra 1 y la MA de la barra 0 servirán como indicador del cruce de nivel necesario.
Chicos, que es la (.e) en valuta por favor expliquen