Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 646
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 dos terminales MT5. Problema: ¿puedo escribir scripts para permitir sólo operaciones largas en un terminal y sólo operaciones cortas en el otro?
#define ORDER_TYPE_SELL ORDER_TYPE_SELL_STOP // поставить в самом начале советника, если нужно отказаться от SELL-сделок
Hay dos terminales MT5. Tarea: ¿Es posible escribir scripts para permitir sólo operaciones largas en un terminal y sólo operaciones cortas en el otro?
Simplemente introduzca un parámetro de entrada en su EA y dependiendo del valor que se le asigne al iniciar, sólo comprará o sólo venderá:
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
...
void OnTick()
{
if(!Long)
trade.Sell(0.01);
if(Long)
trade.Buy(0.01);
}
Para saber si se trata de un nuevo top o bottom, es necesario recordar la hora del último top/top que se encontró, y compararlo con lo que se ha encontrado hasta ahora.
Gracias, está claro con el buffer.
Para recordar la hora del último vértice encontrado, es necesario conocerla de alguna manera.
¿Cómo hacerlo, cómo saber la hora del último vértice encontrado?
Gracias, el buffer está claro.
Para recordar la hora del último vértice encontrado, es necesario conocerla de alguna manera.
¿Cómo hacer esto, cómo saber la hora del último vértice encontrado?
Se declara una variable estática para almacenar el tiempo del extremo anterior del zigzag y se inicializa con cero.
2. Encuentra un vértice y si su tiempo no es igual al tiempo en la variable estática, considera que has encontrado el extremo requerido y memoriza el nuevo tiempo en esta variable.
3. GoTo(2);
¡Camaradas programadores!
Recomendar una forma de averiguar si el diferencial ha aumentado.
El problema es el siguiente: durante la transición a un nuevo día la empresa de corretaje amplía el spread, y a veces es una locura para algunos pares - excede en 3-5 veces el valor normal. Los diferenciales de ahorro de luz son diferentes en las empresas de corretaje con el cambio de hora de 23 a 59 y de 20 a 59 y así sucesivamente.
Para algunos tipos el diferencial no cambia mucho, por lo que no podemos cortar el robot "Trabajar por tiempo" porque si el diferencial no cambia, no tendremos que prohibir el comercio.
La cuestión principal es cómo detectar que el diferencial es demasiado grande y, por tanto, prohibir al robot que abra una posición. Veo una variante de guardar los tamaños de los spreads en un archivo para cada nueva barra de las últimas 5-7 barras, luego sumarlo todo y dividir por el número y así obtener el spread promedio y multiplicar por 1,2 - 1,4 (margen), pero no es interesante guardar y multiplicar los archivos y no estoy seguro de que sea la solución correcta para calcular el spread promedio. Si introduzco manualmente la extensión máxima permitida en los ajustes, es muy trivial y poco interesante en términos de funcionamiento del bot.
Por favor, aconsejar la solución óptima para la pregunta, que no tiene miedo de reiniciar el terminal, y el cierre de emergencia en caso de corte de energía. Además, preferiblemente una solución que minimice la carga del programa, para que no recalcule en cada tic.
Gracias.
¡Camaradas programadores!
Recomendar una forma de averiguar si el diferencial ha aumentado.
El problema es el siguiente: durante la transición a un nuevo día la empresa de corretaje amplía el spread, y a veces es una locura para algunos pares - excede en 3-5 veces el valor normal. Los diferenciales de ahorro de luz son diferentes en las empresas de corretaje con el cambio de hora de 23 a 59 y de 20 a 59 y así sucesivamente.
Para algunos tipos el diferencial no cambia mucho, por lo que no podemos cortar el robot "Trabajar por tiempo" porque si el diferencial no cambia, no tendremos que prohibir el comercio.
La cuestión principal es cómo detectar que el diferencial es demasiado grande y así prohibir al robot que abra una posición. Veo una variante de almacenar los tamaños de los spreads en un archivo para cada nueva barra de las últimas 5-7 barras, luego sumarlo todo y dividirlo por el número y así obtener el spread promedio y multiplicarlo por 1,2 - 1,4 (margen), pero no es interesante guardar y multiplicar los archivos. Si introduzco manualmente la extensión máxima permitida en los ajustes, es muy trivial y poco interesante en términos de funcionamiento del bot.
Por favor, aconséjeme cuál sería la mejor solución a esta cuestión. Gracias.
¿Qué clase de lógica de TS es esta dependiente de la difusión?
Bien, pongámoslo de esta manera. Aquí, por ejemplo, el diferencial no se amplía ni tres veces, sino más, y si se entra en el mercado con un diferencial de 20pp, mientras que el diferencial normal es de 4-6pp, entonces no es normal, y tenemos que cortar estos momentos.
Bien, pongámoslo de esta manera. Por ejemplo, el diferencial aquí no es ni siquiera tres veces mayor, sino más, y si se entra en el mercado con un diferencial de 20pp, mientras que el diferencial normal es de 4-6pp, esto no es normal, y tenemos que cortar estos puntos.
Bien, pongámoslo de esta manera. Por ejemplo, el diferencial aquí no es ni siquiera tres veces mayor, sino más, y si se entra en el mercado con un diferencial de 20pp, mientras que el diferencial normal es de 4-6pp, esto no es normal, y tenemos que cortar estos puntos.