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 1126

 
A que distância estou de vocês
 
pessoal, vocês podem me dizer como fazer os gráficos no terminal para salvar a marcação depois de ligar novamente?
Eu salvei no formato csv, isso não funcionou
 
Seselio:

Есть условие для открытия ордера BUY. Открывается ордер, как сделать переход к SELL условию после закрытия BUY ордера?

if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
   {
    int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
      
       GlobalVariableSet("B_order",0); // Больше не ищем вход Buy

       //-----?????
       GlobalVariableSet("S_order",1); // Переходим к поиску Sell
       return;
   }
Exatamente o mesmo que para o Bai. Sua lógica aqui é incompleta mesmo para o Bai, eu sugeriria que assim fosse:
if(GlobalVariableGet("B_order",1)) //ищем  вход Buy
if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
   {
    int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
      
       GlobalVariableSet("B_order",0); // Больше не ищем вход Buy

       //-----?????
       GlobalVariableSet("S_order",1); // Переходим к поиску Sell
       return;
   }
else if(GlobalVariableGet("S_order",1))// ищем  вход Sell
{Условие для SELL}
 

Estou totalmente confuso com estes insetos, comecei a escrevê-los e depois eles começaram a ir por aqui e por ali. Em poucas palavras:

Pergunta: Eu o testei em demo com Alert e verifiquei como funciona. Eu fiz intencionalmente em meu EA a ordem errada tentando abrir, ele recebeu o código de erro 4051, ou seja, eu configurei esta função GetLastError() antes de abrir uma ordem e depois que ela foi aberta. Eu recebi: 1 tick desde o início da EA, chamada de erro--> 0 --> tentou abrir um pedido com condições erradas --> chamada de erro--> 4051, e quando o 2º tick já acionou a primeira chamada mostra 4051 e minha EA não envia mais nenhum pedido até que eu tenha lidado com a EA. A função GetLastError() chama o último erro do terminal ou do servidor e como redefini-lo? Quero dizer, se por exemplo "erro geral" código 2, e 5 minutos depois o servidor estará funcionando normalmente, o servidor me informará que não há erro. Em suma, confusos nesta lógica, ajudam quem pode. Pensei que tinha chegado aqui recentemente, mas afinal não entendi bem.

Справочник MQL4
Справочник MQL4
  • docs.mql4.com
Справочник MQL4
 
Evgeniy Oshurkevich:

Estou totalmente confuso com estes insetos, comecei a escrevê-los e depois eles começaram a ir por aqui e por ali. Em poucas palavras:

Pergunta: Eu o testei em demo com Alert e verifiquei como funciona. Eu fiz intencionalmente em meu EA a ordem errada tentando abrir, ele recebeu o código de erro 4051, ou seja, eu configurei esta função GetLastError() antes de abrir uma ordem e depois que ela foi aberta. Eu recebi: 1 tick desde o início da EA, chamada de erro--> 0 --> tentou abrir um pedido com condições erradas --> chamada de erro--> 4051, e quando o 2º tick já acionou a primeira chamada mostra 4051 e minha EA não envia mais nenhum pedido até que eu tenha lidado com a EA. A função GetLastError() chama o último erro do terminal ou do servidor e como redefini-lo? Quero dizer, se por exemplo "erro geral" código 2, e 5 minutos depois o servidor estará funcionando normalmente, o servidor me informará que não há erro. Em suma, confusos nesta lógica, ajudam quem pode. Pensei que tinha chegado aqui recentemente, mas afinal não entendi bem.

Tente reiniciar o erro com a função ResetLastError();
 
Alekseu Fedotov:
Tente reiniciar o erro com ResetLastError();
Obrigado
 

EXCEÇÃO!!!!!!!!! Prezado povo! Não se surpreenda que você esteja sendo molestado por novatos!!! O que há com o mecanismo de busca em ???? Sou algum tipo de especialista aqui há 2 semanas, você deveria ter visto meu rosto quando decidi verificar e descobrir mais sobre OrderSend() no motor de busca!!!! Pobres novatos. Bem, está bem, mudei a barra de endereço para 4 ao invés de 5, coloquei 4 na barra de endereço e não estou autorizado. Se eu não estiver logado no Mql4, o mecanismo de busca não funciona.

E também no fórum muitas pessoas inteligentes escrevem "para que serve o motor de busca" ou "procurar no motor de busca", "somos meio preguiçosos", etc., sem ofensa.

 

Na documentação:

GetLastError

Retorna o conteúdo da variável do sistema_LastError.

intGetLastError();

Valor retornado

Retorna o valor do últimoerro que ocorreu durante a execução de um programa mql4.

Nota .

Depois que a função é chamada, o conteúdo da variável _LastError é liberado.


Está claramente escrito na nota que _LastError é liberado para zero.

Vamos ler mais sobre_LastError.

int _LastError

A variável _LastError armazena o valor do últimoerro que ocorreu durante a execução do programa mql4. AfunçãoResetLastError()pode redefinir o valor para zero.

Você também pode usar a funçãoGetLastError() para obter o código de erro.


Diz: Você pode redefinir ovalor para zero com a funçãoResetLastError(). Por que deve ser reinicializado se diz_LastError se reinicia a zero?

Ok, continue lendoResetLastError().

ResetLastError

Define o valor da variável_LastError predefinida como zero.

vazioResetLastError();

Valor retornado

Sem valor de retorno.

Nota

GetLastError() limpa a variável_LastError.

AfunçãoGetLastError()limpa a variável_LastError.

Então por que preciso deResetLastError(); ?????

E como saberei mais tarde que erro ocorreu se houver 0 após a segunda chamada daGetLastError()? Porque limpa_LastError.

A propósito, na demonstração agoraGetLastError() mostra o mesmo erro em cada tick e não o reinicia.

Ou seja, recebemos o mesmo erro no primeiro tick e no segundo tick, minha EA não envia o pedido de abertura porque já viu o último erro

Eu meio que dormi ontem à noite, não tomo uma bebida desde a véspera de Ano Novo.



_LastError - Предопределенные переменные - Справочник MQL4
_LastError - Предопределенные переменные - Справочник MQL4
  • docs.mql4.com
_LastError - Предопределенные переменные - Справочник MQL4
 
Evgeniy Oshurkevich:

Na documentação:

GetLastError

Retorna o conteúdo da variável_LastError system.



Agora leia a documentação MT5 normal, agora algumas funções antigas funcionam exatamente como estão escritas, porque a documentação mt4 está desatualizada e há muitas coisas ainda não corrigidas.

GetLastError

Retorna o conteúdo da variável_LastError system.

intGetLastError();

Valor retornado

Retorna o valor do último erro que ocorreu durante a execução do programa mql5.

Nota

Depois que a função é chamada, o conteúdo da variável _LastError não é apagado. A funçãoResetLastError() deve ser chamada para zerar esta variável.

Veja também

Códigos de retorno de servidores comerciais

 
Evgeniy Oshurkevich:

Eu meio que dormi a noite toda, não tomo uma bebida desde a noite de Ano Novo.

Bem, eu estou desde 1997)

Veja, há um tique e com ele um sinal, e se você receber um erro, ele precisa ser processado. Processado e consultado novamente, mas antes de consultar você pode zerar a variável com o erro, então a próxima consulta se houver um erro, ela voltará para a variável, mas se não houver erro, ela será "0".

Você não precisa zerar a variável, mas se houver um erro, ela retornará um novo valor. Em qualquer caso, você não deve estar interessado no erro que teve da última vez no último tick, você deve processar apenas o que você tem "agora".