struct complex { double real; // parte real double imag; // parte imaginária };O tipo "complex" pode ser passado por valor como um parâmetro para funções MQL5 (ao contrário de estruturas comuns, que são passadas apenas por referência). Para funções importadas a partir de DLLs, o tipo "complex" deve ser passado apenas por referência.
complex square(complex c) { return(c*c); } void OnStart() { Print(square(1+2i)); // como parâmetro é passada a constante } // será exibido "(-3,4)", que é uma representação de string para um número complexoPara números complexos, atualmente estão disponíveis apenas operações simples: =, +, -, *, /, +=, -=, *=, /=, ==, !=.
select count(*) as book_count, cast(avg(parent) as integer) as mean, cast(median(parent) as integer) as median, mode(parent) as mode, percentile_90(parent) as p90, percentile_95(parent) as p95, percentile_99(parent) as p99 from moz_bookmarks;
void func(int &arr[ ][ ][ ][ ]) { }
struct MyStruct { string Array[]; }; void OnStart() { MyStruct a1,a2; ArrayResize(a1.Array,3); ArrayResize(a2.Array,1); a1=a2; }Anteriormente, como resultado da chamada de tal função, a matriz "a1" tinha tamanho 3. Agora terá tamanho 1.
Documentação atualizada.
ENUM_FP_CLASS MathClassify( double value // número real );A enumeração contém os seguintes valores:
if(MathClassify(value)>FP_ZERO) { Print("value is not a valid number"); }
Alterados os critérios de otimização,
em que foram levados em consideração dois indicadores — saldo e um
segundo fator. Agora eles levam em conta apenas o segundo fator, sem
saldo. Tais critérios são mais simples e mais compreensíveis na análise.
Reunimos os desejos dos usuários da versão iOS do MetaTrader 5 e fizemos um redesenho em larga escala do aplicativo
import sys chart_symbol='unknown' chart_tf=1 if len(sys.argv) == 3: chart_symbol, chart_tf = sys.argv[1:3]; print("Hello world from", chart_symbol, chart_tf) >> Hello world from T.NYSE 15
long DatabaseImport( int database, // identificador de banco de dados recebido em DatabaseOpen const string table, // nome da tabela para inserir dados const string filename, // nome do arquivo para importar dados uint flags, // combinação de sinalizadores const string separator, // separador de dados ulong skip_rows, // quantas primeiras linhas a pular const string skip_comments // linhas de caracteres que definem comentários );
long DatabaseExport( int database, // identificador de banco de dados recebido em DatabaseOpen const string table_or_sql, // nome da tabela ou consulta SQL const string filename, // nome do arquivo CSV para exportação de dados uint flags, // combinação de sinalizadores const string separator // separador de dados no arquivo CSV );
long DatabasePrint( int database, // identificador de banco de dados recebido em DatabaseOpen const string table_or_sql, // tabela ou consulta SQL uint flags // combinação de sinalizadores );
int FileSelectDialog( string caption, // título da janela string initial_dir, // pasta inicial string filter, // filtro de extensão uint flags, // combinação de sinalizadores string& filenames[], // matriz com nomes de arquivos string default_filename // nome do arquivo por padrão );A nova função permite o usuário interagir convenientemente com o programa MQL5.
#property optimization_chart_mode "3d,InpX,InpY"Ao usá-la, você pode especificar o tipo de gráfico aberto uma vez concluída a otimização, bem como os parâmetros do programa para seus eixos X e Y.
double MathArctan2( double y // coordenada y do ponto double x // coordenada x do ponto );
Adicionada tradução da interface do usuário para punjabi (Índia).
Documentação atualizada.
Correções de crash-logs.
A atualização estará disponível através do sistema Live Update.