任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 815 1...808809810811812813814815816817818819820821822...1178 新评论 cJIecapb 2014.12.31 05:59 #8141 evillive:那么你认为这个周期应该在什么时候结束??纠正了。if(R==0){ while(true) { Sleep(30000); Alert("Ошибка!"); DeleteBuy=OrderDelete(OrderTicketBuy); DeleteSell=OrderDelete(OrderTicketSell); return(1); }}利润计算也是如此。我在while(真)循环中插入了一个信息和错误处理。循环工作,信息被写入,没有错误。但它没有通过条件,数据似乎没有被更新。 附加的文件: test3_7.mq4 16 kb Vitalie Postolache 2014.12.31 12:10 #8142 CJIeCaPb:我在while(真)循环中插入了一个信息和错误处理。循环工作,信息被写入,没有错误。但它没有通过条件,数据没有被更新。这里还有一些提示。这个周期并不考虑所有的订单;此外,如果一种类型的订单超过一个(例如,有三个补仓订单),那么会发生什么?for(i=1;i<=OrdersTotal();i++) { Alert(i); if(OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderSymbol()!=Symb)continue; if(OrderType()==OP_BUYSTOP) { OrderTicketBuy=OrderTicket(); Alert("Buy"); } if(OrderType()==OP_SELLSTOP) { OrderTicketSell=OrderTicket(); Alert("Sell"); } } }实际上,应该反过来:首先我们应该选择一个 订单,只有当一个订单被选中时,我们才应该检查它的类型,并对它进行各种胡说八道。while(OrderType()==OP_BUY)//Buy { RefreshRates(); SelectBuy=OrderSelect(OrderTicketBuy,SELECT_BY_TICKET); ... } //-------------------------------------------------------------------------- //Sell while(OrderType()==OP_SELL) { RefreshRates(); SelectSell=OrderSelect(OrderTicketSell,SELECT_BY_TICKET); ... } 而在 "扫荡--开关--特征--停顿 "中,究竟为什么要到处继续 ?那么这条线路将在什么时候执行,在一个和第二个开关中? CloseBuy=OrderClose(OrderTicketBuy,Lote,Bid,1); continue;//119 ----- CloseSell=OrderClose(OrderTicketSell,Lote,Ask,1); continue;//119 cJIecapb 2014.12.31 17:56 #8143 evillive:这里先考虑订单类型,然后再选择订单。 其实应该反过来,先选择订单,如果选择了订单,再看它的类型,对它进行各种嘲讽。所以。if(R==1)//238{ Alert("yes"); R=0; SelectBuy=OrderSelect(OrderTicketBuy,SELECT_BY_TICKET);}if(R==2)//245{ Alert("yes"); R=0; SelectSell=OrderSelect(OrderTicketSell,SELECT_BY_TICKET);}而在 "滚动型-反白-停滞"(=D.你不喜欢什么?我认为这很正常,很清楚。),究竟为什么到处都是?那么这条线路将在什么时候执行,在一个和第二个开关中?这样一来,它就会因条件而断裂。 Timen=OrderCloseTime(); if(Timen>0) { DeleteSell=OrderDelete(OrderTicketSell); OldProfit=0; WarBuy=true; break; }嗯,是的,休息在OrderClose字符串中看起来会更好。然后我们需要添加OrderDelete。evillive: 这里还有一些提示。这个循环没有考虑所有的订单。 此外,如果一种类型的订单比一种类型的订单多(例如,有三个bystop订单),那么会发生什么?OrdersTotal从1开始,OrderSelect 从0开始。一个符号上是否有多个相同类型的订单?没有。但我将再看看。我们需要一个与此接近的条件:"如果MA==price,那么"。这就可以了。if((MA>Open[0] && MA<Close[0]) || (MA<Open[0] && MA>Open[0]))P.S.: 新年快乐! Any rookie question, so need help with stop 如何编码? Victor Nikolaev 2014.12.31 20:26 #8144 对某些人来说,这不是除夕夜。新年快乐!!。 Lexdemon 2015.01.01 11:58 #8145 新年快乐!我最近开始学习MQL 4,想问一个问题。例如,我有一个条件,要打开一个订单。如果(Bid>=SS+5*Point)OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green) 。问题是:在第一笔订单有10个点以上的利润的情况下,必须规定什么条件才能开第二笔订单? [删除] 2015.01.01 12:37 #8146 lexdemon:新年快乐!我最近开始学习MQL 4,想问一个问题。例如,我有一个条件,要打开一个订单。如果(Bid>=SS+5*Point)OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green) 。问题是:在第一笔订单盈利10点以上的情况下,开第二笔订单需要指定什么条件?看这里,有很多功能,几乎适用于所有情况。https://www.mql5.com/ru/forum/131859 cJIecapb 2015.01.02 06:26 #8147 lexdemon:新年快乐!我最近开始学习MQL 4,想问一个问题。例如,我有一个条件,要打开一个订单。如果(Bid>=SS+5*Point)OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green) 。现在的问题是,如果第一笔订单有10个点以上的利润,开第二笔订单需要规定什么条件?预先选择订单 OrderSelect(Ticket_first_order,SELECT_BY_TICKET)。如果(OrderOpenPrice()+10*Point==Ask)OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green) 。 cJIecapb 2015.01.02 17:55 #8148 CJIeCaPb Нужно условие максимально приближенное к этому: "если MA==цене, то".Такое пойдет:if((MA>Open[0] && MA<Close[0]) || (MA<Open[0] && MA>Open[0]))万幸的是,它似乎正在发挥作用。我在每个循环中插入了返回和 "O "运算符,以避免不必要的操作。有一个问题:订单很笨拙--我不知道如何制定条件。 附加的文件: test3.mq4 16 kb [删除] 2015.01.02 20:04 #8149 我有一个叫forexstart的交易员,如果有区别的话。问题是我写了一个在1分钟图表上工作的交易机器人。它分析了许多图表上的历史,历史大约是一个半月,没有更长的时间。我有一个交易机器人,在一分钟的图表上运行。它分析历史。在许多图表上,历史被提供了大约一个半月的时间,没有更长的时间,尽管小时-日-年的图表显示了历史。我怎样才能处理好这个问题? Vitalie Postolache 2015.01.02 20:35 #8150 pycha:我有一个叫forexstart的交易员,如果它有价值的话。问题出在交易员身上。我发布了一个在1分钟图表上工作的外汇机器人。它在许多图表上分析历史。我有一个在一分钟图表上运行的交易机器人。它显示历史。在许多图表上,历史大约给出了一个半月的时间,没有更长的时间,尽管小时-日-年图表显示了历史。也有一些情况,它返回到某一日期,然后中断,游戏继续几个月前,但更高的图表又显示了一切。我怎样才能处理它? 如果经过几个周期的删除--从服务器DC下载历史记录,断点仍然存在,这意味着他们会给你历史记录。谷歌Tickstory Lite,为tick历史 准备大量的磁盘空间,然后将这些历史记录反馈给测试者,你将拥有一个十年或更长时间的M1。 1...808809810811812813814815816817818819820821822...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
那么你认为这个周期应该在什么时候结束?
?
纠正了。
if(R==0)
{
while(true)
{
Sleep(30000);
Alert("Ошибка!");
DeleteBuy=OrderDelete(OrderTicketBuy);
DeleteSell=OrderDelete(OrderTicketSell);
return(1);
}
}
利润计算也是如此。
我在while(真)循环中插入了一个信息和错误处理。循环工作,信息被写入,没有错误。但它没有通过条件,数据似乎没有被更新。
我在while(真)循环中插入了一个信息和错误处理。循环工作,信息被写入,没有错误。但它没有通过条件,数据没有被更新。
这里还有一些提示。
这个周期并不考虑所有的订单;此外,如果一种类型的订单超过一个(例如,有三个补仓订单),那么会发生什么?
实际上,应该反过来:首先我们应该选择一个 订单,只有当一个订单被选中时,我们才应该检查它的类型,并对它进行各种胡说八道。
而在 "扫荡--开关--特征--停顿 "中,究竟为什么要到处继续 ?那么这条线路将在什么时候执行,在一个和第二个开关中?
这里先考虑订单类型,然后再选择订单。 其实应该反过来,先选择订单,如果选择了订单,再看它的类型,对它进行各种嘲讽。
所以。
if(R==1)//238
{
Alert("yes");
R=0;
SelectBuy=OrderSelect(OrderTicketBuy,SELECT_BY_TICKET);
}
if(R==2)//245
{
Alert("yes");
R=0;
SelectSell=OrderSelect(OrderTicketSell,SELECT_BY_TICKET);
}
而在 "滚动型-反白-停滞"(=D.你不喜欢什么?我认为这很正常,很清楚。),究竟为什么到处都是?那么这条线路将在什么时候执行,在一个和第二个开关中?
这样一来,它就会因条件而断裂。
Timen=OrderCloseTime();
if(Timen>0)
{
DeleteSell=OrderDelete(OrderTicketSell);
OldProfit=0;
WarBuy=true;
break;
}
嗯,是的,休息在OrderClose字符串中看起来会更好。然后我们需要添加OrderDelete。
这里还有一些提示。
这个循环没有考虑所有的订单。 此外,如果一种类型的订单比一种类型的订单多(例如,有三个bystop订单),那么会发生什么?
OrdersTotal从1开始,OrderSelect 从0开始。
一个符号上是否有多个相同类型的订单?没有。但我将再看看。
我们需要一个与此接近的条件:"如果MA==price,那么"。
这就可以了。
if((MA>Open[0] && MA<Close[0]) || (MA<Open[0] && MA>Open[0]))
P.S.: 新年快乐!
新年快乐!
我最近开始学习MQL 4,想问一个问题。
例如,我有一个条件,要打开一个订单。
如果(Bid>=SS+5*Point)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green) 。
问题是:在第一笔订单有10个点以上的利润的情况下,必须规定什么条件才能开第二笔订单?
新年快乐!
我最近开始学习MQL 4,想问一个问题。
例如,我有一个条件,要打开一个订单。
如果(Bid>=SS+5*Point)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green) 。
问题是:在第一笔订单盈利10点以上的情况下,开第二笔订单需要指定什么条件?
看这里,有很多功能,几乎适用于所有情况。
https://www.mql5.com/ru/forum/131859
新年快乐!
我最近开始学习MQL 4,想问一个问题。
例如,我有一个条件,要打开一个订单。
如果(Bid>=SS+5*Point)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green) 。
现在的问题是,如果第一笔订单有10个点以上的利润,开第二笔订单需要规定什么条件?
预先选择订单 OrderSelect(Ticket_first_order,SELECT_BY_TICKET)。
如果(OrderOpenPrice()+10*Point==Ask)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green) 。
Нужно условие максимально приближенное к этому: "если MA==цене, то".
Такое пойдет:
if((MA>Open[0] && MA<Close[0]) || (MA<Open[0] && MA>Open[0]))
万幸的是,它似乎正在发挥作用。我在每个循环中插入了返回和 "O "运算符,以避免不必要的操作。
有一个问题:订单很笨拙--我不知道如何制定条件。
我有一个叫forexstart的交易员,如果有区别的话。问题是我写了一个在1分钟图表上工作的交易机器人。它分析了许多图表上的历史,历史大约是一个半月,没有更长的时间。
我有一个交易机器人,在一分钟的图表上运行。它分析历史。在许多图表上,历史被提供了大约一个半月的时间,没有更长的时间,尽管小时-日-年的图表显示了历史。
我怎样才能处理好这个问题?
我有一个叫forexstart的交易员,如果它有价值的话。问题出在交易员身上。我发布了一个在1分钟图表上工作的外汇机器人。它在许多图表上分析历史。
我有一个在一分钟图表上运行的交易机器人。它显示历史。在许多图表上,历史大约给出了一个半月的时间,没有更长的时间,尽管小时-日-年图表显示了历史。也有一些情况,它返回到某一日期,然后中断,游戏继续几个月前,但更高的图表又显示了一切。
我怎样才能处理它?