Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 170

 
Sergey Gritsay:

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.
 
maxon777:

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 ))))
 
Andrey Koldorkin:
Siento que después de esta explicación hay un programador novato menos ))))
 

Chicos, que es la (.e) en valuta por favor expliquen

 
la sección de código que necesita es un trailing stop multidivisa fiable que comienza con un punto de equilibrio establecido y un paso atrás establecido desde el precio
 
Vitaliy29:
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

Автоматизация торговли на финансовых рынках - Скачать e-Trailing2.rar
  • www.kimiv.ru
Оглавление файлового архива  Разработки на MQL4 Советники   Новая улучшенная бесплатная версия "кимовского трала". Добавлен параметр Magic, позволяющий более гибко отбирать сопровождаемые позиции, а также разделены параметры трала для покупок и продаж. Кроме того, вместо параметра ProfitTrailing теперь используется TrailingStart. Это почти то...
 
Artyom Trishkin:

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... ;)

"Eres 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é cree 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.
 
maxon777:
"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.

 
Sahet.Sh:

Chicos, que es la (.e) en valuta por favor expliquen

Esta es una pregunta para el corredor, no dude en ponerse en contacto con el soporte. Sólo él sabe exactamente qué significan sus sufijos .e. Es su decisión. En general, los sufijos (al igual que los prefijos) en los nombres de los pares de divisas y otros instrumentos pueden significar cualquier cosa: ie - ejecución instantánea, m - ejecución de mercado, punto - cinco dígitos en una cotización y comisión, _OP - instrumento para operar con opciones binarias,... Pero, por supuesto, es sólo la decisión del corredor, él es la autoridad final para averiguar el significado de las designaciones que ha introducido.