[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 411 1...404405406407408409410411412413414415416417418...652 新评论 costy_ 2011.12.07 14:38 #4101 kolyango: 如何制作。 如果Condition1被满足了,那么就不再在每个tick上检查它,在下一个tick上也检查Condition2,然后也检查Condition3,直到我们宣布所有标志为假? bool проверять_ус1=true; bool проверять_ус2=true; bool проверять_ус3=true; void start(){ if(проверять_ус1) if(Open[0]>Close[1]){//условие 1 проверять_ус1=false; //заглушка } if(проверять_ус2) if(Open[0]<Close[2]){//условие 1 проверять_ус2=false; //заглушка } if(проверять_ус3) if(Open[0]==Close[3]){//условие 1 проверять_ус3=false; //заглушка } if(!проверять_ус1&&!проверять_ус2&&!проверять_ус3){ проверять_ус1=true; проверять_ус2=true; проверять_ус3=true; } } 多读几遍代码,直到清楚写的是什么,你就会很高兴。 [删除] 2011.12.07 14:40 #4102 costy_: 它读取已经建立(以前的)i+1删除的酒吧的数据。但创造者的算法将被破坏(他更清楚,我也在开放和生成的+1数据上工作)。 正如创建者所说,i+1仅用于从另一个指标输入数据,然后检查故障条件,但所有进一步的计算都在i上进行。 问题是,指标不是自动更新的,只有在重新加载(改变TF,改变属性)时才会更新。 我不明白是什么原因。 我试着只用i,把所需指标的数据计算塞到前一个条形图上,在周期结束时,但这没有帮助。 Александр 2011.12.07 14:49 #4103 costy_: 还是不明白。 用图片来解释可能更容易。 是的,谢谢你!在你用蓝色强调的地方,你需要找到在D1上收于高点之上的蜡烛。 Александр 2011.12.07 14:53 #4104 costy_: 多读几遍代码,直到清楚写的是什么,你就会很高兴。 再次感谢! costy_ 2011.12.07 14:57 #4105 LOA: 作为一个创造者,我说i+1只是为了从另一个指标中输入数据,然后它检查故障条件,但所有进一步的计算都在i上进行。 问题是,指标根本没有自动更新,只有在重新加载(改变TF,显示属性)时才会更新。 我不明白其中的原因。 我试着只用i,将所需指标的数据计算从上一个条形图上推到周期的末尾,但这并没有什么帮助。 你有 int proboy_5_UP = iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1);/*запрос значения индикатора 我怀疑它应该是这样的。 double proboy_5_UP = iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1);/*запрос значения индикатора [删除] 2011.12.07 15:06 #4106 costy_:你有 我怀疑它应该是这样的。 no....我们不取价格值,而是取指标读数(柱状图),其值可能是1或-1。 [删除] 2011.12.07 15:11 #4107 costy_: 多读几遍代码,直到清楚写的是什么,你就会很高兴。 你是如何改写这种代码的条件的,我不明白? static bool Val_max, Cl_dn, Val_min; //static or global | //+------------------------------------------------------------------+ int start() { int j; double bid; bid=Bid; // Текущая цена продажи string Symb=Symbol(); // Название фин.инстр. double Value_max=1.0000; double Value_min=0.9980; double Open_1=Open[1]; double Close_1=Close[1]; //---- //--------------------------------------------------------------- 4 -- double Val=iCustom(NULL, 0, "Название Польз. Индикатора",0,0); // Присваиваем пер. Val значение польз. индикатора if (Условие1) { Val_max=true; // Alert("Значение инд. >= Value_max (исп. 1-е усл.)"); } if (Условие2) { Cl_dn=true; Alert("1 бар закрылся падением (исп. 2-е усл.)"); } if (Условие3 && Cl_dn==true) { Val_min=true; Alert("Значение инд. <= Value_min (исп. 3-е усл.)"); } if (Val_max==true && Cl_dn==true && Val_min==true) { for (j = 0; j < OrdersTotal(); j++) { OrderSelect(j, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) { if (OrderType() == OP_SELL) return(0); } } OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),2,Bid+400*Point,Bid-400*Point,"",3,Red); // Открытие SELL Val_max=false; Cl_dn=false; Val_min=false; } //---- return(0); } costy_ 2011.12.07 15:15 #4108 LOA: no....我们不取价格值,而是取指标(柱状图),其值可能是1或-1。 我还是不能回答,被调用的inds在哪里,它们返回int double,它们真的可以>1,这样int就被分配>0,反之亦然(至少*.ex4)? 牧师_F5_For_EX 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 2011.12.07 18:10:42 无法打开 AUDUSD,M30上的文件\experts\indicators\ME_Proboy_F5_For_EX.ex4' 。 用MACD替换了所有的,一切都正常了!。 附加的文件: temp_1.mq4 14 kb costy_ 2011.12.07 15:28 #4109 kolyango: 我如何改写这种代码的条件,我不明白? bool проверять_ус1=true; bool проверять_ус2=true; bool проверять_ус3=true; void start(){ if(проверять_ус1) if(Open[0]>Close[1]){//условие 1 проверять_ус1=false; //заглушка } if(проверять_ус2) if(Open[0]<Close[2]){//условие 1 проверять_ус2=false; //заглушка } if(проверять_ус3) if(Open[0]==Close[3]){//условие 1 проверять_ус3=false; //заглушка } if(!проверять_ус1&&!проверять_ус2&&!проверять_ус3){ проверять_ус1=true; проверять_ус2=true; проверять_ус3=true; } } 多读几遍代码,直到清楚写的是什么,你就会很高兴。 你为什么需要旗子?)你可以不使用它们。 if(Close[i+3]>Open[i+3]&&Close[i+2]>Open[i+3]&&Close[i+2]<Close[i+3]&&Close[i]>Close[i+3]) //открываем бай [删除] 2011.12.07 15:28 #4110 costy_: 我还是不能回答,被调用的inds在哪里,它们返回int double,它们真的可以>1,这样int就被分配>0,反之亦然(至少*.ex4)? 牧师_F5_For_EX 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 2011.12.07 18:10:42 无法打开AUDUSD,M30上的文件\experts\indicators\ME_Proboy_F5_For_EX.ex4' 。 用MACD替换了所有的东西,所有的东西都在工作! 是的,历史上的指标与任何被触发的指标一起工作。在现实生活中不起作用,在M1上检查过。 如果我没有理解错的话,我将尝试用==1或==-1来代替>0、<0的条件。 1...404405406407408409410411412413414415416417418...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如何制作。
如果Condition1被满足了,那么就不再在每个tick上检查它,在下一个tick上也检查Condition2,然后也检查Condition3,直到我们宣布所有标志为假?
多读几遍代码,直到清楚写的是什么,你就会很高兴。
它读取已经建立(以前的)i+1删除的酒吧的数据。但创造者的算法将被破坏(他更清楚,我也在开放和生成的+1数据上工作)。
正如创建者所说,i+1仅用于从另一个指标输入数据,然后检查故障条件,但所有进一步的计算都在i上进行。
问题是,指标不是自动更新的,只有在重新加载(改变TF,改变属性)时才会更新。
我不明白是什么原因。
我试着只用i,把所需指标的数据计算塞到前一个条形图上,在周期结束时,但这没有帮助。
还是不明白。
用图片来解释可能更容易。
是的,谢谢你!在你用蓝色强调的地方,你需要找到在D1上收于高点之上的蜡烛。
多读几遍代码,直到清楚写的是什么,你就会很高兴。
再次感谢!
作为一个创造者,我说i+1只是为了从另一个指标中输入数据,然后它检查故障条件,但所有进一步的计算都在i上进行。
问题是,指标根本没有自动更新,只有在重新加载(改变TF,显示属性)时才会更新。
我不明白其中的原因。
我试着只用i,将所需指标的数据计算从上一个条形图上推到周期的末尾,但这并没有什么帮助。
你有
int proboy_5_UP = iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1);/*запрос значения индикатора
我怀疑它应该是这样的。
你有
我怀疑它应该是这样的。
no....我们不取价格值,而是取指标读数(柱状图),其值可能是1或-1。
多读几遍代码,直到清楚写的是什么,你就会很高兴。
你是如何改写这种代码的条件的,我不明白?
no....我们不取价格值,而是取指标(柱状图),其值可能是1或-1。
我还是不能回答,被调用的inds在哪里,它们返回int double,它们真的可以>1,这样int就被分配>0,反之亦然(至少*.ex4)?
牧师_F5_For_EX
呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心:
2011.12.07 18:10:42 无法打开 AUDUSD,M30上的文件\experts\indicators\ME_Proboy_F5_For_EX.ex4' 。
用MACD替换了所有的,一切都正常了!。
我如何改写这种代码的条件,我不明白?
多读几遍代码,直到清楚写的是什么,你就会很高兴。
你为什么需要旗子?)你可以不使用它们。
我还是不能回答,被调用的inds在哪里,它们返回int double,它们真的可以>1,这样int就被分配>0,反之亦然(至少*.ex4)?
牧师_F5_For_EX
呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心: 呼叫中心:
2011.12.07 18:10:42 无法打开AUDUSD,M30上的文件\experts\indicators\ME_Proboy_F5_For_EX.ex4' 。
用MACD替换了所有的东西,所有的东西都在工作!
是的,历史上的指标与任何被触发的指标一起工作。在现实生活中不起作用,在M1上检查过。
如果我没有理解错的话,我将尝试用==1或==-1来代替>0、<0的条件。