Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 364

 

É possível fazer uma tabela em MT4 com uma estrutura como em Excel (+ e - colapsa e desdobra os dados)? Em caso afirmativo, onde posso ler sobre isso?


 

Olá a todos! Estou apenas aprendendo os códigos. Há um erro, não consigo descobrir como corrigi-lo.


int CountTrades(int tipo, int magia)

{

int contagem=0;

for(int i=OrdensTotal()-1;i>=0;i-)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderSymbol()==Symbol() && (OrderType()==type||||type==-1) &&

(OrderMagicNumber()==magic|||magic===-1))

contar++;

}

}

retornar (contar);


Destaquei o que falta.


Os erros são os seguintes:

"-" operando esperado

")" - ficha inesperada

"i" - identificador não declarado


É como se ele não gostasse que eu colocasse menos depois de eu no primeiro erro. Talvez eu devesse hifenizá-lo de alguma forma?

Eu fiz tudo letra por letra com o tutorial - mas o código não é compilado.

Eu preciso de sua ajuda.

 
Falx:

Olá a todos! Estou apenas aprendendo os códigos. Há um bug, não consigo descobrir como consertá-lo.

Dois "minus" e nenhum suporte para fechar a função.
 
Aleksey Vyazmikin:
Dois menos e sem parênteses para fechar a função.

Muito obrigado! Tudo corrigido! Está funcionando!

 

Tive que comparar as duas datas por horas, fiz desta maneira:

string TimeCompare = StringSubstr(TimeToString(MyLastNewsTime[i],TIME_DATE|TIME_MINUTES),0,13);
string TimeCompare1 = StringSubstr(TimeToString(MyLastNewsTime1[i],TIME_DATE|TIME_MINUTES),0,13);
if(TimeCompare != TimeCompare1)
...

Funcionou, mas talvez esta não seja a maneira mais correta? O que os programadores têm a dizer?

 
Nauris Zukas:

Tive que comparar as duas datas por horas, fiz desta maneira:

Funcionou, mas talvez esta não seja a maneira mais correta? O que os programadores têm a dizer?


if(TimeHour(MyLastNewsTime[i])!=TimeHour(MyLastNewsTime1[i]))
 {
 }
 
Nikolay Ivanov:

Talvez eu não tenha explicado corretamente, mas você precisa encontrar duas datas para a hora exata (minutos e segundos não são importantes). Você só tem uma comparação por horas.

 
Nauris Zukas:

Talvez eu não tenha explicado corretamente, mas você precisa encontrar duas datas para a hora exata (minutos e segundos não são importantes).


você precisa encontrar datas, ou comparar a hora de 2 datas ?

 
Nikolay Ivanov:

encontrar datas, ou comparar a hora de 2 datas ?

Você precisa encontrar datas para a hora exata (minutos e segundos não são importantes).

 
Nikolay Ivanov:

você tem que encontrar as datas, ou comparar a hora de 2 datas ?

O CopyTime funcionaria melhor?

Por aqui.

int  CopyTime(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период PERIOD_H1
   datetime         start_time,      // с какой даты
   int              count,           // сколько копируем 1
   datetime         time_array[]     // массив для копирования времени открытия
   );

Traduzir o tempo em um fio e compará-lo não é uma boa opção.

CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Функция получает в массив time_array исторические данные времени открытия баров для указанной пары символ-период в указанном количестве. Необходимо отметить, что отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества...
Razão: