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

 
Aqui, é espantoso.
void OnTick()
  {  for(int i=1,i=<60,i++){timeframe=i;
//---
   double J=iClose(   symbol_name,   timeframe,   start_pos);
   
   Print (J);}
  }
//+------------------------------------------------------------------+

<' - ficha inesperada klose.mq5 35 20

'i' - variável já definida klose.mq5 35 18

++' - ponto-e-vírgula esperado klose.mq5 35 25

J' - inesperado token klose.mq5 37 11

'=' - ficha inesperada klose.mq5 37 12

'=' - ficha inesperada klose.mq5 37 12



 
for(int x=1;x<=7000; x++)
  {
   
  }

Pelo menos olhar para a documentação, exemplos, programas terminais para ver como o laço é escrito.

Pelo menos através de ;

https://www.mql5.com/ru/docs/basis/operators/for

Документация по MQL5: Основы языка / Операторы / Оператор цикла for
Документация по MQL5: Основы языка / Операторы / Оператор цикла for
  • www.mql5.com
Основы языка / Операторы / Оператор цикла for - Документация по MQL5
 
Vou dar uma vista de olhos.
 
Entre os Códigos de Retorno do servidor comercial encontrei o código 10026 "Auto-trading prohibited by server". Pergunto-me como é que o servidor determina se a troca é manual ou automática? É evidente que o número mágico ou as transacções frequentes e o comércio nocturno podem trair, mas se tudo estiver sob controlo, então que outros parâmetros pode o servidor utilizar para identificar o Expert Advisor?
 
paladin800:

Entre os Códigos de Retorno do servidor comercial encontrei o código 10026 "Auto-trading prohibited by server". Pergunto-me como é que o servidor determina se a troca é manual ou automática? Claro, o número mágico ou as transacções frequentes e as transacções nocturnas podem trair isto, mas se o servidor controlar tudo, que outros parâmetros são utilizados para detectar o Expert Advisor?
Ver ID MQL5_PROGRAM_TYPE
 
Yedelkin:
Ver ID MQL5_PROGRAM_TYPE
Não, esta propriedade não está disponível para o servidor. O servidor envia simplesmente um comando ao terminal 'Forbid auto-trading', e o terminal executa-o, e dá o código especificado à EA ou ao script quando tenta executar uma operação comercial. O servidor não sabe o que a EA está a negociar, simplesmente proíbe a auto-comercialização.
 
Valmars:
Não, esta propriedade não está disponível para o servidor. O servidor envia simplesmente um comando 'Forbid auto-trading' ao terminal, e o terminal executa-o, e emite o código especificado para a EA ou script quando tenta executar uma transacção. O servidor não sabe o que a EA está a negociar, apenas proíbe a auto-comercialização.
Obrigado, aprendi algo novo. Isto é, se o servidor, depois de proibir a troca, permitir, o cliente só terá conhecimento dela depois de reiniciar o terminal?
 
Yedelkin:
Obrigado, esta é uma novidade. Isto é, se o servidor permitir a troca após ter sido banido, o cliente só terá conhecimento da mesma depois de reiniciar o terminal?

Em Luz, é proibido por defeito. Por conseguinte, não funciona.

Depois pede apoio para o permitir. E começa a funcionar. Sem sobrecarga.

 

No artigo Operações comerciais em MQL5 - é pouco menos de "Comprar/vender ao preço actual" qualquer pessoa pode saber lá durante a acção se(!trade.Buy(0.1)) {...} esta classe de comércio, antes de enviar uma ordem ao servidor, procura novas citações ou devo colocar Refreshrates antes desta acção?

 
paladin800:

No artigo Operações comerciais em MQL5 - é pouco menos de "Comprar/vender ao preço actual" qualquer pessoa pode saber lá durante a acção se(!trade.Buy(0.1)) {...} esta classe de comércio, antes de enviar uma ordem ao servidor, procura novas citações ou devo colocar Refreshrates antes desta acção?

Se estamos a falar do método Buy() da classe Ctrade, há lá Refreshrates(). Esta Refreshrates() é activada particularmente se não for especificado nenhum preço nos parâmetros de entrada do método Buy(). Dê uma vista de olhos na biblioteca.