新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 364

 

有没有可能在MT4中制作一个像Excel中那样的结构的表格(+和-折叠和展开数据)?如果是这样,我在哪里可以读到相关信息?


 

大家好!我刚开始学习代码。有一个错误,我不知道如何修复它。


int CountTrades(int type, int magic)

{

int count=0。

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

{

如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

如果(OrderSymbol()==Symbol() && (OrderType()==type||type==-1) &&

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

count++。

}

}

返回(计数)。


我已经强调了它所遗漏的内容。


这些错误如下。

预期的"-"操作数

")" - 意外的标记

"i" - 未声明的标识符


他好像不喜欢我在第一个错误中在i后面加上减号。也许我应该以某种方式把它连起来?

我按照教程一个字母一个字母地做 - 但代码不能编译。

我需要你的帮助。

 
Falx:

大家好!我刚开始学习代码。有一个bug,不知道如何修复。

两个减法,没有括号来关闭功能。
 
Aleksey Vyazmikin:
两个减号,没有括号来关闭函数。

非常感谢您!都修好了!它的工作!

 

我不得不按小时比较两个日期时间,我是这样做的。

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)
...

它成功了,但也许这不是最正确的方法?程序员们有什么要说的?

 
Nauris Zukas:

我不得不按小时比较两个日期时间,我是这样做的。

它成功了,但也许这不是最正确的方法?程序员们有什么要说的?


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

也许我没有解释清楚,但你需要找到两个精确到小时的日期(分和秒并不重要)。 你只有按小时比较。

 
Nauris Zukas:

也许我没有解释清楚,但你需要找到两个精确到小时的日期(分和秒并不重要)。


你需要找到日期,或比较两个日期的时间?

 
Nikolay Ivanov:

查找日期,或比较两个日期的时间?

你需要找到精确到小时的日期(分和秒并不重要)。

 
Nikolay Ivanov:

你必须找到日期,或比较两个日期的时间?

CopyTime的效果会更好吗?

这种方式。

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

时间翻译成字符串 并进行比较不是一个好的选择。

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