[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 699
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
Aquí tienes
void OpenBuy() {
double dStopLoss = 0, dTakeProfit = 0;double Lotes_Nuevos = Lote;
si (isLossLastPos(NULL, -1, MAGIC))
Lots_New *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lotes_Nuevos = Lote;
Es una función, y al principio de esta función se asigna a la variable Lotes_Nuevos el valor = Lote;
Piensa en cómo cambiará después si siempre lo devuelves a su estado original...
¿Dónde te dije que lo escribieras? En las variables externas antes de la función de inicio...
Y normalizar el valor del lote al tamaño correcto:
Lots_New = NormalizeLot(Lot*2, False, "");
¡Muchas gracias!
¿Puede decirnos también si puede añadir el valor de un lote a cada orden perdedora posterior? Puede utilizar algo como esto
1 lote 0,01
2 lote 0,01
3 lote 0,02
4 lote 0,03
5 lote 0,07
.....
15 lote 1.2
Poder cambiar el valor del lote en el código.
Y que en caso de que un acuerdo resultara rentable, todo volvería al principio.
Se lo agradeceré de antemano.
Gracias.
Roger, gracias, pero sigue sin funcionar correctamente. He intentado añadir otro trailing stop, pero el error sigue ahí :( ¿Hay alguna diferencia entre el trailing stop para una posición y el trailing stop para varias posiciones a la vez?
En principio, no hay ninguna diferencia.
Prueba mi función, es bastante simple, pasar como parámetros, medjic, y arrastre deseado.
La llamada de esta función se realiza al inicio, en cualquier lugar, siempre que se "chorree" allí en cada tick.
Obviamente, los pedidos deben tener diferentes deslizadores.
¡Ayúdame a resolver un problema!
Busco las órdenes que están abiertas o pendientes. Si están disponibles, entonces determino qué orden es de compra o de venta. Bajo ciertas condiciones (si una es mayor que la otra o menor que la tercera), quiero cerrar esta orden. Cambia sus parámetros y vuelve a abrirlo.
El problema es que siempre hay una señal para cerrar la orden y para abrirla. Por eso mi orden se cierra, luego se abre de nuevo, y así sucesivamente, se abre y se cierra... )))
¿Cómo resolver este problema? GaPonga aquí su código con las condiciones de apertura y apertura. Vamos a poner el dedo en la llaga... :)
El conteo de números en la función OrderSelect( ) comienza desde cero. Y tú tienes 1, lo que significa que estás buscando el segundo pedido, aunque sólo tienes uno en el mercado, por lo que no funciona.
Esto se puede hacer con parámetros, pero no con patrones. Primero hay que definir los criterios. Parecido, no similar. Y si es similar, en qué medida. Al menos en cuánto (porcentajes). En un caso el componente de tiempo, en el otro - el de precio. Cómo correlacionarlos entre sí. Aunque puedo adjuntar una capa neuronal. La capa Kohonen lo hace muy bien.
Tengo 12 variantes de un patrón en uno de mis indicadores, el patrón es el mismo pero los valores son siempre diferentes y su proporción es diferente ))), ....) Nunca he trabajado con redes neuronales, creo que mi experiencia en la escritura de algoritmos elementales usando mql no será suficiente, aunque puede ayudarme a solucionarlo. Esta tarea la afronté antes "bárbaramente" sustituyendo a Kohonen, escribiendo todos los parámetros en Exxel en el momento de la aparición del patrón y el resultado si se abría la operación, luego con el análisis de Exxel tenía que buscar más coincidencias en correlación con la rentabilidad. De cualquier forma, conseguí algo y el sistema definió el patrón de forma inteligente, pero aún así no fue muy inteligente).
No sé qué función estás usando, pero la idea general es esta: como tu paso no es parejo, te sugiero usar un array, escribes los volúmenes que necesitas en él, y luego usas la función para recorrer su valor.
Ejemplo en mi código:
Ejemplo de llamada a una función:Creo que es De ja vu... ¿Soy el único? Ya le han contestado varias personas... ¿Eh?
Ponga su código con la condición de abrir y abrir la pose. Vamos a poner el dedo en la llaga... :)
No sé qué función estás utilizando, pero te doy una idea general: como tu terreno de juego no es plano, te sugiero que utilices un array, que escribas en él los volúmenes que necesitas y que luego utilices la función para recorrer los valores.
Ejemplo en mi código:
Ejemplo de llamada a una función:
¡¡¡¡¡Muchas gracias!!!!!
Yo también uso tu código (y funciona bien por cierto), pero quería instalar el código de Artemis en otro EA, primero, porque tenía más problemas con él, y había una cuestión de principio, por qué no funcionaba correctamente.
¡¡¡¡Muchas gracias de nuevo !!!! ¡Voy a probarlo ahora!
La pregunta puede ser trivial, el Asesor Experto está operando en M1, la señal para abrir una orden llegó, supongamos que el stop es corto y la orden se cerró en la sl. pero la condición para abrir una orden sigue existiendo.
¿Cuál es la mejor manera de garantizar que la orden no se abra de nuevo en el mismo minuto?