assessor especializado - perguntas diversas - página 22

 
Marco vd Heijden:

Por favor, use o modelador que está sob a guia Ferramentas.
Eu não tenho idéia do que você está tentando realizar, então tenho que adivinhar o que você quer fazer isto nunca é bom.
Mas você pode olhar para o exemplo aqui:
Assim você pode ver que pode usar o ObjectGetDouble diretamente, não há necessidade de copiar o valor para outro duplo porque o próprio objeto detém o valor, e quando você arrasta a linha esse valor muda automaticamente, e será visto na próxima vez que você o ler.

Antes de mais nada, obrigado por seus comentários, que é que os comentários me mostram caminhos certos.
Eu cometi um grandeerro porque estava tentando entrar no arquivo Test.mq4. Desde que comecei a tentar entrar no arquivo principal do mq4. Estou obtendo o caminho certo. Ambos os arquivos são muito diferentes para mim.

Sim, depois de tentar várias vezes seus exemplos, pois pude alcançar meu objetivo nesta preocupação. Mas descobri que deveria usar OnChartEvent() apenas para " HLine " ( e alguns gráficos ) criações de objetos.
E então eu só deveria usar OrderModify() para modificação Take Profit, que a modificação Take Profit deveria seguir o objeto " HLine ". ( Primeiro: " HLine " obtém atualmente Take Profit Price e segundo: Take Profit segue o objeto " HLine " - e mas OrderModify() não deve ser atualizado enquanto eu arrasto o objeto " HLine " obeject )
E agora, primeiro comecei a pesquisar sobre OrderModify().

Sinto que poderia verificar o seu exemplo mais uma vez. Espero poder fazer isso.

Obrigado por toda a sua ajuda, Sr. Marco.

 

O Sr. Marco, mais uma vez, agradece muito por tudo.

Portanto, apenas a função OM terminou. ( Modificação de Pedidos )
Eu vi poucos problemas em minha função OM que eu mesmo resolvi.
Mas continuamente vejo que a função de OM precisa de algumas atualizações, porque estou tentando testar a função de OM com as modificações de Take Profit.

Portanto, gostaria de mencionar que ainda estou enfrentando novos problemas ( agora Mercado Fechado ).

#1 Que parte dos códigos eu poderia manter?
Eu já tentei as duas partes dos códigos abaixo. Mas eu não vi nenhuma diferença entre eles. Parece que os dois funcionam bem para mim.

// I learned this Calculation from thread of @Simon's
for ( i = OrdersTotal() - 1; i >= 0; i-- ){}

// This is from yours Mr. Marco
for ( i = OrdersTotal(); i >= 0; i-- ){}

#2 Isso é errado?
Eu uso 7 vezes abaixo de uma parte do código em meu único script EA. Apenas 2x para o cálculo das funções Vender e Comprar. E 2x Fecho delas. Chamo-as pelo OnChartEvent() e OnTick()

for ( i = OrdersTotal() - 1; i >= 0; i-- )
  {
   if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
   if(closeothers==false && OrderSymbol()!=Symbol()) continue;
//...
  }



Também tenho outros problemas, mas estou trabalhando neles para resolvê-los por mim mesmo.

Obrigado de antemão.

 

A numeração começa de 0 e não 1.

Suponha que você tenha 3 ordens. São elas:

  • 0
  • 1
  • 2

Portanto, você deve usar isto:

for ( i = OrdersTotal() - 1; i >= 0; i-- ){}

Caso contrário, não será um desastre; a OrderSelect falhará na primeira passagem (i==3) e passará para a próxima iteração.

Desculpe, não entendo sua segunda pergunta.

 

Para a segunda pergunta.

Normalmente, tenho a tendência de espremer tudo em um loop, mas é claro que você pode usar vários.

 
honest_knave:

Caso contrário, não será um desastre; a OrderSelect falhará na primeira passagem (i==3) e passará para a próxima iteração.

Marco vd Heijden:

Normalmente, tenho a tendência de espremer tudo em um só laço, mas é claro que você pode usar vários.

Obrigado por seus comentários. Muito obrigado!

 

Eu já gastei algumas horas para resolver estes problemas, que eu poderia descobrir de onde isso vem?!
P: Por favor, deixe-me ver o que é isso... ( anexo arquivo de imagem )

Uso seu exemplo mais útil " Stealth 4.mq4 " para arrastar Stop Loss e Take Profit, de modo que funcionava perfeitamente na última sexta-feira.
Agora o mercado fechou, eu vejo as mensagens da janela do Journal. Quando removo OrderModify() o código bloqueia que as mensagens parem.

Tenha um bom fim de semana.

Arquivos anexados:
 

Bem, você pode modificar uma ordem quando os mercados fecham para que seja lógico...

Seria necessário um pouco mais de código para fazê-la parar.

 

Max Enrik: Quando eu removo OrderModify() o código bloqueia que as mensagens parem.
  1. É por isso que eu recomendo
    Não negocie várias moedas em um único EA
  2. Se você trocasse apenas um par/gráfico no OnTick, você não teria o problema.
 

É perfeitamente possível negociar todas as moedas em um único EA.

 
Marco vd Heijden: É perfeitamente possível negociar todas as moedas em um único EA.
Nunca disse que não era. Disse que não o recomendo por causa de todos os problemas. Um par/gráfico simplifica tudo. Não torne as coisas mais difíceis do que o necessário.