Como criar uma matriz de números mágicos?

 

É possível criar uma matriz numérica mágica?

ex. Eu vou fazer 5 pedidos e cada pedido tem um número mágico único.

int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green) 
Em vez de 12345, talvez OrderMagic [x][0] para cada nova encomenda feita? Como fazer isso?

Então, ao fechar, vou analisar cada pedido e fecharei um pedido específico com seu 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)

Ao invés de 12345, como eu passo por cada número mágico único na matriz?

Obrigado de antemão!

 

É possível criar uma matriz numérica mágica?

sim

ex. Vou fazer 5 pedidos e cada pedido tem um número mágico único.

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

if(OrderMagicNumber() == magicArray[3]) { // que se referem a 7 neste exemplo

 
phy:

É possível criar uma matriz numérica mágica?

sim

ex. Vou fazer 5 pedidos e cada pedido tem um número mágico único.

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

if(OrderMagicNumber() == magicArray[3]) { // que se referem a 7 neste exemplo


Obrigado!

Como eu faço para enviar cada novo pedido com uma matriz de números mágicos única? Funcionará desta forma? magicArray[x] em vez de 12345?

OrderSend está em uma função e não em um loop. Como ele saberia como atribuir um novo número mágico com cada novo pedido. Será apenas adicionando x++ após OrderSend?

Eu preciso inicializar um array global?

Como fazer uma matriz dinâmica, pois não sei quantos pedidos haverá eventualmente?

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 que você quer atribuir a cada pedido um número mágico diferente em primeiro lugar? Os números mágicos são destinados a agrupar as profissões que pertencem juntas e a questão é que você terá uma mágica para muitas profissões (que pertencem juntas).

Você não deve usá-los para coisas para as quais eles não estão destinados. Outros EAs os utilizam para identificar suas próprias profissões. Recentemente tivemos aqui um tópico onde um EA cujo autor tentou ser super inteligente e abusou da magia para algum tipo de contador começou a interferir com outros negócios do EA e produziu uma perda de US$ 5.000 em apenas uma noite para a vítima inocente que comprou este EA entrando em uma "luta" aberta-fechado-aberta-fechado-fechada sobre o mesmo negócio. A EA começou silenciosamente a mudar seu número mágico atribuído sem razão óbvia e sem aviso prévio até que o conflito aconteceu. Espera-se que um número mágico permaneça constante!

Se você precisar de um número único para *cada* profissão, basta usar o número do bilhete.

 
7bit:

Por que você quer atribuir a cada pedido um número mágico diferente em primeiro lugar? Os números mágicos são destinados a agrupar as profissões que pertencem juntas e a questão é que você terá uma mágica para muitas profissões (que pertencem juntas).

Você não deve usá-los para coisas para as quais eles não estão destinados. Outros EAs os utilizam para identificar suas próprias profissões. Recentemente tivemos aqui um tópico onde um EA cujo autor tentou ser super inteligente e abusou da magia para algum tipo de contador começou a interferir com outros negócios do EA e produziu uma perda de US$ 5.000 em apenas uma noite para a vítima inocente que comprou este EA entrando em uma "luta" aberta-fechado-aberta-fechado-fechada sobre o mesmo negócio. A EA começou silenciosamente a mudar seu número mágico atribuído sem razão óbvia e sem aviso prévio até que o conflito aconteceu. Espera-se que um número mágico permaneça constante!

Se você precisar de um número único para *cada* profissão, basta usar o número do bilhete.



Obrigado, exatamente eu preciso agrupar minhas ordens que pertencem

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);
Eu abro em 2 pares, eu gostaria de abrir 2 pares e depois fechar 2 pares. Ter um número mágico único poderia me ajudar a abrir e fechar os 2 pares relacionados. Eu não quero fechar o par errado.
 
idéia: você poderia usar sempre o mesmo número mágico de sempre para torná-lo compatível com tudo o mais que usa números mágicos, mas também combiná-lo com a seqüência de comentários, incluindo um número no comentário que é único para cada par de negócios. Você poderia então encontrar a outra profissão de cada par de profissões, simplesmente procurando uma profissão com a mesma magia e comentário.
 
7bit:
idéia: você poderia usar sempre o mesmo número mágico como de costume para torná-lo compatível com tudo que usa números mágicos, mas também combiná-lo com a seqüência de comentários, incluindo um número no comentário que é único para cada par de comércios. Você poderia então encontrar a outra negociação de cada par de negociações simplesmente procurando por uma negociação com a mesma magia e comentário.

Obrigado!

Basicamente, preciso de uma etiqueta única para cada pedido (2 pares cada) e para que eu possa fechá-los ao mesmo tempo.

Eu não quero fechar o par errado.

Se não fosse um número mágico, como eu poderia acrescentar este comentário único a cada pedido?

Será que eu precisaria de algum tipo de matriz dinâmica?

 

Há muitas combinações que você pode usar

por exemplo, se você os abrir em um minuto diferente, você pode usar

OrderMagicNumber() == Minute();

E se você os abrir em uma hora diferente, você pode usar

OrderMagicNumber() == Hour();

Ou se você os abrir em um TM diferente, você pode usar

OrderMagicNumber() == Period();
 
qjol:

Há muitas combinações que você pode usar

por exemplo, se você os abrir em um minuto diferente, você pode usar

E se você os abrir em uma hora diferente, você pode usar

Ou se você os abrir em um TM diferente, você pode usar

por favor, não recomende tais disparates. O número mágico não se destina a armazenar valores que já estão contidos na própria ordem.
 
qjol:

Há muitas combinações que você pode usar

por exemplo, se você os abrir em um minuto diferente, você pode usar

E se você os abrir em uma hora diferente, você pode usar

Ou se você os abrir em um TM diferente, você pode usar



Obrigado! mas se eu tiver pedidos feitos no mesmo minuto ou no mesmo período de tempo, pode fechar o pedido errado. Preciso de uma etiqueta única, como um número mágico.

Preciso saber como atribuir um novo número mágico a cada nova ordem e depois comparar todas as ordens para encontrá-las ao fechá-las.

 
descreva aproximadamente o que sua EA fará. quantos tipos diferentes de pedidos que precisam ser administrados separadamente existem. Talvez seu problema não seja de todo um problema se soubermos o que você está realmente tentando alcançar.