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 1112

 
paukas:
OrdensTotal()

Talvez eu não entenda, mas apenas pensei que OrdersTotal()==0 é o oposto do objetivo final do meu laço.

O que eu quero também pode ser imaginado desta forma:

Condição;

while(OrdensTotal()==0)

{

Comércio proibido;

}

 
Mislaid:

Não, 100 gráficos são suficientes, mas, você tem que escrever o indicador corretamente.

Bem, sim. Você não pode abrir mais de 100 gráficos em Metatrader.

E como organizar o carregamento oportuno do histórico para todos os símbolos e cronogramas no indicador?
A chamada da ArrayCopySeries vai fazer isso?

No início do indicador, a chamada da ArrayCopySeries não bombeia o histórico para novos símbolos.
Talvez não seja bombeado porque o mercado está fechado nos fins de semana?
 

Bom dia! Preciso de ajuda! Quando a EA está trabalhando a ordem é fechada por uma parada e imediatamente em um novo tique, há uma abertura de uma nova ordem na mesma barra na mesma direção e, como conseqüência, a parada é acionada novamente e isto pode continuar várias vezes. O objetivo é abrir uma nova ordem após o fechamento por uma parada e somente após a próxima travessia do MA curto com o MA longo. Se possível, por favor, sugira o código em mql4. Muito obrigado de antemão!

 
Sokolmih:

Bom dia! Preciso de ajuda! Quando a EA está trabalhando a ordem é fechada por uma parada e imediatamente em um novo tique, há uma abertura de uma nova ordem na mesma barra na mesma direção e, como conseqüência, a parada é acionada novamente e isto pode continuar várias vezes. O objetivo é abrir uma nova ordem após o fechamento da parada e somente após a próxima travessia do MA curto com o MA longo. Se possível, por favor, sugira o código em mql4. Obrigado!

Se não houver mudança na ordem, ela não deve mais ser comercializada, e se houver uma nova travessia, ela não deve mais ser comercializada.

Eu não vou escrever o código do zero - isto é para freelancers.

 
RickD:
Bem, sim. Você não pode abrir mais de 100 gráficos em Metatrader.

E como organizar o download oportuno do histórico para todos os símbolos e cronogramas no indicador?
A chamada da ArrayCopySeries vai fazer isso?

No início do indicador, a chamada do ArrayCopySeries não bombeia o histórico para novos símbolos.
Talvez não seja bombeado porque o mercado está fechado nos fins de semana?

Você precisa de um roteiro para os fins de semana.

Eu trabalho em dias de semana. É por isso que eu uso o indicador. Eu lhe dou uma lista de instrumentos e ela solicita citações para o período de tempo, no gráfico do qual está sentada. Eu não me preocupo com o manuseio de erros. Depois de uma dúzia de minutos, tudo se acalma.

Eu esqueci completamente. Se você precisar salvar a história, uma tabela para um instrumento deve estar sempre aberta.

 
evillive:

O tempo ou preço da travessia deve ser armazenado em variáveis globais do terminal ou em um arquivo e a situação atual no gráfico deve ser comparada com o valor armazenado; se não houver mudança e a ordem tiver sido atravessada - não negocie novamente, se houver uma nova travessia - negocie.

Não vou escrever o código do zero, ele deve ser feito por um freelancer.

Obrigado

Não estou pedindo o código completo, mas, por favor, dê algumas dicas. Eis como identificar o próximo cruzamento, você pode ajudar?

 
Sokolmih:

Obrigado

Não estou pedindo o código inteiro, é claro, mas por favor, me dê alguns apontamentos/sugestões. Eis como determinar o próximo cruzamento, você pode ajudar?

Sim, da mesma forma que os anteriores, você tem um EA, veja no código.
 
evillive:
Sim exatamente o mesmo que os anteriores, você tem a EA, veja no código.
Talvez eu não tenha feito a pergunta corretamente, olhe, identifiquei na história que a última ordem fechou na parada e agora, seguindo seu conselho, tenho que lembrar o valor de curto e longo, então nos próximos ticks tenho que compará-los com os valores atuais e se um se torna mais baixo ou mais alto que o outro, então eu abro uma ordem. Se entendo corretamente.
 
Sokolmih:
Talvez eu não tenha feito a pergunta corretamente. Olhe, eu verifiquei o histórico e descobri que a última ordem foi fechada por uma parada e agora, de acordo com seu conselho, eu deveria memorizar os valores do curto e longo e, em seguida, nos próximos tiques, eu deveria compará-los com os valores atuais e, se um se torna mais baixo ou mais alto que o outro, então eu abro uma nova ordem. Se entendo corretamente.

Você pode se lembrar do tempo de abertura do bar onde a travessia de dois MAs é registrada. O consultor especializado memorizou o momento da travessia e abriu uma ordem. Isto é seguido pelo monitoramento da presença de uma ordem de mercado, tanto quanto eu entendo, há apenas uma ordem no mercado.

Uma vez fechado o pedido, o consultor especializado compara o tempo de fechamento do pedido com o tempo de travessia. Se OrderCloseTime>CrossTime, a negociação é proibida e uma nova travessia é monitorada. Se uma nova travessia for encontrada durante este período - lembre-se de seu tempo. Neste caso, OrderCloseTime<CrossTime torna-se automaticamente uma nova ordem e uma nova ordem é aberta.

 
evillive:

Você pode se lembrar do tempo de abertura do bar onde a travessia de dois MAs é registrada. O consultor especializado memorizou o momento da travessia e abriu uma ordem. Isto é seguido pelo monitoramento da presença de uma ordem de mercado, até onde eu entendo, há apenas uma ordem no mercado.

Uma vez fechado o pedido, o consultor especializado compara o tempo de fechamento do pedido com o tempo de travessia. Se OrderCloseTime>CrossTime, a negociação é proibida e uma nova travessia é monitorada. Se uma nova travessia for encontrada durante este período - lembre-se de seu tempo. Isto se torna automaticamente OrderCloseTime<CrossTime e uma nova ordem é aberta.

Consegui as condições e agora estou tentando descobrir como determinar a hora de abrir o bar onde a travessia de dois MAs é fixada. Obrigado pela dica.