[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 1129 1...112211231124112511261127112811291130113111321133113411351136...1145 新评论 [删除] 2011.01.13 13:47 #11281 请解释为什么指标窗口中没有显示任何结果。 代码。 #属性 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); } //+------------------------------------------------------------------+ [WARNING CLOSED!] Any newbie 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. Any rookie question, so Dimka-novitsek 2011.01.13 14:00 #11282 Abzasc: 在哪里?"?" 是完全正确的? 这个条件应该过滤,如果(up>=1|down>=1),警告,至少有一个必须大于0,但它不是。 这里是 [删除] 2011.01.13 14:12 #11283 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); } Владимир Тезис 2011.01.13 14:13 #11284 Galion: 你只是把编辑器窗口分成两部分 :)好吧,让我们忘了双击的事。你是否为MQL4文件设置了语法高亮?如果没有,那么在编辑器中打开一个带有MQL代码的文件后,你必须按 "语法"--在列表的最底部选择MQL4--高亮显示将与MetaEditor中完全相同。 Dimka-novitsek 2011.01.13 14:19 #11285 但我不明白我哪里错了? Dimka-novitsek 2011.01.13 14:24 #11286 没有,但忽略它或把y=1放进去并没有改变任何东西,我检查过了! [删除] 2011.01.13 14:24 #11287 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); } 而它是这样的。 就这样了? Владимир Тезис 2011.01.13 14:48 #11288 dzhini:我可能没有正确地提出这个问题。交易是在一个小时的时间框架内进行的,不知道什么时候会发生交易,但需要是白天的交易。我想让这个功能可以切换。也许有人有这样一段代码? 你不需要寻找一段代码--你可以花一辈子的时间来寻找它,但却什么也找不到。你应该寻找一种方法来自己建立一个代码片段。我给你的代码不是为了愚蠢的复制,而是为了让你从头到尾理解它,尤其是它非常简单。这段代码是这样工作的。它通过市场订单的列表,将它们的金额与今天开出的历史订单相加。如果总和大于零,说明今天已经开过单,不允许交易。如果你需要一个开关,让你考虑到今天可以开多少个订单,你可以通过一个简单的操作将其添加到代码中。你的问题是,你没有掌握你的程序的算法,你不明白你的程序应该如何工作,以什么顺序工作。编一个算法,否则你的脑袋会很乱。 dzhini 2011.01.13 17:29 #11289 好了,和你谈了谈,马上就明白了一切)))),看起来很扭捏--你是对的(我无法从我的问题解决算法中跳出来)。谢谢你的所有提示。现在我已经弄清楚了所有提议的选项:哪一个在哪些情况下有效。 Владимир Тезис 2011.01.13 17:59 #11290 dzhini: 好了,和你谈了谈,马上就明白了一切)))),看起来很扭捏--你是对的(我无法从我的问题解决算法中跳出来)。谢谢你的所有提示。现在我已经弄清楚了所有提议的选项:哪一个在哪些情况下有效。 请注意,我向您展示的订单搜索循环不考虑订单主控--这是EA可以将自己的订单与其他订单区分开来的这样一个特性。这是一个号码,可以在EA开仓时分配给一个订单--它的所有订单都有相同的号码(或者,如果需要,自动生成不同的号码)。如果交易者手动开立订单,神奇的数字总是等于零!这就是所谓的 "零"。这意味着,如果我们在EA中加入magic = 0,EA将干扰交易者的手动交易。如果你想让EA不碰交易者的订单,只操作自己的订单,你应该把向导设置为一个不同于零的值。在这种情况下,专家顾问将考虑所有没有这种魔力的订单,而不去碰它们。 1...112211231124112511261127112811291130113111321133113411351136...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请解释为什么指标窗口中没有显示任何结果。
代码。
#属性 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);
}
//+------------------------------------------------------------------+
在哪里?"?" 是完全正确的?
这个条件应该过滤,如果(up>=1|down>=1),警告,至少有一个必须大于0,但它不是。
这里是
这个条件应该过滤,如果(up>=1||down>=1),警报,至少有一个,必须大于0,但它们不是。
这里
你只是把编辑器窗口分成两部分 :)好吧,让我们忘了双击的事。你是否为MQL4文件设置了语法高亮?如果没有,那么在编辑器中打开一个带有MQL代码的文件后,你必须按 "语法"--在列表的最底部选择MQL4--高亮显示将与MetaEditor中完全相同。
但我不明白我哪里错了?
清除了多余的部分。
而它是这样的。
就这样了?
我可能没有正确地提出这个问题。交易是在一个小时的时间框架内进行的,不知道什么时候会发生交易,但需要是白天的交易。我想让这个功能可以切换。也许有人有这样一段代码?
你不需要寻找一段代码--你可以花一辈子的时间来寻找它,但却什么也找不到。你应该寻找一种方法来自己建立一个代码片段。我给你的代码不是为了愚蠢的复制,而是为了让你从头到尾理解它,尤其是它非常简单。这段代码是这样工作的。它通过市场订单的列表,将它们的金额与今天开出的历史订单相加。如果总和大于零,说明今天已经开过单,不允许交易。如果你需要一个开关,让你考虑到今天可以开多少个订单,你可以通过一个简单的操作将其添加到代码中。你的问题是,你没有掌握你的程序的算法,你不明白你的程序应该如何工作,以什么顺序工作。编一个算法,否则你的脑袋会很乱。
好了,和你谈了谈,马上就明白了一切)))),看起来很扭捏--你是对的(我无法从我的问题解决算法中跳出来)。谢谢你的所有提示。现在我已经弄清楚了所有提议的选项:哪一个在哪些情况下有效。
请注意,我向您展示的订单搜索循环不考虑订单主控--这是EA可以将自己的订单与其他订单区分开来的这样一个特性。这是一个号码,可以在EA开仓时分配给一个订单--它的所有订单都有相同的号码(或者,如果需要,自动生成不同的号码)。如果交易者手动开立订单,神奇的数字总是等于零!这就是所谓的 "零"。这意味着,如果我们在EA中加入magic = 0,EA将干扰交易者的手动交易。如果你想让EA不碰交易者的订单,只操作自己的订单,你应该把向导设置为一个不同于零的值。在这种情况下,专家顾问将考虑所有没有这种魔力的订单,而不去碰它们。