Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 57

 
FAQ:

E os arrays?

Lemos a lista de pedidos em uma matriz bidimensional, a primeira dimensão é um magik, a segunda é um lucro.

ArraySort() - as ordens são alinhadas por mágicos na ordem, então começamos a somá-las e exibi-las.

Isso é legal!

O que temos na interseção das dimensões?

 

Se lermos diretamente as ordens da lista, os mágicos estarão dispersos, ou seja, pelo menos precisamos conhecer os mágicos, ou fazer um loop dentro do loop para encontrar um mágico na segunda lista e adicionar um lucro a ela.

Depois de ArraySort() os mágicos estão alinhados em ordem. nós simplesmente passamos pela matriz e resumimos a segunda dimensão (lucro) assim que um mágico na primeira dimensão mudou - nós emitimos uma variável de texto :

int premagic = arr[0][0];
string text = "";
for(i=0;i=ArrayRange(arr,0);i++){
   if(arr[i][0]==premagic){
       profit += arr[i][1];
   }else{
       text = text + "MagickNum :"+premagic+"  Profit :"+profit+"\n";
       profit   = arr[i][1];
       premagic = arr[i][0];
   }
}
Comment(text);
 
borilunad:
Confira exatamente a história semanal da W1!

Obrigado, apenas faço o download do histórico ao instalar e verifico especificamente o período em que definitivamente não há furos - os castiçais estão na tabela.
 
Ajuda para um novato! Não consigo resolver um problema.
Um Expert Advisor abre até 100 pedidos, coloca sl and thr. Quando um certo nível de sinal é cruzado, a ordem é modificada sl. e thr. Cada pedido tem seu próprio nível de sinal individual, sl and thr. Sl e thr para modificações posteriores é calculado no momento da abertura do pedido.
Não consigo pensar em um algoritmo. Por favor, me dêem um empurrão!!!
 
Como posso fazer minha EA lembrar que não é possível abrir mais de dois pedidos em um determinado castiçal?
 
MauzerVII:
Como fazer com que a EA se lembre que não podem ser abertas mais de duas ordens em um determinado castiçal?


Se do mercado, lembre-se do momento de abrir uma ordem e defina o número de ordens abertas para uma.

Quando a próxima ordem for aberta, verifique o tempo, se não tiver ido além da barra, então aumente o número de ordens abertas.

O resto da lógica é bastante fácil de construir.

 

outra pergunta :

Encerramos um lote de pedidos, cerca de 30 pedidos por ciclo

Como verificar se todos os pedidos estão fechados ou fazer um laço que irá bater no corretor até que ele pare as solicitações?

Acabo de esboçar a primeira coisa que me veio à mente, é possível fazer isso?

void close (int m)
{
for( int f=OrdersTotal()-1; f>=0; f--)
if ( OrderSelect(f,SELECT_BY_POS)    )
if ( OrderSymbol()==Symbol()         )
if ( OrderMagicNumber()==m           )
if (OrderType()==0)
if (OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Red)==true) continue;
else f++;
if (OrderType()==1)
if (OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Red)==true) continue;
else f++;
}
 
nachalo = H;
finich = D;

if (DayOfWeek() == 1 && Hour()==H && Minute()<=00)
      {
      Opn_B = true;
      }
if(DayOfWeek() == 2 && Hour()==D && Minute()<=01)
      {                                           
      Cls_B=true;                 
      }

Ao testar a EA por dias da semana e horas, escreveu o seguinte código:

Variáveis "H", "D" de saída para:

extern int  H = 18;  
extern int  D =19;
nas propriedades EA eu defino valores iniciais variáveis de 0 a 23, passo 1.
Todos os resultados são rejeitados como insignificantes. Outros EAs definiram o intervalo de testes, mas este não funciona.
Por favor, diga-me o que está errado?
 
nachalo = H;
finich = D;

if (DayOfWeek() == 1 && Hour()==H && Minute()<=0)
      {
      Opn_B = true;
      }
if(DayOfWeek() == 2 && Hour()==D && Minute()<=1)
      {                                           
      Cls_B=true;                 
      }
 
VOLDEMAR:


Obrigado, levei três dias para calculá-lo manualmente.

A única coisa irritante é que a porcentagem de negócios lucrativos não é visível na otimização, ou existe alguma forma de exibi-la?