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 68

 
SEMPRE RECALCULAR TODOS OS OBJETOS.
 

OK.


Rustam, Artyom - Muito obrigado!

 

Você pode ajudar?A EA precisa terminar, eu mesmo estou examinando, e não consigo terminar, na verdade, talvez uma EA muito boa acabe, cerca de um ano mais que um pouco, a estratégia não falha, mas ultimamente menos sinais foram emitidos, se antes de 22 negócios por mês deles 2 negócios com prejuízo, 2-3 sem prejuízo, agora cerca de 16-18 negócios deles 2-3 com prejuízo, e 2 sem prejuízo, na verdade, o conselheiro está quase trabalhando, mas nirvozhno entrou em dois induks em colaboração, esta estratégia AC e JSC bem, eu acho que eles sabem:) Tenho um estúpido AC1>AC2 AO1>AO2 prescrito na minha EA, o que é fundamentalmente estúpido:)

Quem pode ajudar a escrever pessoalmente, por favor

 
Olá! Por favor, avise como escrever uma condição correta como:se(Entre todas as ordens abertas não há ordem com um mágico==mágico)Obrigado antecipadamente...já meu cérebro está apenas fervendo...
 
niktron:
Olá! Por favor, avise como escrever uma condição correta como:se(Entre todas as ordens abertas não há ordem com um mágico==mágico)Obrigado antecipadamente...já meu cérebro está apenas fervendo...

int ExampleMagic = 65536;
if (!PrsntMgc(ExampleMagic)) {
   // Your code here ...
}

bool PrsntMgc(int MgcNum) {
   for (int i = OrdersTotal()-1; i >= 0; i--) {
      OrderSelect(i, SELECT_BY_POS);     
      if(OrderMagicNumber() == MgcNum) 
         return true;
   }
   return false;
}
 
Chiripaha:

2. Necessidade. Preciso visualizar 2 tipos de objetos: linhas horizontais e linhas de tendência. Os outros objetos não são relevantes nesta enumeração.

Se entendi corretamente, as opiniões estão divididas? ou a resposta sobre "primeiros" não contradiz a afirmação anterior?

Não, não são. Dei uma olhada em seu código e respondi "sem olhar". Sua linha:

for(int i=ObjectsTotal(OBJ_HLINE)-1; i>=0; i--) 

- atribui ao índice i do laço um valor igual ao número total de linhas horizontais. Se você tiver 3 deles, o loop será de 2 a 0. E não está claro o que está em seu loop, mas haverá apenas três iterações de 2 a 0.

 
niktron:
Olá, você poderia me dizer como escrever uma condição correta como:se(Entre todas as ordens abertas não há ordem com magic==magic)Thanks in advance...already my brain is just feriling...

Certo:

//+----------------------------------------------------------------------------+
int Magic=12345679;
//+----------------------------------------------------------------------------+
int start() {
   if (!ExistOrdersByTypeWithMagic(Symbol(), OP_BUY, Magic)) {
      Print("Нет открытых позиций Buy с магиком "+Magic);
      }
   else Print("Позиция Buy с магиком "+Magic+" существует однако...");
   if (!ExistOrdersByTypeWithMagic(Symbol(), OP_SELLLIMIT, Magic)) {
      Print("Нет установленных ордеров SellLimit с магиком "+Magic);
      }
   else Print("Висит где-то лимитничек Sell с магиком "+Magic);
   
   // e.t.c.
   
   return(0);
}
//+----------------------------------------------------------------------------+
bool ExistOrdersByTypeWithMagic(string sy, int op, int mn) {
   int i, k=OrdersTotal()-1;
   for (i=k; i>=0; i--) {
      if (OrderSelect(i, SELECT_BY_POS)) {
         if (OrderSymbol()!=sy)  continue;
         if (OrderType()!=op)    continue;
         if (OrderMagicNumber()==mn) return(true);
         }
      }
   return(false);
}
//+----------------------------------------------------------------------------+

A função ExistOrdersByTypeWithMagic() procura um determinado tipo de ordem/posição por um determinado símbolo com Magic e retorna verdadeiro se houver um e falso se não houver

 
r772ra:

Aqui

Mais uma vez, obrigado!
 
Qual é o número máximo de elementos em uma matriz?
 
MauzerVII:
Você pode me dizer qual é o número máximo de elementos de uma matriz?
Determinado pela memória livre disponível para o processo.