Errores, fallos, preguntas - página 149

 
Vladix:

Poner un retraso - sí, lo acepto, ¿cuántas líneas de código se necesitarían para hacerlo? Y si se trata de una multidivisa, hay que tener en cuenta el retraso de cada una, ¿no?

Yo escribí el código que resuelve esto. Sólo que no me gusta, al igual que, lo siento, no me gusta el tuyo. Y no se trata de parcialidad, la cuestión es que no hay otras opciones, simples y elegantes.

Tengo dos líneas en la multidivisa en el bloque para la solicitud de comercio. Eso es... Si necesita abrir una orden, compruebe si la hora actual no es superior a la hora límite. No hay nada más elegante, y ambos son absolutamente fiables...

if(типдействия==TRADE_ACTION_DEAL || типдействия==TRADE_ACTION_PENDING)
    ВремяОкончанияЗапрета[i3]=TimeCurrent()+СекундыЗадержкиПослеЗапроса;
 
Vladix:

Poner un retraso - sí, lo acepto, ¿cuántas líneas de código se necesitarían para hacerlo? Y si se trata de una multidivisa, hay que tener en cuenta el retraso de cada una, ¿no?

Yo escribí el código que resuelve esto. Sólo que no me gusta, al igual que, lo siento, no me gusta el tuyo. No es una cuestión de prejuicios, la cuestión es que no hay otras soluciones simples y elegantes.


El retraso no es nuestro método))

1. Debemos memorizar el número de posiciones(u órdenes) en una variable (estática o global) antes de realizar una operación.

2. En caso de no ejecución, la variable=-1;

En el caso de una ejecución exitosa, esperamos, no hacemos nada, y comprobamos en cada tick hasta que el número de posiciones (u órdenes) sea igual a la variable.

3. Cuando no es igual - variable=-1;

Документация по MQL5: Торговые функции / PositionsTotal
Документация по MQL5: Торговые функции / PositionsTotal
  • www.mql5.com
Торговые функции / PositionsTotal - Документация по MQL5
 
Swan:

El retraso no es nuestro método))

1. Antes de una operación comercial, almacena en una variable (estática o global) el número de posiciones(u órdenes)

¿Están abiertos? Sólo hay una posición para cada instrumento.... No se puede llenar o cerrar parcialmente, el importe será el mismo. Y no es aceptable volver a calcular el número de pedidos en el historial... no se sabe de dónde pueden venir...
 
Swan:

El retraso no es nuestro método))

1. Antes de una operación comercial, guardamos el número de posiciones(u órdenes) en una variable (estática o global)

2. En el caso de no ejecución - variable=-1;

En el caso de una ejecución exitosa, esperamos, no hacemos nada, y comprobamos en cada tick hasta que el número de posiciones (u órdenes) sea igual a la variable.

3. En cuanto deje de ser igual, variable=-1;

No es un método - sólo para pips, pero para el comercio a medio plazo está bien. De lo contrario, corremos el riesgo de encontrarnos con


10024

TRADE_RETCODE_TOO_MANY_REQUESTS

Solicitudes demasiado frecuentes

con la posible prohibición de operar con el Asesor Experto.

 
Dmitriy2:
¿Está abierto? La posición es la misma para cada instrumento.... No se puede llenar o cerrar parcialmente... el importe será el mismo. Y no es aceptable volver a calcular el número de pedidos en el historial... no sabes de dónde pueden venir...

Sí, soy consciente de ello) deberíamos escribir en una variable lo que debería cambiar como resultado de OrderSend().

Si cierras completamente/(o abres uno nuevo) cambiará el número total de poses (aunque, eso sí, es suficiente, y parece más fiable, y es/no es una pose por símbolo a recordar). También puede recordar el volumen, y funcionará al añadir/quitar posiciones.

Al establecer/retirar una orden pendiente - el número de órdenes (se puede calcular utilizando el símbolo).


En general: un poco de imaginación y añadir una sola variable, por tipo de operación comercial, hará que su código sea más fiable, sencillo y elegante :)

 
Valmars:

No es un método - sólo para los pips, sino para el comercio a medio plazo - un método normal. De lo contrario, corremos el riesgo de encontrarnos con


10024

TRADE_RETCODE_TOO_MANY_REQUESTS

Solicitudes demasiado frecuentes

De lo contrario, corremos el riesgo de que nos prohíban operar con el Asesor Experto.


que es un poco diferente, era así en el 4:

ERR_TOO_MANY_REQUESTS 141 Demasiadas solicitudes. Hay que reducir la frecuencia de las solicitudes y cambiar la lógica del programa.

Hay que esforzarse mucho para obtener este error, o puede que tengas una cuenta en una empresa de corretaje inteligente :)

El deslizamiento es un método normal para algunos errores, en otros casos se ve un poco torcido.

 
Swan:

es un poco diferente, era así en el 4:

hay que esforzarse mucho para cometer ese error, o tener una cuenta de DC dudosa :)

El deslizamiento es un método normal para algunos errores, en otros casos se ve un poco torcido.


No lo sé.

Aquí, incluso dice en el manual del terminal:

  • El Trailing Stop no puede activar más de una posición cada 10 segundos. Es decir, el terminal establece dicho retraso. Y el trailing stop se procesa automáticamente en el servidor.
 
Valmars:

No sé...

Aquí, incluso dice en el manual del terminal:

  • El Trailing Stop no puede activar más de una posición cada 10 segundos. Es decir, el terminal establece dicho retraso. Y el trailing stop se procesa automáticamente en el servidor.
En un tic de cinco dígitos no es realmente necesario mover cada parada. Pero esto no significa que si los trailing stops cada 10 segundos - otras operaciones están prohibidas.


No me refiero a eso :)

Vladix:

En general, el problema es el siguiente:

llega un tick, el indicador muestra que debe cerrarse, yo cierro

llega el siguiente tick, el indicador muestra que debe cerrarse y no sé qué hacer - la posición ya está sobrescrita y lo que le sucede en este momento, por supuesto, se puede averiguar, pero a través del quinto punto.

En este caso, basta con saber que la información de posición se ha actualizado, sin utilizar el quinto punto, preferiblemente)

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 

Los promotores.

En la ayuda de MQL, no hay ENUM_CHART_VOLUME_MODE en la pestaña Índice. Añádelo...

 
Swan:

En general: un poco de imaginación y la adición de una sola variable, por tipo de operación comercial, hará que su código sea más robusto, sencillo y elegante :)

Así que, fantasea exactamente qué código necesita el hombre que sería de 10 líneas y fiable, como el mío, y que le gustaría :)

Y hablando de elegancia sugieres hacer un montón con una lógica poco clara a partir de dos líneas que están cumpliendo absoluta y lógicamente la tarea que pides...

Cisne:

El retraso no es nuestro método))

En el caso de la ejecución esperamos... ...3. yak no igual...

¿Y esperar cuánto tiempo? ¿No cuenta eso como un retraso? ¿Y si nunca llega a ser "no igual"? Y estamos esperando por el tiempo... Una solicitud de intercambio puede fácilmente devolver una tropa y no ser cumplida...