Características da linguagem mql5, subtilezas e técnicas - página 43

 
fxsaber:
Nesses casos, mesmo sem os parênteses extra, funcionará.
Os parênteses são para mim. Eu consigo ver melhor assim.
 
Quando é cansativo selecionar a função certa sob a propriedade de interesse
double TerminalInfo( const ENUM_TERMINAL_INFO_DOUBLE Property )
{
  return(TerminalInfoDouble(Property));
}

long TerminalInfo( const ENUM_TERMINAL_INFO_INTEGER Property )
{
  return(TerminalInfoInteger(Property));
}

string TerminalInfo( const ENUM_TERMINAL_INFO_STRING Property )
{
  return(TerminalInfoString(Property));
}

void OnStart()
{
  Print(TerminalInfo(TERMINAL_COMMUNITY_BALANCE));
  Print(TerminalInfo(TERMINAL_LANGUAGE));
  Print(TerminalInfo(TERMINAL_BUILD));
}
 

Fórum sobre negociação, sistemas de negociação automatizados e testes estratégicos

Bibliotecas: TypeToBytes

fxsaber, 2017.06.13 16:01

string GetDirectory( const string FileName )
{
  int Pos = StringFind(FileName, "\\");
  int LastPos = Pos;
  
  while (Pos >= 0)
  {
    LastPos = Pos;
    
    Pos = StringFind(FileName, "\\", Pos + 1);
  }

  return((LastPos >= 0) ? StringSubstr(FileName, 0, LastPos + 1) : "");
}

// Возвращает список всех файлов по фильтру
int GetFileNames( string &FileNames[], int Pos = 0, string Filter = "*", const int Common_Flag = 0 )
{
  string FileName;
  const long handle = FileFindFirst(Filter, FileName, Common_Flag);

  if (handle != INVALID_HANDLE)
  {    
    const string Directory = GetDirectory(Filter);    
    Filter = StringSubstr(Filter, StringLen(Directory));
    
    do
    {
      const string TmpFileName = Directory + FileName;
      
      ArrayResize(FileNames, Pos + 1);      
      FileNames[Pos] = TmpFileName;      
      Pos++;
        
      if (!FileIsExist(TmpFileName, Common_Flag))
        Pos = GetFileNames(FileNames, Pos, TmpFileName + Filter, Common_Flag);
    }
    while (FileFindNext(handle, FileName));  
    
    FileFindClose(handle);
  }
  
  return(Pos);
}
 
Por favor, diga-me qual é o propósito da função HistoryDealSelect, quando no HistoryDealGetInteger, HistoryDealGetDouble,
HistóricoDealGetString funções, quando o número do ticket_number deve ser especificado novamente?
 
. ... Rick D. ... .:
Você pode me dizer qual é o propósito da função HistoryDealSelect, quando nas funções HistoryDealGetInteger, HistoryDealGetDouble,
HistóricoDealGetString funções, você precisa especificar o número do ticket_number novamente?

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Peculiaridades da linguagem mql5, sutilezas e truques

fxsaber, 2017.06.07 22:20

Existem duas tabelas de históricos atuais cujos dados estão disponíveis através das funções de Histórico - Tabela de Pedidos e Tabela de Negociações.

O seu conteúdo só pode ser influenciado através das funções HistorySelect. E isso acontece da seguinte forma

  • HistorySelect e HistorySelectByPosition - afetam ambas as tabelas simultaneamente.
  • O HistóricoDealSelect afecta SOMENTE a tabela de Pedidos (não tem efeito na tabela de Pedidos-histórico actual).
  • HistoryOrderSelect afecta SOMENTE a tabela de Pedidos (não afecta a tabela actual de Deals-history).

A tabela Deal torna-se um único elemento.
 
Existe algum limite para o número de objetos gráficos que podem ser colocados em um gráfico? ) Não é um gráfico de pixels, mas elementos gráficos - linhas de tendência, retângulos, etc.
 
Konstantin:
Existe alguma limitação no número de objetos gráficos que podem ser colocados em um gráfico? Não me refiro a gráficos de pixels, mas a elementos gráficos - linhas de tendência, retângulos, etc.
experimentado mais de 2000 - funcionou
 
Vitaly Muzichenko:
tentou mais de 2000 - funcionou

e como seria menos dispendioso em termos de recursos se você tivesse que fazer mudanças em cada tique:

1. para usar 2000 objetos gráficos

2. Use a classe Canvas e crie em cada tick um desenho que contenha os mesmos 2000 desenhos de objetos gráficos

 
Konstantin:

e como seria menos dispendioso em termos de recursos se você tivesse que fazer mudanças em cada tique:

1. para usar 2000 objetos gráficos

2. usar a classe Canvas e criar um desenho com os mesmos 2000 desenhos de objetos gráficos em cada tick

A tela vai ser várias vezes mais produtiva, eu tentei.
 
Vitaly Muzichenko:
A tela vai ser várias vezes mais produtiva, já tentei.

Preciso de desenhar um conjunto de linhas horizontais num gráfico, pode enviar-me um exemplo de código?

Oops )) Acontece que a ajuda do site é mais extensa, eu encontrei o que estou procurando - CLineChart class ))

Razão: