[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 476 1...469470471472473474475476477478479480481482483...537 新评论 gince 2011.06.30 10:19 #4751 如果你需要,我也会张贴jma。将指标名称改为JMA[i]。 附加的文件: jmaxvib.mq4 11 kb rlx 2011.06.30 11:03 #4752 for(i = 0; i < limit; i++) { if(dBuffer[i+1]>80 && dBuffer[i]<80) DN[i] = 70; Fd=-1; Fu=0; //пересекла 80 --> 1 if(dBuffer[i+1]<20 && dBuffer[i]>20) UP[i] = 30; Fu=1; Fd=0; //пересекла 20 --> 1 if(dBuffer[i+1]>rsi[i+1] && dBuffer[i]<rsi[i]) dn[i] = 60; fd=-1; fu=0; //пересечение двух --> 2 if(dBuffer[i+1]<rsi[i+1] && dBuffer[i]>rsi[i]) up[i] = 40; fu=1; fd=0; //пересечение двух --> 2 if(Fd==-1 && fd==-1) dot[i]=90; Fd=0; Fu=0; fd=0; fu=0; if(Fu==1 && fu==1) dot[i]=10; Fd=0; Fu=0; fd=0; fu=0;你正在经历从当前时间 到过去时间的酒吧。阵列被搜索,直到最后一个。因此,所有的变量都会给出最近的情况(在这种情况下--很久以前)的数值。因此,你需要做一个从过去到现在的查询。 for(i = limit; i >= 0; i--) 和变量 int fd, fu,Fd, Fu;在顶层声明,即在Start和Init之前。 而且不需要在开始时将它们归零。只在你让他们归零的地方留下归零的痕迹 if(Fd==-1 && fd==-1) dot[i]=90; Fd=0; Fu=0; fd=0; fu=0; if(Fu==1 && fu==1) dot[i]=10; Fd=0; Fu=0; fd=0; fu=0; gince 2011.06.30 11:15 #4753 rlx 谢谢你,Vce正在工作。 sammi61 2011.06.30 11:25 #4754 PapaYozh: 首先,OrderSend()在这里出现了2次,而且都是在你指定的条件之外。 其次,非正常化的价格被传递给OrderSend()。 第三,分析OrderSend()函数返回的结果,在打开/修改/关闭订单时出现错误的情况下,将信息写入日志并分析日志。 谁能把实验1的修正版贴出来? Artem Gulturyan 2011.06.30 14:30 #4755 下午好! 感谢你们的答复--你们对我帮助很大 )))) 伙计们!专家顾问在这两根木线 交叉时进行交易。而当它们交叉回来时,它关闭交易并向相反方向打开,损失利润。 1.当线路刚刚开始汇合时,我怎么写它能完成交易呢?而且它不会在同一方向开启新的交易,而是会在他们向相反方向交叉时等待? 2.或者在买入时R.C.I.向下穿过80水平,卖出时向下穿过20水平时关闭交易。当关闭交易时,当条件得到满足时,它不会在同一方向上打开交易,而是等待它们向相反方向交叉? 如果论坛上有任何类似的主题,请给我一个链接! 事先非常感谢! 祝您交易愉快! 有利可图的交易! demlin 2011.06.30 14:32 #4756 大家好! 请告诉我这是什么意思。 订单买入 ...... 失败 [交易超时] 特别感兴趣的是这个超时是什么 Andrey F. Zelinsky 2011.06.30 14:46 #4757 smartemiy: 下午好! 感谢你们的答复--你们对我帮助很大 )))) 伙计们!专家顾问在这两根木线交叉时进行交易。而当它们交叉回来时,它关闭交易并向相反方向打开,损失利润。 1.当线路刚刚开始汇合时,我怎么写它能完成交易呢?而且它不会在同一方向上开启新的交易,而是等到他们在相反的方向上交叉? 2.或者在买入时R.C.I.向下穿过80水平,卖出时向下穿过20水平时关闭交易。当关闭交易时,当条件得到满足时,它不会在同一方向上打开交易,而是等待它们向相反方向交叉? 如果论坛上有任何类似的主题,请给我一个链接! 事先非常感谢! 祝您交易愉快! 有利可图的交易! https://www.mql5.com/ru/code 有一仓库的类似产品 demlin 2011.06.30 15:15 #4758 另一个问题:可以用什么函数来拉出每个工具点的成本? Alexander 2011.06.30 16:12 #4759 PapaYozh: 首先,OrderSend()在那里出现了2次,而且都在你指定的条件之外。 然而,我不想成为一个麻烦的人。 if(OrdersTotal()>0&&tral>0&&OrderMagicNumber()==MAGIC&&(OrderType()==OP_SELL||OrderType()==OP_BUY)){ if(ObjectFind(NamePrice)==-1) { ObjectCreate(NamePrice,OBJ_HLINE,0,0,Ask); ObjectSet(NamePrice,OBJPROP_COLOR,LineColor); } double n= ObjectGet( NamePrice, OBJPROP_PRICE1); double p1= ObjectGet( NamePrice1, OBJPROP_PRICE1); double p2= ObjectGet( NamePrice2, OBJPROP_PRICE1); //....................................................................... double d= AccountEquity()-AccountBalance(); if(ObjectFind(NamePrice1)==-1&&d>0) { ObjectCreate(NamePrice1,OBJ_HLINE,0,0,n+d*Point*10); ObjectSet(NamePrice1,OBJPROP_COLOR,LineColor1); } if(n+d*Point*10>p1)ObjectSet(NamePrice1,OBJPROP_PRICE1,n+d*Point*10); if(ObjectFind(NamePrice2)==-1&&n+d*Point*10<p1) { ObjectCreate(NamePrice2,OBJ_HLINE,0,0,n+d*Point*10); ObjectSet(NamePrice2,OBJPROP_COLOR,LineColor2); } if(p2!=n+d*Point*10)ObjectSet(NamePrice2,OBJPROP_PRICE1,n+d*Point*10); if(nb+ns==2&&tral<20&&p1-p2>=(p1-n)/tral&&p2>n&&p2-n>dohod*Point/10)CloseALL(); if(nb+ns==2&&tral>20&&p1-p2>=tral*Point&&p2>n)CloseALL(); } //.......................................................................... if(ob==0||OrderOpenTime()<iTime(Symbol(),TF,0)) { if( R==1&&zb==0&&C1>O1&&iVolume(Symbol(),TF,0)<2) { if(ob==0||OrderOpenTime()<iTime(Symbol(),TF,0)) { OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+dist*Point,3,0,0,"ko",MAGIC,TimeCurrent()+60*experation,Green); } } } if(os==0||OrderOpenTime()<iTime(Symbol(),TF,0)) { if(R==1&&zs==0&&C1<O1&&iVolume(Symbol(),TF,0)<2) { if(os==0||OrderOpenTime()<iTime(Symbol(),TF,0)) { OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-dist*Point,3,0,0,"ko",MAGIC,TimeCurrent()+60*experation,Red); } } return(0); } } 向我解释一下,如果OrderTotal()为零,订单将如何打开。 谢谢你。 Denis Lazarev 2011.06.30 16:36 #4760 请告诉我应该在EA中写哪些代码来使EA每小时只交易一次。 例如,EA已经触发,一个订单被打开(对进一步感兴趣),我希望该订单不要在一小时时间框架的当前条上打开。 一切看起来像这样 int hh; int CurrentHour; CurrentHour=TimeHour(TimeCurrent()); if (CurrentHour!=hh) { OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-3*Point,Bid+3*Point); hh=TimeHour(TimeCurrent() ); } 但我有无数的订单 未完成 1...469470471472473474475476477478479480481482483...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你正在经历从当前时间 到过去时间的酒吧。
阵列被搜索,直到最后一个。
因此,所有的变量都会给出最近的情况(在这种情况下--很久以前)的数值。
因此,你需要做一个从过去到现在的查询。
和变量int fd, fu,Fd, Fu;
在顶层声明,即在Start和Init之前。
而且不需要在开始时将它们归零。只在你让他们归零的地方留下归零的痕迹
首先,OrderSend()在这里出现了2次,而且都是在你指定的条件之外。
其次,非正常化的价格被传递给OrderSend()。
第三,分析OrderSend()函数返回的结果,在打开/修改/关闭订单时出现错误的情况下,将信息写入日志并分析日志。
谁能把实验1的修正版贴出来?
下午好!
感谢你们的答复--你们对我帮助很大 ))))
伙计们!专家顾问在这两根木线 交叉时进行交易。而当它们交叉回来时,它关闭交易并向相反方向打开,损失利润。
1.当线路刚刚开始汇合时,我怎么写它能完成交易呢?而且它不会在同一方向开启新的交易,而是会在他们向相反方向交叉时等待?
2.或者在买入时R.C.I.向下穿过80水平,卖出时向下穿过20水平时关闭交易。当关闭交易时,当条件得到满足时,它不会在同一方向上打开交易,而是等待它们向相反方向交叉?
如果论坛上有任何类似的主题,请给我一个链接!
事先非常感谢!
祝您交易愉快!
有利可图的交易!
大家好!
请告诉我这是什么意思。
订单买入 ...... 失败 [交易超时]
特别感兴趣的是这个超时是什么
下午好!
感谢你们的答复--你们对我帮助很大 ))))
伙计们!专家顾问在这两根木线交叉时进行交易。而当它们交叉回来时,它关闭交易并向相反方向打开,损失利润。
1.当线路刚刚开始汇合时,我怎么写它能完成交易呢?而且它不会在同一方向上开启新的交易,而是等到他们在相反的方向上交叉?
2.或者在买入时R.C.I.向下穿过80水平,卖出时向下穿过20水平时关闭交易。当关闭交易时,当条件得到满足时,它不会在同一方向上打开交易,而是等待它们向相反方向交叉?
如果论坛上有任何类似的主题,请给我一个链接!
事先非常感谢!
祝您交易愉快!
有利可图的交易!
https://www.mql5.com/ru/code 有一仓库的类似产品
首先,OrderSend()在那里出现了2次,而且都在你指定的条件之外。
然而,我不想成为一个麻烦的人。
向我解释一下,如果OrderTotal()为零,订单将如何打开。
谢谢你。
请告诉我应该在EA中写哪些代码来使EA每小时只交易一次。
例如,EA已经触发,一个订单被打开(对进一步感兴趣),我希望该订单不要在一小时时间框架的当前条上打开。
一切看起来像这样
int hh;
int CurrentHour;
CurrentHour=TimeHour(TimeCurrent());
if (CurrentHour!=hh)
{
OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-3*Point,Bid+3*Point);
hh=TimeHour(TimeCurrent() );
}
但我有无数的订单 未完成