[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 1129

 

请解释为什么指标窗口中没有显示任何结果。

代码。

#属性 indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- 缓冲区
double Buf_0[];

int init()
{
//---- 指标

SetIndexBuffer(0,Buf_0)。
SetIndexStyle(0,DRAW_LINE, STYLE_SOLID,2)。
//----
return(0);
}

int start()
{
int i, counted_bars=IndicatorCounted()。
i=Bars-counted_bars-1。


while(i>=0)
{
Buf_0[i]=Close[i]/Close[i+1];
i--;
}
return(0);
}
//+------------------------------------------------------------------+

 
Abzasc:
在哪里?"?" 是完全正确的?


这个条件应该过滤,如果(up>=1|down>=1),警告,至少有一个必须大于0,但它不是。

这里是

 
Dimka-novitsek:


这个条件应该过滤,如果(up>=1||down>=1),警报,至少有一个,必须大于0,但它们不是。

这里


int start()
{int y;
y= WindowFirstVisibleBar();Alert ("y",y);
for (y=1; y>=0;y--) // первое выражение 
{ double up=iFractals(Symbol(),PERIOD_M15,MODE_UPPER,y);
double down=iFractals(Symbol(),PERIOD_M15,MODE_LOWER,y);
if (up>=1||down>=1){
Alert("Previous upper fractal is:", up, " Previous lower fractal is:", down);Alert ("y",y);}}

return(0);
}
 
Galion:


你只是把编辑器窗口分成两部分 :)好吧,让我们忘了双击的事。你是否为MQL4文件设置了语法高亮?如果没有,那么在编辑器中打开一个带有MQL代码的文件后,你必须按 "语法"--在列表的最底部选择MQL4--高亮显示将与MetaEditor中完全相同。

 
但我不明白我哪里错了?
 
没有,但忽略它或把y=1放进去并没有改变任何东西,我检查过了!
 
Dimka-novitsek:
但我不明白我哪里错了?

清除了多余的部分。

int start()
{int y;
y= WindowFirstVisibleBar();Alert ("y",y);
// for (y=5;y>=0;y--)
//{ 
double up=iFractals(Symbol(),PERIOD_M15,MODE_UPPER,y);
double down=iFractals(Symbol(),PERIOD_M15,MODE_LOWER,y);
if (up>=1||down>=1){
Alert("Previous upper fractal is:", up, " Previous lower fractal is:", down);Alert ("y",y);}
//}
//----

//----
return(0);
}

而它是这样的。

就这样了?

 
dzhini:

我可能没有正确地提出这个问题。交易是在一个小时的时间框架内进行的,不知道什么时候会发生交易,但需要是白天的交易。我想让这个功能可以切换。也许有人有这样一段代码?


你不需要寻找一段代码--你可以花一辈子的时间来寻找它,但却什么也找不到。你应该寻找一种方法来自己建立一个代码片段。我给你的代码不是为了愚蠢的复制,而是为了让你从头到尾理解它,尤其是它非常简单。这段代码是这样工作的。它通过市场订单的列表,将它们的金额与今天开出的历史订单相加。如果总和大于零,说明今天已经开过单,不允许交易。如果你需要一个开关,让你考虑到今天可以开多少个订单,你可以通过一个简单的操作将其添加到代码中。你的问题是,你没有掌握你的程序的算法,你不明白你的程序应该如何工作,以什么顺序工作。编一个算法,否则你的脑袋会很乱。

 
好了,和你谈了谈,马上就明白了一切)))),看起来很扭捏--你是对的(我无法从我的问题解决算法中跳出来)。谢谢你的所有提示。现在我已经弄清楚了所有提议的选项:哪一个在哪些情况下有效。
 
dzhini:
好了,和你谈了谈,马上就明白了一切)))),看起来很扭捏--你是对的(我无法从我的问题解决算法中跳出来)。谢谢你的所有提示。现在我已经弄清楚了所有提议的选项:哪一个在哪些情况下有效。

请注意,我向您展示的订单搜索循环不考虑订单主控--这是EA可以将自己的订单与其他订单区分开来的这样一个特性。这是一个号码,可以在EA开仓时分配给一个订单--它的所有订单都有相同的号码(或者,如果需要,自动生成不同的号码)。如果交易者手动开立订单,神奇的数字总是等于零!这就是所谓的 "零"。这意味着,如果我们在EA中加入magic = 0,EA将干扰交易者的手动交易。如果你想让EA不碰交易者的订单,只操作自己的订单,你应该把向导设置为一个不同于零的值。在这种情况下,专家顾问将考虑所有没有这种魔力的订单,而不去碰它们。