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
gracias CB, debería haberme dado cuenta de eso, así que el error era correcto al final (130).
¿Funciona entonces?
CB
Hola CB, Se está ejecutando las operaciones, pero no he hecho el detalle de ir a través de los oficios para ver si la lógica se sigue correctamente (parece ser a primera vista). Así que este es el momento de decir un enorme 'GRACIAS!!!!' :-)
Todavía hay un camino por recorrer antes de que la estrategia se ejecuta de manera rentable, ya que el código es sólo una forma de automatizar los oficios, tengo que hacer un poco de trabajo en mi extremo para perfeccionar la estrategia en sí. Parece que todo este esfuerzo valió la pena, pero todavía estoy súper desconcertado con la codificación. Voy a empezar a hacer pequeños códigos por mi cuenta para mostrar los comentarios en mis gráficos, y jugar con ellos, para ayudarme a aprender las funciones y otras cosas que utilizaste. Aprecio mucho tu ayuda con esta CB, y tu paciencia mientras sigo preguntando lo mismo y cometiendo los mismos errores una y otra vez. ¡Gracias!
Eso será fácil.
Establezca un parámetro que sea el número máximo de órdenes abiertas. Extiéndalo si necesita cambiarlo con frecuencia.
Entonces implemente cambiando sólo la función fnOrderDuplicate() - no debería tener que cambiar la función start(). Eso ayudará a mantener la arquitectura existente de la aplicación.
CB
Hola CB, me he pasado como 2 horas intentando hacer lo que pedías en el post anterior, he mirado otros códigos, documentación, y no he avanzado (no sé qué hacer). Tío, me sigo atascando así, es tan molesto, incluso con las cosas más simples! debe haber una manera de aprender más fácil que como voy en este momento, ya que siento que no estoy teniendo ningún progreso en el aprendizaje, ustedes están amablemente escribiendo todo el código para mí
Hey CB, ¿alguna ayuda en el punto anterior, cómo arreglar el código para hacer una operación múltiple en 1 dirección?
Sólo hay que cambiar: if ( iDuplicateOrders == 0) por: if ( iDuplicateOrders<= iMaxDuplicateOrders)
CB
Hola CB, gracias por esto. Con esta opción no puedo regular cuántas órdenes abiertas se permiten en 1 dirección (digamos que hago externamente iMaxDuplicateOrders = 4;) el ea ejecutará 4 cortos, y no distribuir el parámetro de manera uniforme (por ejemplo: 2 cortos máximo, 2 largos máximo). Debería intentar hacer un duplicado de bool fnOrderDuplicate (por ejemplo: bool fnOrderDuplicateBuys, y bool fnOrderDuplicateSells) y luego referirse a cada uno respectivamente en bool fnShouldWeTrade. En mi opinión esto podría funcionar, ¿qué opinas?
Hola CB, gracias por esto. Con esta opción no puedo regular cuántas órdenes abiertas se permiten en 1 dirección (digamos que hago externamente iMaxDuplicateOrders = 4;) el ea ejecutará 4 cortos, y no distribuir el parámetro de manera uniforme (por ejemplo: 2 cortos máximo, 2 largos máximo). Debería intentar hacer un duplicado de bool fnOrderDuplicate (por ejemplo: bool fnOrderDuplicateBuys, y bool fnOrderDuplicateSells) y luego referirse a cada uno respectivamente en bool fnShouldWeTrade. En mi opinión esto podría funcionar, ¿qué opinas?
Establecer iMaxDuplicateOrders = 4 significará que el máximo será de 4 órdenes en cada dirección, ya que comprobamos la dirección antes de incrementar el contador.
Hay que dar crédito a quien lo merece. En este caso se debe hacer lo contrario. Mis disculpas - Ya me decepcionó que no hicieras la enmienda tú mismo. Todo lo que había que hacer era cambiar el límite de una sola orden a una variable.
Está claro por las anotaciones que simplemente estás recreando el código en prosa sin entender realmente la lógica.
CB