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

 
Tapochun:
Tudo depende da lógica do indicador. Na maioria das vezes - sim, na função OnCalculate().
Afunção "OnCalculate() é chamada apenas em indicadores personalizados quando é necessário calcular os valores dos indicadores pelo eventoCalculate. Isto geralmente acontece quando chega um novo carrapato para um símbolo" - como depois fazer o cálculo correr apenas uma vez ao aparecimento de uma vela. Em mql4 houve algum tipo de verificação.
 
first_may:
Afunção "OnCalculate() é chamada apenas em indicadores personalizados quando é necessário calcular os valores dos indicadores pelo eventoCalculate. Isto geralmente acontece quando um novo tick é recebido pelo símbolo" - como então fazer o cálculo correr apenas uma vez ao aparecimento de uma vela. Em mql4 há um cheque.
A forma mais fácil, se não o primeiro tick (pré_calculado != 0) e taxas_total > pré_calculado.
 
Tapochun:
Mais fácil se não o primeiro tick (pré_calculado != 0) e taxas_total > pré_calculado.
Sim :). Talvez eu devesse encontrar um exemplo de duas passagens de médias móveis exponenciais (eu vi-o algures) e refazê-lo.
 
first_may:
Sim :). Talvez devesse encontrar um exemplo de duas passagens de médias móveis exponenciais (já o vi em algum lugar) e refazê-lo.
Quando se começa - é sempre melhor fazer por exemplos! Linhas de código separadas dificilmente o ajudarão. Boa sorte!
 

Como é que intercepto o evento de encerramento no tick actual? Não há meios padrão? Isto é, quando se abre um negócio, é preciso escrever algo do tipo:e depois verificar cada carrapato:

//Инициализация
int totalOrders=0;
...
//Открытие новой сделки
int ticket = OrderSend(....)
if(ticket > 0)
    totalOrders++;

e, em seguida, verificar todas as carraças:

if(totalOrders != OrdersTotal())
    //Обработка события закрытия сделки
 
gammaray:

Como é que intercepto o evento de encerramento no tick actual? Não há meios padrão? Isto é, quando se abre um negócio, é preciso escrever algo do tipo:e depois verificar cada carrapato:

e, em seguida, verificar todas as carraças:

É necessário comparar o número de posições monitorizadas no tick anterior com o número no tick actual. Se o tick actual se tornou menos - guardamos (lembramos) o valor actual das posições que estão a ser seguidas como "passadas" e processamos o facto de fechar.
 
gammaray:

Como é que intercepto o evento de encerramento no tick actual? Não há meios padrão? Isto é, quando se abre um negócio, é preciso escrever algo do tipo:e depois verificar cada carrapato:

e, em seguida, verificar todas as carraças:

Não compreendo nada. Que valor pretende obter?

Eu li o que escreveu desta forma

{

Abertura de uma encomenda;

Se a ordem abrir, então

TotalOrder = TotalOrder+1;

}

) por defeito totalOrdem =0, mas após cada abertura de uma ordem o valor aumentará, após 10 aberturas (o valor será exactamente 10) o contador de todas as posições já abertas (sem verificação por tipo, por Magik e por símbolo = adicionará absolutamente todas as ordens abertas)

E a condição seguinte parece ser a seguinte

se TotalOrder não for igual aOrderTotal {}

 
Boa tarde a todos! Apelo aos conhecedores. Preciso de uma simples EA, cuja tarefa será alterar as paragens nas ordens accionadas em castiçais BAIXOS ou ALTOS a cada período da TF. Eu próprio tenho uma mesa, infelizmente. Não sei se já lá foi colocado. Não o encontrei - com aditivos que se desorganizam.

 
mefos:
Boa tarde a todos! Apelo aos conhecedores. Preciso de um simples Expert Advisor, cuja tarefa será alterar as paragens nas ordens desencadeadas em castiçais BAIXOS ou ALTOS a cada período da TF. Eu próprio tenho uma mesa, infelizmente. Não sei se já lá foi colocado. Não o encontrei - com aditivos que se desorganizam.

Isto é para ti, querida, para a mesa de encomendas. Aqui apenas aconselhamos e ajudamos com problemas de código.
 
Ivan Vorontsov:
Depende de si, companheiro, até à recepção da encomenda. Aqui só dão conselhos e ajuda com problemas de código.
+++