//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| ot - время открытия ( 0 - любое время открытия) |//+----------------------------------------------------------------------------+bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
}
return(False);
}
大家好。
请对新建筑中的指标的开头进行评论。我对循环启动感兴趣(如何正确操作)。这里是BolingerBands的代码。对有问题的地方进行评论//它是什么意思,有什么用?
在迄今为止的教程中,一切都是老一套,https://book.mql4.com/ru/samples/icustom。
并阅读文件?踩着难以理解的表达方式,按下神奇的F1键或在网站上阅读。
https://docs.mql4.com/ru/array/arraysetasseries
https://docs.mql4.com/ru/basis/function/events#oncalculate
大家好。请帮助,我搞不清楚状况。
在我的代码中,我需要buf0 在屏幕上被画出来,而buf1 不被画出来,而是被算作进一步的数组处理并输出到另一个缓冲区(例如在buf2)。 我把buf1 隐藏在一个字符串中。
SetIndexBuffer(0,Buf0)。
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1)。
SetIndexBuffer(1,Buf1)。
SetIndexStyle (1,DRAW_NONE); //我想 隐藏 ,这个 行。
但当我设置指标时,由于计算方式不同,我得到了一个偏移...
问题: 有什么方法可以消除这种差异,使buf0 正常绘制?大家好。请帮助,我搞不清楚状况。
在我的代码中,我需要buf0 在屏幕上被画出来,而buf1 不被画出来,而是被算作进一步的数组处理并输出到另一个缓冲区(例如在buf2)。 我把buf1 隐藏在一个字符串中。
SetIndexBuffer(0,Buf0)。
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1)。
SetIndexBuffer(1,Buf1)。
SetIndexStyle (1,DRAW_NONE); //我想 隐藏 ,这个 行。
但当我设置指标时,由于计算方式不同,我得到了一个偏移...
问题: 有什么方法可以消除这种差异,使buf0 正常绘制?阅读关于 INDICATOR_DATA 和 INDICATOR_CALCULATIONS
在这之前,请阅读#property indicator_buffers and IndicatorBuffers(10); 10是来自我的指标,我没有删除它,以显示不受限制的缓冲区数量,如在ME 509构建中。
参数
阵列[]
[in][out] 要设置的数字阵列。
旗帜
[in] 阵列的索引方向。
返回的值
如果成功返回true,否则返回false。
但是,什么给和它将是for(i=0; i<InpBandsPeriod; i++) 和for(i=InpBandsPeriod; i<0; i--) .真和假是否会反映在循环中。这在Build 5xx中是不存在的。也许没有 ArraySetAsSeries也是可以的, 但那样的话默认会是什么。也可能你不知道。
感谢AlexeyVik,解决了这个问题......。
谁能告诉我509版本的旧mql4语言能持续多久?有必要从新版本中匆忙学习语言吗?
kim的功能不工作...
如果没有更多带有向导..... 的头寸,该头寸 就应该打开,但它们在每一个新的条形图上都会以我......。
kim的功能不工作...
如果没有更多带有向导..... 的头寸,该头寸就应该打开,但它们在每一个新的条形图上都会以我......。
看看这个 OT-开放时间(0-任何开放时间),你呢?
看看这个 OT-开放时间(0-任何开放时间),你呢?
以及为什么
如果没有打开,就打开
看看这个 OT--开放时间(0--任何开放时间),你呢?
因此,它应该检查是否有 这样的魔法,无论什么时候打开.....,对魔法的简单限制....toest。
如果(ExistPositions(NULL,-1,44444,-1)==false)//如果没有这个神奇数字的未结头寸,则检查......
....,也许我不明白....,我有-1,因为我不关心头寸何时开仓.....,反正它只在新的交易栏和旧的交易栏关闭时开仓,因为条件规定,只有在没有这个神奇数字的开仓头寸时才能开仓。
让它变得更简单:开仓并等待,直到它关闭....。当它关闭,然后再次打开,当然不应该在每个酒吧打开一个与这个魔术师....,它是再次检查的条件,看看是否有这个魔术师的开放位置。