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

 
Vasiliy Sokolov:

Obviamente, o método que apresentou é um método de trânsito. O erro provavelmente não está nele. Não é claro a partir dos dados apresentados o que se está a passar. Pode haver várias possibilidades:

  • Identificador incorrecto do gráfico (que é o que diz o erro 4101).
  • Consultas demasiado frequentes;
  • Outros parâmetros incorrectos (IDs de eventos, por exemplo).

A julgar pelo nível de código que escreveu, podemos dizer que o erro pode ser em qualquer lugar e em qualquer altura.
 

Olá Cavalheiros comerciantes, quem tem o programa elliot wave analyzer3? O problema é que não consigo carregar o histórico de citações do mt4 para o elliot wave analyzer!

não posso carregar citações do mt4 e do analisador de ondas elliot !

 

Aqui está o sistema

Onde mais posso obter 4MB de RAM?

Quer dizer, reinicio o PC, desactivo o antivírus, inicio o terminal e o testador, ao testar o robot, diz que 4 MB não é suficiente.

Anteriormente, com browsers e antivírus, dizia-se que lhe faltavam 17 MB.

 
Roman Shiredchenko:

Aqui está o sistema

Onde mais posso obter 4MB de RAM?

Quer dizer, reinicio o PC, desactivo o antivírus, inicio o terminal e o testador, ao testar o robot, diz que 4 MB não é suficiente.

Anteriormente, quando navegava e antivírus, dizia que faltavam 17Mb.

Outros bloopers no Expert Advisor incomodam-no de todo? Se os remover, haverá memória suficiente para tudo.

Ainda assim, deve comprar mais memória, 2GB é ridículo hoje em dia...

 
Vitalie Postolache:

Os outros bloopers na EA não são de todo embaraçosos? Se os remover, há memória suficiente para tudo.

Ainda assim, devia comprar mais alguma memória, 2Gb é ridículo nos dias de hoje...

Obrigado. :-) Sobre os bloopers -.

"2015.04.21 16:48:06.526 (SBRF-6.15,H1) Nem todos os dados de MA são calculados. Erro 4806. [ SBPR-6.15 ].

Devo prestar atenção a isto?-não".

 
Vitalie Postolache:

Os outros bloopers na EA não são de todo embaraçosos? Se os remover, há memória suficiente para tudo.

Ainda assim, devia comprar mais alguma memória, 2Gb é ridículo nos dias de hoje...

Não é realmente assim tão engraçado. Levei um velho portátil com 2 GB de RAM para o campo, coloquei-o lá por diversão, ganhei 7 64bit, e nada funciona. Só o ligo à noite aos fins-de-semana, e por vezes de sexta a sábado também o ligo. O meu telefone tem 2 terminais MT4 e Skype. De vez em quando, dirijo o Mozilla.

 
Vasiliy Sokolov:

Obviamente, o método que apresentou é um método de trânsito. O erro provavelmente não está nele. Não é claro a partir dos dados apresentados o que se está a passar. Pode haver várias possibilidades:

  • Identificador de gráfico incorrecto (que é o que diz o erro 4101).
  • Consultas demasiado frequentes;
  • Outros parâmetros incorrectos (identificadores de eventos, por exemplo).

A julgar pelo nível de código que escreveu, pode dizer-se que um erro pode estar em qualquer lugar e em qualquer lugar.

Este pedaço de código foi retirado do site oficial no artigo sobre eventos gráficos personalizados. Não posso julgar sobre o "nível de escrita" do código em tais fontes.

- o identificador do gráfico é especificado correctamente (como se pode verificar pela ausência de erro 4101)

- o que quer dizer com pedidos frequentes não é claro para mim, o que quer dizer, poderia por favor explicar?

- Todo o algoritmo tem estado a funcionar correctamente há 24 horas e por vezes um destes erros ocorre por razões desconhecidas. Assumindo que os parâmetros estão errados, estes erros têm alguma coisa a ver com a identificação do evento?

Deixem-me lembrar-vos que existe uma lista de erros que podem ser apanhados:

ERR_CHART_NO_REPLY

4102

O quadro não responde

ERR_CHART_NO_EXPERT

4104

O quadro não tem um perito que possa tratar do evento

ERR_INTERNAL_ERROR

4001

Erro interno inesperado


Mais uma vez, deixem-me lembrar-vos que tudo funciona sem erros durante bastante tempo, por razões desconhecidas os erros por vezes ocorrem. E obrigado pela sua resposta.

 
dariamap:

...

...

Pode publicar um exemplo acabado que reproduza este erro? As fontes de combate não são necessárias, preparar um exemplo tão simples quanto possível para demonstrar este erro.
 

Bom dia a todos.

Como preparar correctamente um pedido comercial

//-----OrderSend:
double MyOrderSend(
   string   symbol,               // символ
   ENUM_ORDER_TYPE cmd,           // торговая операция
   double   volume,               // количество лотов
   double   price,                // цена
   int      slippage,             // проскальзывание
   double   stoploss,             // stop loss
   double   takeprofit,           // take profit
  // ENUM_ORDER_TYPE_FILLING
    int fill_type = SYMBOL_FILLING_FOK, // 
   string   comment=NULL,         // комментарий
   int      magic=0,              // идентификатор
   datetime expiration=0,         // срок истечения ордера
   color    arrow_color=clrNONE   // цвет
               )
  {
  //--- готовим запрос
   MqlTradeRequest request={0};
   request.action=TRADE_ACTION_DEAL;            // открывать по рынку
   request.magic=magic;                         // ORDER_MAGIC
   request.symbol=symbol;                       // инструмент
   request.volume=volume;                       // объем в лотах
   request.price=price;                         // цена для открытия
   request.sl=stoploss;                         // Stop Loss
   request.tp=takeprofit;                       // Take Profit   
   request.deviation=slippage;                  // проскальзывание
   request.type=cmd;                            // тип  ордера
   request.fill_type=SYMBOL_FILLING_FOK;                 // Тип ордера по исполнению
   request.expiration=expiration;               // срок истечения ордера 
   request.comment=comment;                     // комментарий
 
//--- отправим торговый приказ
   MqlTradeResult result={0};
   if (OrderSend(request,result))
   return(result.price);
   else
   return(0);
  }
//-----OrderSend

porque quando coloco uma expo numa tabela, recebo o seguinte erro

Talvez precisemos de especificar explicitamente a política de preenchimento de uma ordem de mercado...

Obrigado pela vossa ajuda.

 
Roman Shiredchenko:

Bom dia a todos.

Como preparar correctamente um pedido comercial

porque quando coloco uma expo numa tabela, recebo o seguinte erro

Talvez precisemos de especificar explicitamente a política de preenchimento de uma ordem de mercado...

Obrigado pela vossa ajuda.

Ler cuidadosamente os nomes dos campos na estrutura de pedidos comerciais. O fill_type deve ser substituído pelo type_filling. SYMBOL_FILLING_FOK deve ser substituído por ORDER_FILLING_FOK.

P/S/ Utilizar melhor a classe de comércio CTrade. Permite-lhe fazer encomendas sem preencher uma estrutura comercial enfadonha.