//+------------------------------------------------------------------+//| Сообщает номер окна графика с указанным индикатором |//+------------------------------------------------------------------+int GetIndicatorSubWindowNumber(long chartID=0,string short_name="")
{
int window=-1;
//--- if((ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE)==PROGRAM_INDICATOR)
{
//--- функция вызвана из индикатора,имя не требуется
window=ChartWindowFind();
}
else
{
//--- функция вызвана из эксперта или скрипта
window=ChartWindowFind(0,short_name);
if(window==-1) Print(__FUNCTION__+"(): Error = ",GetLastError());
}
//---return(window);
}
为什么会有一个额外的变量?直接检查的效果很好。
当你想从程序的不同点看到一个函数的值时,应该创建一个变量,这样你就不必多次调用它。多回来看看。问题会更少。会有更好的知识。
下午好。需要在一天结束时以某种方式平仓(纯粹是专家顾问;日线)。造型的方式有两种,一种是通过开口,一种是通过刻度。也就是说,我们要么满足于开盘,要么试图在一些15分钟的时间框架内分析前几天的情况并抓住当前的开始和结束。对这个问题有什么解决办法吗?我看到了几个虚拟的假设性的选择。
1)黑客攻击- 在任何价格和任何时间关闭头寸。假设不公平,但我们可以简单地在规定的价格上平仓而不变态。
2)模拟一个柱子内的开盘和收盘。也就是说,先是打钩开盘,然后是打钩收盘。
3)设置一个在某个时间(即在一天结束时)自动关闭的订单。
希望得到任何帮助。谢谢你。
一个错误?
2015.04.13 20:51:10.710 indi AUDJPY,H1: Requested indicator subframe: -1
一个错误?
2015.04.13 20:51:10.710 indi AUDJPY,H1: Requested indicator subframe: -1
不,不是一个错误。
返回值。
成功情况下的子窗口编号。零表示主图表窗口。如果失败,则返回-1。
不,不是一个错误。
如果该函数传递当前图表的ID,即指标运行的ID,以及当前图表上正在运行的指标的名称,会出现什么故障?
如果我对你的理解是正确的,你需要你所附的指标测试代码在其中工作的子窗口编号,那么,根据该函数 的描述,最好应用其第二个版本。
测试代码(我在你的代码上加了几行)。
ChartWindowFind() 函数的帮助中,有一个很好的例子还是关于这个问题的(在那里的评论方面也是如此)。
如果我对你的理解是正确的,你需要你所附的指标测试代码在其中工作的子窗口编号,那么,根据该函数 的描述,最好应用其第二个版本。
测试代码(我在你的代码上加了几行)。
ChartWindowFind() 函数的帮助有一个很好的例子,还是关于这个问题的(在那里的评论方面也是如此)。
晚上好!
我想不明白:在起始函数中,编译器要求 "返回"--函数必须返回一个值"。
在这种情况下必须返回什么值?
int start()
{
if (Orders!=0||Ord > 0)
{
CritCloseBuy();
CritCloseSell()。
}
else
{
CritOpen();
}
return;
}
这可能是OrderClose()没有看到未结头寸 的原因吗?
晚上好!
我想不明白:在起始函数中,编译器要求 "返回"--函数必须返回一个值"。
在这种情况下必须返回什么值?
int start()
这可能是OrderClose()没有看到未结头寸的原因吗?