Обычно в названии функции стремятся отобразить ее основное назначение. Читабельные программы, как правило, содержат разнообразные и грамотно подобранные идентификаторы. Иногда различные функции используются для одних и тех же целей. Например, рассмотрим функцию, которая вычисляет среднее значение массива чисел двойной точности, и такую же...
В настоящее время мультивалютных торговых систем, индикаторов и экспертов разработано огромное количество. Тем не менее, до сих пор создатели этого "огромного количества" сталкивались со специфическими для мультивалютных систем трудностями. С выпуском в свет терминала MetaTrader 5 и языка программирования MQL5 появилась возможность реализации...
I'm sure all of you use the crosshair tool on MetaTrader's charts. It's very useful to measure distance in bars or points between 2 spots. Yet I was always wondering, why it does not provide an option to show profit value, margin level, drawdown or gain percentage in addition to points. To remedy this problem I've developed a MQL program, which...
voidOnTradeTransaction ( constMqlTradeTransaction &Trans, constMqlTradeRequest &Request, constMqlTradeResult &Result )
{
if (Trans.type =TRADE_TRANSACTION_REQUEST) // 'type' - constant cannot be modified
Imagine quanto tempo levaria para encontrar um erro num código grande, se em vez de "==" você escrevesse "=". Aqui, por outro lado, o próprio compilador diz-lhe tudo de uma só vez, graças ao const.
Imagine quanto tempo levaria para encontrar um erro em um código grande se "==" fosse escrito ao invés de "=". Aqui, o próprio compilador diz-lhe tudo de uma só vez devido à constância.
Nesses casos, você pode iniciar a comparação com uma constante, o que é ainda melhor.
Não me diga, encontrei uma funcionalidade, os MCs ainda não corrigiram uma das principais funções, passei muito tempo lendo e procurando por ela
https://www.mql5.com/ru/docs/basis/function/functionoverload
https://www.mql5.com/ru/docs/basis/function/functionoverload
Já está, obrigado.
Konstantin Gruzdev, um agradecimento especial
Implementação do modo multi-currency no MetaTrader 5Aplicação
Resultado
Aplicação
Resultado
Se for possível usar MQL para descrever uma função, cujo número de argumentos não está definido, por exemplo
Print(arg1,arg.......) ou StringConcatenate(string_var,void argument1,void argument2, .......)
se for possível usar MQL para descrever uma função com um número indefinido de argumentos, por exemplo
Print(arg1,arg.......) ou StringConcatenate(string_var,void argument1,void argument2, .......)
É possível arranjar algo baseado em macros, mas é mutilante.
Modelos + matrizes/estruturas de passagem permitem a realização de muitas ideias.
É possível inventar algo baseado em macros, mas é uma muleta.
Os modelos + matrizes/estruturas de passagem permitem a implementação de muitas ideias.
Obrigado, foi o que eu pensei, em princípio não é preciso, mas vendo seu código, eu pensei, e se você puder fazer isso?
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Características da linguagem mql5, dicas e truques
fxsaber, 2017.02.27 18:40
bool MyOrderCalcMargin( const ENUM_ORDER_TYPE action, const string symbol, const double volume, const double price, double &margin )
Aqui está uma implementação de perfil transversal.
Imagine quanto tempo levaria para encontrar um erro num código grande, se em vez de "==" você escrevesse "=". Aqui, por outro lado, o próprio compilador diz-lhe tudo de uma só vez, graças ao const.
fxsaber:
Imagine quanto tempo levaria para encontrar um erro em um código grande se "==" fosse escrito ao invés de "=". Aqui, o próprio compilador diz-lhe tudo de uma só vez devido à constância.
Nesses casos, você pode iniciar a comparação com uma constante, o que é ainda melhor.
Nesses casos, você pode iniciar a comparação com uma constante - isso é ainda melhor.
Sim, acabei de criar um exemplo para um caso desses.
if (Trans.type = Variable)