Erros, bugs, perguntas - página 1009

 
TheXpert:

Existe um software analógico da chamada de botão?

O ChartRedraw não funciona.

Não com a MQL5, e não conheço outra forma. Já existe um pedido no Service Desk, mas ainda nada.
 

OK, vou fazer a pergunta de outra forma, talvez haja uma resposta normal.

Há um indicador que é calculado na chegada de um evento temporizador.

Se não houver ticks, então mesmo após os dados indicadores serem actualizados, estes não são mostrados no gráfico até que o gráfico seja actualizado à força.

Existe uma forma normal de fazer uma visualização automática de novos dados sem carraças?

 
TheXpert:

OK, vou fazer a pergunta de outra forma, talvez haja uma resposta normal.

Há um indicador que é calculado na chegada de um evento temporizador.

Se não houver ticks, então mesmo após os dados indicadores serem actualizados, estes não são mostrados no gráfico até que o gráfico seja actualizado à força.

Existe uma forma normal de mostrar automaticamente novos dados sem carraças?

Há um problema quando todo o conjunto de dados não é exibido até que um novo tick chegue. E pode carregar no botão Actualizar ou mudar o período de tempo. Fiz uma chamada OnCalculate() em temporizador para tais casos, mas isso não ajuda. Os dados dos buffers indicadores podem ser recebidos, mas não são exibidos até um novo tick ou uma actualização forçada ou um interruptor de tempo.

Considero-o um insecto.

É o mesmo caso consigo ou são apenas os últimos dados novos que não são apresentados?

 
tol64:

É o mesmo para si ou são apenas os últimos dados novos que não estão a aparecer?

É provavelmente a mesma coisa. Estou actualmente a escrever a lógica para o trabalho offline e de fim-de-semana.

Aparentemente, é muito caro em termos de recursos dar acesso ao software a esta função. Mas valeria a pena fazer uma actualização, se o indicador tiver mudado mais (x) valores.

 
O ChartRedraw não ajuda?
 
Renat:
O ChartRedraw não ajuda?
Verifiquei-o logo de início -- infelizmente.
 
TheXpert:

OK, vou fazer a pergunta de outra forma, talvez haja uma resposta normal.

Há um indicador que é calculado na chegada de um evento temporizador.

Se não houver ticks, então mesmo após os dados indicadores serem actualizados, estes não são mostrados no gráfico até que o gráfico seja actualizado à força.

Existe uma forma normal de fazer uma visualização automática de novos dados sem carraças?

A forma antiga já experimentada e testada é mudar o calendário, por falta de um melhor.

Ao clicar no botão é feito aqui: https://www.mql5.com/ru/code/224

ChartReinit
ChartReinit
  • votos: 7
  • 2010.11.29
  • Vladimir Gomonov
  • www.mql5.com
Кнопочная переинициализация чарта с перерасчетом всех индикаторов, а также простенький и прозрачный объектно-ориентированный пример обработки всех чартов из одного эксперта.
 

construir 821

ao utilizar a biblioteca padrão(classe CTrade) ao abrir uma posição no mercado de compra, pode ser seleccionada para alterar a paragem ou lucro após 2,5 segundos (não menos)

PositionSelect(_Symbol)

devolve falsos

não existe tal situação com uma posição de venda


//+------------------------------------------------------------------+
//|                                                test_open_buy.mq5 |
//|                                                         olyakish |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "olyakish"
#property link      "http://www.mql5.com"
#property version   "1.00"
#include <Trade\Trade.mqh> 
CTrade trade;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

   double Ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK); // лучшее предложение на покупку

   bool res=trade.PositionOpen(_Symbol,// инструмент
                               ORDER_TYPE_BUY,// 
                               0.1,// количество лотов для торговли
                               Ask,// последняя цена bid
                               0.0,// Stop Loss
                               0.0,// Take Profit 
                               " ");
// без комментариев  
   Print("res=",res);
   Print(PositionSelect(_Symbol));
   Sleep(2500);
   Print(PositionSelect(_Symbol));

  }
//+------------------------------------------------------------------+
2013.07.01 14:49:57     test_open_buy (EURUSD,M1)       res=true
2013.07.01 14:49:57     test_open_buy (EURUSD,M1)       false
2013.07.01 14:49:59     test_open_buy (EURUSD,M1)       true
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade
  • www.mql5.com
Стандартная библиотека / Торговые классы / CTrade - Документация по MQL5
 
void GetHistoryProperties()
  {
// Узнаем, есть ли позиция
 
   HistorySelect(t1,t0);
   ulong    ticket=0;
   uint     total=HistoryDealsTotal();
   
   for(uint i=0;i<total;i++){
  if((ticket=HistoryDealGetTicket(i))>0){
  bool ss=HistoryOrderGetString(ticket,ORDER_SYMBOL,symbol1);//не работает
  Print(symbol1," ---",Symbol()," ",ss," ",ticket);
    //пустое значение symbol1
  //или так
  symbol1=myhistory.Symbol();
  Print(symbol1," ---",Symbol()," ", ticket);
  //пустое значение symbol1
 if (Symbol()==symbol1)   {  //Без этого условия всё работает




     }}}

//---
   SetInfoPanel(); // Установим/обновим информационную панель
  }  
Não consegue obter o símbolo de pedido no histórico de erros ou erros?
 
zfs:
Não é possível obter o símbolo de encomenda no histórico da encomenda um bug ou um erro?

Pensei que a resposta a esta pergunta era sim. Selecciona o bilhete do histórico comercial, e tenta obter o imóvel do histórico da encomenda. São listas diferentes.

P.S. Há também um artigo com exemplos: Receitas MQL5 - História do Comércio e Biblioteca de Funções para a Obtenção de Propriedades de Posição