Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 210
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
Buenas tardes.
Mi estrategia tiene en cuenta el spread, el spread está definido por una función:
Pero como el spread es constante en el probador de estrategias, necesito un emulador de spread aleatorio. Quiero emular los cambios de propagación en el probador en el rango de 2 a 3 puntos (4 dígitos) en el 80% de los casos y más de 3 puntos en el 20% de los casos. Alguna idea de cómo implementar esto, o enlaces donde se haya resuelto dicha idea.
El error con el mago hace que su EA no vea que su posición está cerrada en un stop al cerrar en un stop. ¿Por qué? La respuesta es que abres una posición con magic 123 y envías la variable Magic a la función que comprueba el cierre de la posición en el stop. ¿A qué crees que equivale cuando se inicializa implícitamente? Cero. La función busca naturalmente posiciones con el número mágico 0 y es igual a 123 en sus posiciones. Y no estamos discutiendo, sólo... ...razonamiento... Compruebe la reacción de cierre en el tope:
No he mirado el resto de la lógica de tu EA "muerto" - te estaba ayudando a entender la función de verificación de cierre de la parada...
¡Artem! Buenos días. Gracias de nuevo por la ayuda.
He eliminado toda la lógica "muerta" innecesaria y he "revivido" las que quedaban.... por lo que tengo entendido.
Sólo queda una función, que me has ayudado a arreglar.
Pero los milagros comenzaron a suceder más allá de mi comprensión
1. Mi Asesor Experto abre operaciones al principio de cada vela (tengo una vela de 5 minutos)
e ignorando todas las condiciones.
Es decir, el control entra en la primera línea
double Precio=iOpen(Símbolo (),0,0);
Y luego salta a través de 11 líneas y llega a las siguientes líneas
Lote=0,1;
OrderSend(Symbol(),OP_SELL,1,Bid,Lot,Ask+1500*Point,Ask-300*Point, "jfh",123 );
2. Si eliminamos la línea que calcula el lote mínimo Lot=MarketInfo(Symbol(), MODE_MINLOT);
El Asesor Experto funciona bien, pero la función isCloseLastPosByStop no funciona.
Estuve esforzándome durante mucho tiempo..... pero fue en vano. Te agradecería que me dijeras dónde se esconde el error.
solnce600:
Артем ! Добрый день! Еще раз спасибо за помощь.
Toda mi "lógica muerta" eliminó lo innecesario y "revivió" el resto.... por lo que tengo entendido.
Prácticamente sólo dejé la función, que me ayudaste a corregir.
Pero los milagros, que están más allá de mi comprensión, han comenzado a suceder.
Después de
añadir todo al cuerpo { }
Lo siento, no soy Artem.
solnce600:
Después de
añadir todo al cuerpo { }
Siento no ser Artem.
t o Lote ???
solnce600:
Después de
añadir todo al cuerpo { }
Lo siento, no soy Artem.
Hice lo que dijiste..... por desgracia el asesor trabaja .... la función isCloseLastPosByStop no funciona
Este es un trozo de código de la función bool isCloseLastPosByStop(string sy, int op, int mn, double &ll)
¿Pero qué pasa si hay un deslizamiento de 3 pips? No está muy bien pensado ))
Usted entiende - no estoy realmente preocupado por ello todavía....
Llevo una semana intentando averiguar por qué esta función no funciona.
Es decir, necesito que la siguiente orden se abra con un volumen doble de la orden cerrada en el stop, y que la siguiente orden se abra con un volumen regular después del non-stop.
Corregir la lógica del trabajo, de lo contrario se tardará mucho tiempo en pensar
Este es un trozo de código de la función bool isCloseLastPosByStop(string sy, int op, int mn, double &ll)
¿Pero qué pasa si hay un deslizamiento de 3 pips? No está muy bien pensado ))
Ya ves - no me molesto con él todavía....
Llevo una semana intentando entender por qué esta función no funciona como yo quiero.
Es decir, necesito abrir la siguiente orden después del stop con un volumen doble de la orden que cerró en el stop, y después del non-stop, la siguiente orden se abre con un volumen regular.¿Y por qué tocar el historial de pedidos? Mira el balance - donde fue en esa dirección y cambia el lote.
Si es sólo un robot que va a operar en su cuenta.