//Введем внешнюю переменную, чтобы иметь возможность изменить количество сканируемых свечей.externint Window=30;
voidOnStart()
{
//Вводим переменные.double Highest=High[0];
double Lowest=Low[0];
//Сканируем 30 свечей и обновляем значения самых высоких и самых низких цен.for(int i=0; i<=Window; i++) {
if(Low[i]<Lowest) Lowest=Low[i];
if(High[i]>Highest) Highest=High[i];
}
//Выводим результат.Alert("Самая высокая цена ",Highest," - Самая низкая цена ",Lowest);
}
我的变体显然不能通过,由于某种原因出现了很多错误):
//Введем внешнюю переменную, чтобы иметь возможность изменить количество сканируемых свечей.externint Window=30;
voidOnStart()
{
double o = iOpen(NULL, PERIOD_CURRENT, 0);
double h = iHigh(NULL, PERIOD_CURRENT, 0);
double l = iLow(NULL, PERIOD_CURRENT, 0);
double c = iClose(NULL, PERIOD_CURRENT, 0);
double Highest=h;
double Lowest=l;
//Сканируем 30 свечей и обновляем значения самых высоких и самых низких цен.for(int i=0; i<=Window; i++)
{
if ( l[i] < Lowest )
Lowest=[i];
if ( h[i] > Highest )
Highest=[i];
}
//Выводим результат.Print("Самая высокая цена ",Highest,
" - Самая низкая цена ",Lowest);
}
//Введем внешнюю переменную, чтобы иметь возможность изменить количество сканируемых свечей.externint Window=30;
voidOnStart()
{
//Вводим переменные.double Highest=DBL_MIN;// double Lowest=DBL_MAX; // MqlRates rates[];
//Сканируем 30 свечей и обновляем значения самых высоких и самых низких цен.if (CopyRates(_Symbol,_Period,30,rates)!=30) {
Alert("copyRates failed");
return;
}
for(int i=0; i<=Window; i++) {
if(rates[i].low<Lowest) Lowest=rates[i].low;
if(rates[i].high>Highest) Highest=rates[i].high;
}
//Выводим результат.Alert("Самая высокая цена ",Highest," - Самая низкая цена ",Lowest);
}
晚上好,亲爱的程序员们!
请帮我解决一个简单的问题。有一段来自 MQL4 的代码。我想把它调整到 5。也就是说,要在 MQL5 中同样工作。
我的变体显然不能通过,由于某种原因出现了很多错误):
晚上好,亲爱的程序员们!
请帮我解决一个简单的问题。有一段来自 MQL4 的代码。我想把它调整到 5。也就是说,它应该在 MQL5 中类似地工作。
在帮助中查找
iHigh
和类似函数
如果不起作用,说明循环中存在错误。
而且你看不到正在向哪个变量添加数据
在帮助中查找
和类似功能
如果不起作用,说明循环中存在错误
并且您无法看到正在向哪个变量添加数据
应该显示最高/最低值。
请看下面的代码
int val_index=iLowest(NULL,0,MODE_CLOSE,10,1);
非常接近,但还不行。
好吧,它显示的是最后 10 根(从第一根 "1 "开始)蜡烛图中最低价的数字。但我需要的是价格值,而不是蜡烛编号。
一般来说,不需要向后看,而是向前看。
例如:在接下来的 100 根蜡烛中,寻找从上一根蜡烛(编号为 "1")开始的 "最小值"。
这一切都可以做到,问题是那些测量实际工作的人,最好是开发商,谁知道他们在那里的计划是什么
我不想做实验,还有很多其他工作要做。
好吧。.........
这就对了。与国王无关 .........
也许我们应该关闭 "初学者问题 "主题?阿列克谢,如果你不想帮忙,请不要插手,你的抱怨太多了。
我对专业人士的回答很感兴趣,想知道平台是如何运作的。
晚上好,亲爱的程序员们!
请帮我解决一个简单的问题。有一段来自 MQL4 的代码。我想把它调整到 5。也就是说,它应该在 MQL5 中类似地工作。
我的变体显然不起作用,因为某些原因会出现大量错误):
显然,你完全不熟悉编程。所以无论给你什么建议,你都不会成功。
不过......试着理解函数
和使用数组的功能
解决这个问题还有其他方法。
晚上好,亲爱的程序员们!
请帮我解决一个简单的问题。有一段来自 MQL4 的代码。我想把它调整到 5。也就是说,它应该在 MQL5 中类似地工作。
我的变体显然不起作用,因为某些原因会出现大量错误):
使用 CopyRates() 而不是一堆指标,代码编辑将变得最少,代码将保持紧凑和可读性。
实际上,您还应该添加对弯曲引号的检查
CopyRates(),而不是一堆指标,代码编辑将变得最少,代码将保持紧凑和可读性。
实际上,您还应该添加对曲引号的检查
马克西姆,CopyRates 不就是获得了一个符号的所有功能吗?
更便宜,有单独的功能
马克西姆,CopyRates 不就是为了获得角色的所有特征吗?
如果有个别特征
1)根据开发人员的说法,是虚拟复制,即如果可能的话,数据不会转移,内部引用会转移 2)即使是完全复制,它也比分别复制 iHigh、iLow 的 CopyBuffer 更快(调用 1 次而不是 2 次,这仍将进入相同的终端结构)。
最后,最重要的一点是:在移植时,代码应尽可能地与原始代码相似,这一点非常重要,甚至在视觉上也是如此。您必须绝对确保它(代码)所做的事情与原始代码完全相同。小的优化工作要在事后进行,而且只在真正关键的地方进行。