Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 384

 
le0nid2014:
...

se (OrdersTotal() == 0 && ********** )

OrderSend("USDCHF",OP_BUY,Lots,Ask,0,0,0,0, "5891",MagicNumb,0,Red);


se (OrderTotal() == 0 && ***********)

OrderSend("USDCHF",OP_SELL,Lots,Bid,0,0,0,0, "58892",MagicNumb,0,Red);

...
Está a olhar na direcção errada. Tudo já lhe é dito. Dei até um exemplo abstracto acima. Ou é demasiado preguiçoso para fazer uma pesquisa?
 
Artyom Trishkin:
Se tiver dois Conselheiros Especialistas, eles devem ter o mesmo feiticeiro. Devem ser lançados em diferentes gráficos para um símbolo. Em geral, é claro que é mais fácil melhorar o principal do que iniciar outro.

Não posso melhorá-lo, é do Mercado.

Não o posso utilizar em 2 gráficos porque não encontro condições adequadas. Abrirá encomendas em 2 direcções quando restar 0.

 
Artyom Trishkin:

Bem, a verificação é uma chamada de função que devolve uma bandeira:

if(!Function_check_open_position(symbol,OP_BUY,magic)) function_open_position(symbol,OP_BUY,Lots,stop_loss,take_profit,magic,comment);
if(!Function_check_open_position(symbol,OP_SELL,magic)) Função_open_position(symbol,OP_SELL,Lots,stop_loss,take_profit,magic,comment);

Aqui, primeiro, se precisarmos de descobrir se existe novamente uma ordem seguindo o código, teremos de chamar a função mais uma vez. E se memorizarmos o valor em variáveis, podemos passá-las adiante sem voltar a chamar a função. Em segundo lugar, é uma questão de gosto, não gosto de fazer construções complexas, especialmente se houver algumas condições ou se muitos argumentos forem passados para uma função. Agrava a compreensão do código.
 
Vitalie Postolache:
Sim, o meu erro foi revelado quando falei de "sem inlúdios", esta característica está apenas no Trade.mqh inluder.

Não há problema, fechei com o oposto.

O fim é escrito num piscar de olhos, demora mais tempo a fazer um sinal.

na 4-rka parece ser pior deste ponto de vista....

e que a multicurrency é uma beleza, não posso acreditar nos meus olhos.

BRAVO para os criadores! //transição pela primeira vez foi exactamente 1 dia.

 
Tapochun:
Em primeiro lugar, se quiser descobrir se existe novamente uma ordem, terá de chamar novamente a função. E se quiser armazenar o valor em variáveis, pode passá-las adiante sem voltar a chamar a função. Em segundo lugar, é uma questão de gosto, não gosto de fazer construções complexas, especialmente se houver algumas condições ou se muitos argumentos forem passados para uma função. Piora a compreensão do código.
A julgar pela pergunta, não há mais nada de que precise.
 
le0nid2014:

Não posso melhorá-lo, é do Mercado.

Não o posso utilizar em 2 gráficos porque não encontro condições adequadas. abrirá encomendas em 2 direcções quando restarem 0 delas.

Já vos disse como implementá-lo e como abrir encomendas em 2 direcções. Já lhe foi dito como fazê-lo.
 
Artyom Trishkin:
A julgar pela pergunta, não há mais nada a fazer.
Os projectos estão em expansão, deve tentar pensar no futuro.
 
Tapochun:
Os projectos estão em expansão,

Artyom Trishkin:
Deve funcionar num gráfico, e no segundo - um simples que abre duas posições - no outro. Já lhe foi dito como fazê-lo.

Não é um pouco inadequado.Adeus.

 
Tapochun:
Os projectos estão em expansão, é preciso tentar pensar no futuro.

Sim, obrigado pela ciência. Vou pensar no assunto...

ZS. O que impede então de devolver o cheque não em condições, mas numa variável e já o verificar? Provavelmente a mais selvagem complexidade deste projecto no futuro...

E mais uma coisa: se o projecto estiver a ser expandido, o tempo de execução do código também pode aumentar. Como resultado, haverá muitos cálculos a serem efectuados depois de os dados serem escritos na variável. Então, não será possível que quando precisarmos de uma segunda verificação, a ordem já tenha sido fechada (numa paragem, por exemplo ... ou take ...), e o programa calcule então um valor incorrecto armazenado na variável?

Exactamente - temos de pensar antecipadamente nos grandes projectos e em todas as situações possíveis que possam ocorrer. Por isso, vou manter a minha convicção - ter sempre os dados mais recentes imediatamente antes de os utilizar. Na medida do possível.

 

le0nid2014:

És um pouco inadequada.Adeus.

Está a falar comigo? Muito bem, tenha um bom dia. Mas voltará ao que eu sugeri no final, juntando-se assim às fileiras dos inadequados.
Razão: