[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 514
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
Hola,
Por favor, tenga esta pregunta sobre el EA:
Tengo una orden de apertura en un swing, por ejemplo, si MA_1 > MA_2 entonces compramos. Pero cuando salgo de la operación esta regla se activa de nuevo.
¿Cómo puedo decirle al EA que abra una posición sólo si el precio se ha alejado no más de 4 barras de la MA_2?
Gracias.
Si algo está mal o en un lugar equivocado, no me patees. Este es mi primer mensaje en este enorme foro.
Gracias, estoy en ese nivel de conocimiento. Hay el mismo problema con el script del ejemplo. Es un inconveniente cuando enciendes el guión y entra al final de la tendencia.
¿Cómo le digo al script que se active sólo si hay menos de 4 barras después del cruce de dos barras?
Gracias, estoy en ese nivel de conocimiento. Hay el mismo problema con el script del ejemplo. Es un inconveniente cuando enciendes el guión y entra al final de la tendencia.
¿Cómo le digo al script que se active sólo si hay menos de 4 barras después del cruce de dos barras?
Gente, ya he preguntado aquí cómo hacer que una orden se abra sólo cuando aparezca una nueva vela. Estoy utilizando un marco temporal D1.
He decidido colocar órdenes pendientes en determinados niveles (buystop_lvl y sellstop_lvl), basándome en el análisis de las velas anteriores.
Quería colocarlas al principio del día y eliminarlas cuando llegara una nueva vela. No importa si las órdenes pendientes fueron activadas o no, si fueron activadas, entonces las órdenes de mercado también deberían ser cerradas. Como máximo 2 órdenes, buystop y sellstop.
Esto es lo que escribí:
1. Primero compruebo si las órdenes de mercado o las órdenes pendientes están activas, y si lo están, las borro/cierro.
2. Luego coloco órdenes pendientes por niveles calculados:
3. Mi función NewBar implementada (NewBar):
Como resultado, cuando se abre una nueva vela, las órdenes se colocan y se borran inmediatamente. Los pedidos se realizan y se eliminan inmediatamente.
Cuando comenté el código del punto (1) no conseguí que abriera las órdenes en el probador, pero las órdenes no se abrieron, es decir, las órdenes no se convirtieron en órdenes de mercado.
¿Puede decirme cuál puede ser el problema?
Esta función NewBar() no puede utilizarse dos veces seguidas
Algo como esto es mejor:
bool newBar = NewBar();
// y más adelante en el texto, sustituyendo NewBar() por newBar
Y en general, se tira de NewBar, se mira la hora de la última apertura de la orden y se compara con Time[0]. Si es mayor, es tu caso, puedes borrar todo.
Sí, supongo que tendré que hacerlo. Gracias por ello :)
Hombre, todavía no entiendo cómo se hace. Necesito que el código con la eliminación y el cierre de las órdenes se active sólo en la siguiente vela. Pero otros candelabros deberían abrirse en este también. Esto significa que el programa volverá a entrar en el borrado. Necesito alguna bandera, pero mi cerebro ya está sudando para entender cómo hacerlo :)
Lea atentamente la función OrderSend(). Tiene un parámetro para las órdenes pendientes:
Si abre una orden pendiente al principio del día actual = iTime (Symbol(), PERIOD_D1, 0), entonces añade a este tiempo un día más - 1440 * 60. Las órdenes pendientes que no se activen se eliminarán por sí solas al comienzo del día siguiente.
P.D. El final de la barra actual también puede ser controlado a través de la función iBarShift():
o cualquier otro "movimiento del cuerpo" en esta condición rastreando el OrderTicket() de la última orden.