[¡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 946

 
¿Puede decirme si hay alguna manera de acelerar el proceso de prueba de un sistema de comercio? ¿De qué depende?
 
T.H.C.:
¿Puede decirme si hay alguna manera de acelerar el proceso de prueba de un sistema de comercio? ¿De qué depende?

Sí, puede. Pero en este caso el código debe ser optimizado por la velocidad
 
Vinin:

Sí, puedes hacerlo. Pero entonces hay que optimizar el código por velocidad.

¿Optimizar el código, es decir, eliminar todo lo superfluo?

Mi código es el más sencillo, el modelo es todo ticks, el historial es de 10 años, me lleva unos 10 minutos ejecutarlo

 
sanyooooook:
¿Qué pasa si sólo pones una orden pendiente en el nivel de stop? ¿No funcionaría?

No, porque la primera posición tiene un beneficio y si se alcanza, la segunda posición se vuelve redundante.
 
Roman.:

Lo tengo implementado de la siguiente manera - esta es una condición - si la posición anterior se cerró con una pérdida, entonces la apertura de la opuesta... Si necesita abrir la posición contraria exactamente cuando se alcance el stop loss de la posición anterior, entonces Kim Igor Vladimirovich tiene una función en https://www.mql5.com/go?link=http://www.kimiv.ru// que determina exactamente cómo cerrar la orden en el stop loss. Por lo tanto, cuando conecte esta función, deberá prescribir la condición de si la postura se cerró cuando se alcanzó el stop loss. Si fue así, deberá abrir otra.

PD: Acabo de recordar que este código fi de cierre para una pose en el stop loss fue publicado en este hilo unas páginas antes... Echa un vistazo.


Gracias por la respuesta, lo intentaré.
 

¿Puede decirme cómo abrir una posición en la segunda señal del indicador?

Es decir, cuando aparece la primera flecha en el indicador, no abrimos una posición, sino que la abrimos cuando aparece la segunda flecha.

Lo hago:

 int  Sig=0;                     // Количество стрелок
  for(int i=1; i==Signal(); i++) // Цикл перебора стрелок
  {
   Sig++;                        // Счётчик стрелок
  if (Sig<2){return;}            // Не менее двух стрелок. Выход из start()
  }  
 
¿Puedes decirme cómo hacer que la línea (en chart_window) dibujada desde el buffer no termine en la barra actual sino en un número n de barras en el futuro? ¿Cómo se ajusta el buffer a +1 +2 +3 barras?
 
Roman.:

Lo tengo implementado de la siguiente manera - esta es una condición - si la posición anterior se cerró con una pérdida, entonces la apertura de la opuesta... Si necesita abrir la posición opuesta exactamente cuando se alcanza el stop loss de la posición anterior, entonces Kim Igor Vladimirovich en https://www.mql5.com/go?link=http://www.kimiv.ru// tiene una función que determina exactamente cómo se cierra la orden exactamente por el stop loss. Por lo tanto, cuando conecte esta función, deberá prescribir la condición de si la postura se cerró cuando se alcanzó el stop loss. Si fue así, deberá abrir otra.

PD: Acabo de recordar que este código fi de cierre para una pose en el stop loss fue publicado en este hilo unas páginas antes... Echa un vistazo.


Parece que funciona, pero por alguna razón abre dos posiciones opuestas.
 
001:

Tratando de implementar una simple inversión. Cuando se alcanza una posición de parada --> abrir la posición contraria. No consigo que se abra la posición contraria una vez y no se abra nada más. Por favor, avisa.

La lógica es tan sencilla como el 2x2:
1. Primero determina que la postura anterior está cerrada por el pie.
2. A continuación, se comprueba la ausencia de posición opuesta ya abierta
Y luego, después de haber determinado que aún no está allí - lo abres (la posición opuesta que cerró en la parada).
 
¡Caballeros! ¿Puede decírmelo, por favor? ¿Es posible establecer un valor de desplazamiento negativo en el código (si es así, cómo?) en el indicador?