Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 294

 
MosheDayan:

Amigos, eu preciso de alguns conselhos...pls.

Estou traçando uma linha desde a última barra até o nível "branco" que eu quero. O nível "branco" é colocado desde o início de uma sessão de negociação(00:01) até seu encerramento (23:59). Como posso forçar esta linha a não desenhar diretamente para baixo, mas para o final do dia (23:59), ou seja, para o final da linha "branca"? Existe alguma forma de consertaro Buffer1[1]... ou estou mexendo nos amortecedores por nada...

Obrigado.


Para a DRAW_LINE você precisa de valores de preço em cada barra. Use um tipo de desenho de linha diferente - você encontrará o certo para você, eu acho. Basta colocar o cursor em DRAW_LINE e pressionar F1.

 
buyanov:


mensagem antes do início do segmento

"somma echrested"

o que isso significa?

o que fazer?


Este poderia ser o problema.

 Alert(Delta,Digits()));
 
buyanov:


mensagem antes do início do segmento

"somma echrested"

o que isso significa?

o que fazer?


Este poderia ser o problema.

 Alert(Delta,Digits()));
 
buyanov:


Talvez seja esse o problema.


Não, infelizmente. Eu me enganei no fragmento de texto. Deve ser assim

//---------------------------------------------------------------------------------------------------------------------------

nulo OnTick()

{

//*********************************

Alerta("beg OnTick");

FastMA=NormalizeDouble(iMA(NULL,0,Period_FastMA,0,MODE_SMA,PRICE_CLOSE,1),Digitos();//Period_FastMA=4

SlowMA=NormalizeDouble(iMA(NULL,0,Period_SlowMA,0,MODE_SMA,PRICE_CLOSE,1),Digitos();//Period_SlowMA=8

GetNext(NextTick);

Alerta(NextTick);

Alerta("NextTick=",NextTick=",NextTick);

Delta=NormalizeDouble(FastMA-SlowMA,Digits());

Alerta(Delta,Dígitos());

Alerta("FastMA=",DoubleToStr(FastMA)),Dígitos(), "SlowMA=",DoubleToStr(SlowMA,Dígitos()), "Delta=",DoubleToStr(Delta,Dígitos());


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


//-----------------------------------------------------------------------------------------------------------------------

Alerta("fim OnTick()");

}


 
buyanov:

Não, desculpe. Escrevi mal uma parte do texto. Deveria ser assim




Corrija o erro nesta linha.

Alert("FastMA=",DoubleToStr(FastMA)),Digits(),"SlowMA=",DoubleToStr(SlowMA,Digits()),"Delta=",DoubleToStr(Delta,Digits());

Use o botão SRC para inserir o código

 
STARIJ:
A mensagem contém números de linha e posições onde o compilador acha que deve ser colocada uma vírgula. Muito provavelmente a linha acima

mais simples - o suporte é fechado... :-)

 

O terminal tem uma função de clique à direita chamada "Refresh". Ele atualiza os dados no gráfico.

Como posso realizar uma ação semelhante dentro da EA?

 
Dmitriy Voevodkin:

O terminal tem uma função de clique à direita chamada "Refresh". Ele atualiza os dados no gráfico.

Como você pode realizar uma ação semelhante de dentro de uma EA?


ChartRedraw() tenta. Mas este não é um análogo completo.

 
Dmitriy Voevodkin:

O terminal tem uma função de clique à direita chamada "Refresh". Ele atualiza os dados no gráfico.

Como você pode realizar uma ação semelhante de dentro da EA?

O que você deseja atualizar a partir da EA?

 
Dmitriy Voevodkin:

O terminal tem uma função de clique à direita chamada "Refresh". Ele atualiza os dados no gráfico.

Como posso realizar uma ação semelhante de dentro de uma EA?

O análogo mais próximo é o ChartRedraw - ele redraça o gráfico.

Mas o que mais acontece quando se "Refresca", isto é desconhecido. Certamente a janela de Refresca e dados é bastante renovada e a WatchList também. Ou seja, há obviamente muitas ações ali.

Razão: