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 1125

 
Evgeniy Oshurkevich:
Já o recebi, e neste agradecimento, antes de qualquer ordem comercial já prescrevia a função de tratamento de erros em toda parte, mas agora estou preso em um loop e como frear a EA, se haverá erros só por causa do meu erro, e onde exatamente prescrever. Ou seja, tentei abrir um pedido, mas ocorreu um erro, como obtê-lo? Por exemplo, OrderSend(....); fiz uma transação, como posso obter informações se ela funcionou com sucesso?

Você pode abrir a ajuda para a função e ver o que ela retorna? E _LastError?

Especificamente, OrderSend devolve um bilhete de pedido ou -1. Adivinhe em qual caso será -1 por conta própria ;)

 
Vitalie Postolache:

Você pode abrir a ajuda para a função e ver o que ela retorna? E _LastError?

Especificamente, OrderSend devolve um bilhete de pedido ou -1. Adivinhe em qual caso será -1 você mesmo ;)

Estou lendo sobre isso há 10 minutos :)
 
Evgeniy Oshurkevich:
Estou lendo sobre isto há 10 minutos :)
Aqui, como exemplo, é bastante adequado
 
Vitaly Muzichenko:
Aqui, como exemplo, é bastante adequado

E eu já comecei a elaborar meus códigos de erro, obrigado :) E eu estou quase pronto com minha EA sobre como desacelerá-la)

Neste exemplo, não consigo encontrar o valor de"Slippage" que está no OrderSend, pode não ser tão importante ou obrigatório, me pergunto!

 
Evgeniy Oshurkevich:

Já comecei a elaborar meus códigos de erro, obrigado :) E estou quase terminando com meu Conselheiro Especialista sobre como desacelerá-lo)

Neste exemplo, não consigo encontrar o valor de"Slippage" que está na OrderSend, pode não ser tão significativo ou obrigatório, eu me pergunto!

E isto é para pegar o código 135 ou 129 e aumentar o valor do escorregamento para a próxima tentativa. Ou, se o deslizamento aumentado não parecer atraente, basta contar um certo número de segundos até a próxima tentativa. Além disso, fique de olho no spread, se o spread for aumentado neste momento, espere que ele diminua e tente novamente. Além disso, é desejável não usar Sleep(), certamente simplifica a escrita do código e não traz muito dano, quando hibernando por meio segundo ou um segundo, mas se o Expert Advisor é um Pipsier rápido, para o qual cada milissegundo é importante, ou uma pausa em dezenas de segundos é necessária, é melhor não usar o sono, durante o sono o Expert Advisor fica paralisado e pode não só negociar, mas também monitorar o ambiente comercial ou realizar outros cálculos, não responde às ações do usuário, etc.

Você pode fixar o tempo atual, contar para baixo o número necessário de segundos (ou milissegundos) e então agir.

 
Evgeniy Oshurkevich:

E eu já comecei a elaborar meus códigos de erro, obrigado :) E eu estou quase pronto com minha EA sobre como desacelerá-la)

Neste exemplo, não consigo encontrar o valor de"Slippage" que está na OrderSend, pode não ser tão significativo ou obrigatório, eu me pergunto!

Hojeo Slippage não é tão relevante como costumava ser, normalmente é usado em contas com um spread fixo, mas restam algumas dessas contas na natureza e há de 5 a 7 pessoas negociando nelas. Se o spread estiver flutuando, não háSlippage, é melhor monitorar o spread, e se for muito largo, então não entre, mas novamente, tudo depende da estratégia, do quão crítico é um spread grande.
 
Vitaly Muzichenko:
Hojea Slippage não é tão relevante como costumava ser e é normalmente usada em contas com spread fixo, mas existem apenas algumas dessas contas e apenas 5-7 pessoas negociam nelas. Se o spread estiver flutuando, não háSlippage, é melhor monitorar o spread em si, e se for muito largo, então não entre, mas novamente, tudo depende da estratégia, o quão crítico é um spread grande.

Besteira...

Em ECNs muito populares, o deslize nas notícias é gigantesco. Às vezes centenas de pips (5ozn). Ou eles simplesmente continuam atormentando as ordens por um minuto inteiro, dizendo "novo preço", "sem preço", etc.

 
Vitalie Postolache:

Isto é para pegar o código 135 ou 129 e aumentar o valor do escorregamento para a próxima tentativa. Ou, se o deslizamento aumentado não parecer atraente, basta contar um certo número de segundos até a próxima tentativa. Além disso, fique de olho no spread, se o spread for aumentado neste momento, espere que ele diminua e tente novamente. Além disso, é desejável não usar Sleep(), isto, é claro, simplifica a escrita do código e não causa danos especiais, quando hibernando por meio segundo ou segundo, mas se o Expert Advisor é um Pipsier rápido, para o qual cada milissegundo é importante, ou uma pausa de dezenas de segundos é necessária, é melhor não usar o sono, durante o sono o Expert Advisor fica paralisado e pode não só negociar, mas também monitorar o ambiente comercial ou realizar outros cálculos, não responde às ações do usuário, etc.

Você pode fixar o tempo atual, contar para baixo o número de segundos (ou milissegundos) e então agir.

Evgeniy Oshurkevich:

Eu já comecei a procurar códigos de erro, obrigado :) E eu já quase terminei como frear meu consultor especializado)

Neste exemplo, não consigo encontrar o valor de"Slippage" que está na OrderSend, pode não ser tão significativo ou obrigatório, me pergunto!

Durante a hibernação do comando do sono, a EA está de fato paralisada. Mesmo no caso de um terminal, é necessário fornecer trabalho de vinte fios diferentes, ou seja, deixar cada um deles ocupar tempo de CPU. Pelo menos para exibir algo na tela, sem mencionar o crucial para a tarefa de pipser de milissegundos de aceitar carrapatos recebidos. Na realidade, existem dezenas de outros serviços do sistema operacional que também querem trabalhar, ou seja, ocupar o processador com suas próprias necessidades. Se o comando Sleep não o fizer, o programador de fios do OS o fará à força, mas de acordo com suas próprias considerações, a quem deve ser dado tempo. Você também pode confiar nele e carregar o processador quase 100% o tempo todo apenas com este assessor. Mas dificilmente servirá a ninguém. Se o programador não planeja a alocação de recursos do processador, na maioria dos casos, a abordagem implementada na MQL onde o Expert Advisor recebe a CPU no recebimento do tick para um símbolo e após o processamento desta chegada, o Expert Advisor "paralisa" e não leva a CPU até o próximo tick.

O parâmetro Slippage em OrderSend (não confundir com o deslize real em caso de "Execução de mercado" modo de execução de ordem, por mercado) faz sentido definir apenas no modo "Execução imediata", execução imediata, quando a ordem é executada pelo preço declarado ou rejeitada, ou seja, é rejeitada. O desvio máximo permitido do preço de execução em relação ao preço indicado no pedido pode ser definido como não zero. No modo "Execução de mercado", este parâmetro não significa nada, neste caso o preço de execução é definido pelo centro de negociação, o desvio do preço indicado na ordem não é limitado de forma alguma.

 
Vitalie Postolache:

Besteira...

Em ECNs muito populares, o deslize nas notícias é gigantesco. Às vezes centenas de pips (5ozn). Ou eles simplesmente continuam atormentando as ordens por um minuto inteiro, dizendo "novo preço", "sem preço", etc.

As contas ECN não ajudam adeslizar pelo menos 100 pips, há execução no mercado e só podem deslizar e não dar um preço, e isto são coisas um pouco diferentes, e erros diferentes.
 

Есть условие для открытия ордера 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;
   }


Razão: