Cierre de posiciones. Señal indicadora de encendido. - página 4

 
Gracias. Lo intentaré...
 
granit77:
Si hay que creer a komposter y a Vinin, entonces en su lugar:
for (int v=0; v<OrdersTotal(); v++)

escribir:
for (int v=OrdersTotal()-1; v>0; v--)

A mí me funciona.
Error ;) Esto cerrará todas las órdenes excepto la primera.
Esta es la variante correcta:
for ( int z = OrdersTotal() - 1; z >= 0; z -- )
{
 
}
 

Iré a echar un vistazo.

¡granit77 y Vinin ! ¿Le funciona y cierra todas las posiciones abiertas? Tengo esta pieza por alguna razón.

то вместо:
for (int v=0; v<OrdersTotal(); v++) 
 
написать:
for (int v=OrdersTotal()-1; v>0; v--)
Comenzó a cerrar la última posición abierta en lugar de la primera. Pero todos los demás siguen moviéndose...
 
komposter:
granit77:
Si hay que creer a komposter y a Vinin, en cambio:
for (int v=0; v<OrdersTotal(); v++)

escribir:
for (int v=OrdersTotal()-1; v>0; v--)

A mí me funciona.
Error ;) Esto cerrará todas las órdenes excepto la primera.
Esta es la variante correcta:
for ( int z = OrdersTotal() - 1; z >= 0; z -- )
{
 
}


Gracias. Voy a probar su recomendación.
 

El resultado sigue siendo el mismo. Con la última opción sólo se cierra la última posición abierta.

¡Intentemos resolverlo!

int z = Total de pedidos() - 1

-Aquí, "z" es igual al número total de órdenes abiertas menos uno. Al mismo tiempo, fijamos z >=0.

Aparentemente, z-- probablemente significa que nosotros (OrderSelect) buscamos a través de las órdenes abiertas empezando por la más reciente ?

Y está claro que el último pedido se cerrará . Ya que fue el primero en "entrar en la distribución". Pero en este momento, ¡la ejecución del cierre de otras órdenes se detiene! Y este algoritmo espera a que se cierre la siguiente señal del indicador. Creo que hay que añadir algo aquí. No sé qué añadir....

¿Y por qué - z = OrdersTotal() - 1; ?

 
rid:

El resultado sigue siendo el mismo. Con la última opción, sólo se cierra la última posición abierta.

Ahora elimine return después de OrderClose, y observe el resultado ;)
 
rid:

¿Por qué, de hecho - z = OrdersTotal() - 1; ?

Como el número de pedidos es OrdersTotal(), el primer pedido tiene el índice 0, y el último, en consecuencia, OrdersTotal()-1.
Aprende lo básico ;)
 
rid:

El resultado sigue siendo el mismo. Con la última opción sólo se cierra la última posición abierta.

¡Intentemos resolverlo!

Incluso es bueno para el cerebro y para la experiencia.

Todas las bicicletas y motos ya han sido (tachadas) inventadas antes que nosotros - pon todas las órdenes en tu propia matriz (quizás más de una) y haz las manipulaciones que quieras con ella. ordenarlo por cualquier criterio, o borrarlo (el ticket es tu amigo), o modificarlo (es fácil hacer modificaciones de stoplosses/takeprofits, o crear nuevas órdenes.

ps (una cosa más). si decides tomarte en serio tu creación, recuerda que en cualquier segundo (milisegundo) la conexión con tu empresa de corretaje puede desconectarse. La solución ideal es permitir que el Asesor Experto vea la necesidad de cerrar ciertas órdenes (en este caso) después de una parada/cierre de emergencia y las cierre.

Sin embargo, la mayoría de los "griales" vendidos públicamente en forma de P.C. - son igualmente de juguete...

 
Shu:

Sin embargo, si quieres aplicar algoritmos más complicados y librarte de las migrañas, hazlo de forma sencilla.
...
Ponga todas las órdenes en su matriz (tal vez más de una) y haga cualquier manipulación en esta matriz que su corazón desee.

¿Puedo preguntar por qué? ;)
Por supuesto, si hay una lógica compleja o varios algoritmos en uno, podemos molestarnos, pero para un simple Asesor Experto inverso, ¿por qué?
 
komposter:
Shu:

Sin embargo, si quieres aplicar algoritmos más complicados y librarte de las migrañas, hazlo de forma sencilla.
...
Ponga todas las órdenes en su matriz (puede ser, no sólo una) y utilícela para hacer las manipulaciones que quiera.

¿Puedo preguntar por qué? ;)
Ya veo, si hay alguna lógica complicada o varios algoritmos en uno, se puede molestar, pero para un simple experto en volteo, ¿por qué?


Así es, por lógica compleja. Sin embargo, una vez que probó la miel, Winnie no pudo olvidarla. :-)

Si hay más de un pedido, casi siempre lo utilizo. :-)