¿Cómo crear una matriz de números mágicos?

 

¿Es posible crear una matriz de números mágicos?

Ej. Voy a hacer 5 pedidos y cada pedido tiene un número mágico único.

int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green) 
En lugar de 12345, tal vez OrderMagic [x][0] para cada nuevo pedido que se haga? ¿Cómo hacerlo?

Entonces, al cerrar, voy a ir a través de cada orden y cerrar la orden específica con su número mágico único?

for (int i=0; i<OrdersTotal(); i+=1)
{
           if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
           {
                     if (OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == 12345)

En lugar de 12345, ¿cómo puedo ir a través de cada número mágico único en la matriz?

Gracias de antemano.

 

¿Es posible crear una matriz de números mágicos?

Ej. Voy a hacer 5 pedidos y cada pedido tiene un número mágico único.

int magicArray = { 1, 3, 5, 7, 9 };

if(OrderMagicNumber() == magicArray[3]) { // que se refiere a ser 7 en este ejemplo

 
phy:

¿Es posible crear una matriz de números mágicos?

Ej. Voy a hacer 5 pedidos y cada pedido tiene un número mágico único.

int magicArray = { 1, 3, 5, 7, 9 };

if(OrderMagicNumber() == magicArray[3]) { // que se refiere a ser 7 en este ejemplo


¡Gracias!

¿Cómo puedo enviar cada nuevo pedido con una matriz de números mágicos única? ¿Funcionará así? magicArray[x] en lugar de 12345?

OrderSend está en una función y no en un bucle. ¿Cómo puede saber cómo asignar un nuevo número mágico con cada nuevo pedido? ¿Es simplemente añadiendo x++ después de OrderSend?

¿Necesito inicializar un array global?

¿Cómo hacer un array dinámico, ya que no sé cuántos pedidos habrá finalmente?

int  magicArray[x];

...
int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",magicArray[x],0,Green);
x++;
 

¿Por qué quiere asignar a cada orden un número mágico diferente en primer lugar? Los números mágicos están pensados para agrupar operaciones que van juntas y el objetivo es que tengas una magia para muchas operaciones (que van juntas).

No debe usarlos para cosas que no son para ellos. Otros EAs los utilizan para identificar sus propias operaciones. Recientemente tuvimos un hilo aquí donde un EA cuyo autor trató de ser súper inteligente y abusó de la magia para algún tipo de contador comenzó a interferir con las operaciones de otros EAs y produjo una pérdida de $5000 dólares en sólo una noche para la víctima inocente que compró este EA entrando en una "lucha" de apertura-cierre-cierre sobre el mismo comercio. El EA comenzó silenciosamente a cambiar su número mágico asignado sin ninguna razón obvia y sin previo aviso hasta que se produjo el conflicto. ¡Se espera que un número mágico se mantenga constante!

Si necesita un número único para *cada* operación, entonces utilice el número de ticket.

 
7bit:

¿Por qué quiere asignar a cada orden un número mágico diferente en primer lugar? Los números mágicos están pensados para agrupar operaciones que van juntas y el objetivo es que tengas una magia para muchas operaciones (que van juntas).

No debe usarlos para cosas que no son para ellos. Otros EAs los utilizan para identificar sus propias operaciones. Recientemente tuvimos un hilo aquí donde un EA cuyo autor trató de ser súper inteligente y abusó de la magia para algún tipo de contador comenzó a interferir con las operaciones de otros EAs y produjo una pérdida de $5000 dólares en sólo una noche para la víctima inocente que compró este EA entrando en una "lucha" de apertura-cierre-cierre sobre el mismo comercio. El EA comenzó silenciosamente a cambiar su número mágico asignado sin ninguna razón obvia y sin previo aviso hasta que se produjo el conflicto. ¡Se espera que un número mágico se mantenga constante!

Si necesita un número único para *cada* operación, entonces utilice el número de ticket.



Gracias, exactamente necesito agrupar mis órdenes que pertenecen juntas

int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green)
&   ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green);
Abro en 2 pares, me gustaría abrir 2 pares y luego cerrar 2 pares. Tener un número mágico único podría ayudarme a abrir y cerrar los 2 pares relacionados. No quiero cerrar el par equivocado.
 
idea: se podría utilizar siempre el mismo número mágico de siempre para hacerlo compatible con todo lo que utiliza números mágicos, pero también combinarlo con la cadena de comentarios incluyendo un número en el comentario que sea único para cada par de operaciones. De este modo, se podría encontrar la otra operación de cada par de operaciones simplemente buscando una operación con la misma magia y comentario.
 
7bit:
Idea: podría usar siempre el mismo número mágico de siempre para hacerlo compatible con todo lo que usa números mágicos pero también combinarlo con la cadena de comentarios incluyendo un número en el comentario que sea único para cada par de operaciones. De este modo, se podría encontrar la otra operación de cada par de operaciones simplemente buscando una operación con la misma magia y comentario.

Gracias.

Básicamente necesito una etiqueta única para cada pedido (2 pares cada uno) y así poder cerrarlos al mismo tiempo.

No quiero cerrar el par equivocado.

Si no es un número mágico, ¿cómo podría añadir este comentario único a cada pedido?

¿Necesitaría algún tipo de matriz dinámica?

 

Hay muchas combinaciones que puedes utilizar

por ejemplo si los abres en un minuto diferente puedes usar

OrderMagicNumber() == Minute();

Y si los abres en una hora diferente puedes usar

OrderMagicNumber() == Hour();

O si los abres en una TM diferente puedes usar

OrderMagicNumber() == Period();
 
qjol:

Hay muchas combinaciones que puedes utilizar

por ejemplo si los abres en un minuto diferente puedes usar

Y si los abres en una hora diferente puedes usar

O si los abres en una TM diferente puedes usar

Por favor, no recomiende semejantes tonterías. El número mágico no está pensado para almacenar valores que ya están contenidos en la propia orden.
 
qjol:

Hay muchas combinaciones que puedes utilizar

por ejemplo si los abres en un minuto diferente puedes usar

Y si los abres en una hora diferente puedes usar

O si los abres en una TM diferente puedes usar



Gracias. pero si tengo pedidos hechos en el mismo minuto o tiempo, puede cerrar el pedido equivocado. Necesito una etiqueta única, como un número mágico.

Necesito saber cómo asignar un nuevo número mágico a cada una de las nuevas órdenes y luego comparar todas las órdenes para encontrarlas al cierre.

 
Por favor, describa a grandes rasgos lo que hará su EA. Cuántos tipos de órdenes diferentes hay que gestionar por separado. Tal vez su problema no es un problema en absoluto si sabemos lo que realmente está tratando de lograr.