任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 94 1...87888990919293949596979899100101...1178 新评论 Alexey Semenov 2013.08.27 04:17 #931 void CheckForClose() { double PriceHigh, PriceLow; //---- go trading only for first tiks of new bar if(Volume[0]>1) return; PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength , Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0); PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength , Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0); for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=Magic || OrderSymbol()!=Symbol()) continue; //---- check order type if(OrderType()==OP_BUY) { if(Low[1]<=PriceHigh && Ask>PriceHigh) OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White); break; } if(OrderType()==OP_SELL) { if(Ask<=PriceLow && High[1]>PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White); break; } } //---- } Artmedia70 回到我的公羊,关于在价格穿越指标线时 平仓的问题。我认为错误出在这个函数上 如果(Volume[0]>1)返回。 我在教程中读到,我们可以在条形图出现时开仓(平仓),而不是计算点数。这有可能吗?如果是这样,你能给我一个提示,如何针对我的情况进行编程。 Paladin80 2013.08.27 04:59 #932 alexey1979621: Artmedia70 回到我的公羊,关于在价格穿越指标线时平仓的问题。我认为错误出在这个函数上 如果(Volume[0]>1)返回。 我在教程中读到,我们可以在条形图出现时开仓(平仓),而不是计算点数。这有可能吗?如果是这样,你能不能给我们一个提示,告诉我们如何针对我的情况进行编程。 也许这 将是有用的。 当M15上出现一个新条形图时,该函数返回true bool CheckOpenM15() { static int PrevTime=0; if (PrevTime==iTime(NULL, PERIOD_M15,0)) return(false); PrevTime=iTime(NULL, PERIOD_M15,0); return(true); } Paladin80 2013.08.27 05:10 #933 ex1m:请指教!!!。 我在某个时间写下待定的订单{定义开放时间}if ((condition)==true)// { OrderSend ( OP_BUYSTOPP, parameters);//开出一个待定的BuyStop订单 OrderSend ( OP_SELLSTOP, parameters);//开出一个待定的SellStop订单 }我想我写的时间是正确的;它检测到了,但由于某些原因,它只打开了卖出止损或买入止损,而没有同时打开这两个止损。我试着在同一时间一个一个地打开两个不同类型的挂单(Bistop和Sellstop)。这个问题似乎很原始,请傻瓜们帮忙)。 要在这里正确粘贴代码,先点击SRC,然后在那里复制代码。 如果我没有理解错的话,在某个时间点我需要打开一个 OP_BUYSTOP和一个 OP_SELLSTOP?此刻有任何其他挂单,是否可以接受?例如,有待处理的订单,但我们必须在打开新的订单之前删除旧的订单? Viktar Dzemikhau 2013.08.27 05:39 #934 artmedia70: 这个错误指的是图形对象,而不是订单 。 正是如此!错误指的是对象,但我在这个EA中没有对象... borilunad: 晚上好,维克多!奇怪的是,待定的订单不是一个对象!也许你有一些应该已经被删除的对象,但没有被删除! 下午好,鲍里斯!专家顾问不创建对象。这个错误来自放置挂单 的函数。下面是该函数的版本(供测试者使用)。bool OpenPendingBuy(double lot, double price) { int g_ticket = -1; double OOP = price + i_distanceFromLastPos * pt; if (OOP > Ask) { fCheck_ValidPendingOOP(Symbol(), OP_BUYSTOP, OOP); g_ticket = OrderSend(Symbol(), OP_BUYSTOP, lot, ND(OOP), 30, 0, 0, NULL, i_magic, 0, CLR_NONE); } if (g_ticket > 0) { return (true); } else pr ("OpenPendingBuy(): Ордер послать не удалось " + GetLastError()); return (false); }如果没有下单,这意味着已经触发了一个区块。else pr ("OpenPendingBuy(): Ордер послать не удалось " + GetLastError());这是一个报告错误的块。 有谁理解了这个逻辑吗? [删除] 2013.08.27 06:05 #935 artmedia70: 既然没有答案,这里有一个函数,可以返回最后一个订单集的票。 谢谢你!!正是我所需要的。 Boris 2013.08.27 06:13 #936 hoz: 正是如此!该错误涉及对象,但我在这个EA中没有对象... 下午好,鲍里斯!专家顾问不创建对象。这个错误来自放置挂单的函数。下面是该函数的版本(供测试者使用)。 如果订单没有被下达,这意味着已经触发了阻断。 这是一个报告错误的块。 有谁理解了这个逻辑吗? 那么,检查你的错误检查?那里一定有什么故障! Viktar Dzemikhau 2013.08.27 06:24 #937 borilunad: 那么,检查你的错误检查?那里一定有什么故障! Heh))鲍里斯有什么可炫耀的?这一切都很透明... pr 是一个打印功能。而这个错误,已经是一个标准的常数。从逻辑上讲,这样的做法是完全不能接受的。如果你对pr 功能仍有怀疑,那就在这里。 //+-------------------------------------------------------------------------------------+ //| Распринтовка на экран | //+-------------------------------------------------------------------------------------+ void pr (string txt) { string info []; ArrayResize(info,20); string h,m,s,cm; int i; h=DoubleToStr(Hour(),0); if (StringLen(h)<2) h="0"+h; m=DoubleToStr(Minute(),0); if (StringLen(m)<2) m="0"+m; s=DoubleToStr(Seconds(),0); if (StringLen(s)<2) s="0"+s; txt=h+":"+m+":"+s+" - "+txt; for(i=20-1; i>=1; i--) info[i]=info[i-1]; info[0]=txt; for(i=20-1; i>=0; i--) if(info[i]!=""){ cm=info[i]; ObjectCreate ("txtw"+i,OBJ_LABEL,0,0,0); ObjectSet ("txtw"+i,OBJPROP_CORNER,1); ObjectSet ("txtw"+i,OBJPROP_XDISTANCE,10); ObjectSet ("txtw"+i,OBJPROP_YDISTANCE,30+15*i); ObjectSetText("txtw"+i,cm, 10, "Times New Roman", Green);}} Всеволод 2013.08.27 06:27 #938 有谁明白这个逻辑吗? 该地段是否正常化?嗯,并检查价格。 i_magic, pt, i_distanceFromLastPos是全球性的吗? Viktar Dzemikhau 2013.08.27 06:38 #939 splxgf: i_magic, pt, i_distanceFromLastPos是全局的? 是的,带i_ 的变量是输入变量(来自intut这个词,可以由用户改变......),pt 也是一个全局变量,它在任何地方都是可见的...... 。 splxgf: 有谁明白这个逻辑吗? 该地段是否正常化?嗯,并检查价格。 不,这批货还没有被规范化。在测试器中从未遇到过...而地段与对象有什么关系(错误4200)? Paladin80 2013.08.27 07:25 #940 hoz:当我设置挂单时,我偶尔,但不是经常,会出现4200的错误。根据文档,这个错误意味着该对象已经存在。 ERR_OBJECT_ALREADY_EXISTS 4200 Объект уже существует 事实证明,在发送挂单时,这种类型的订单已经在市场上了? 也许,一些其他程序创建了一个 具有相同名称的图形对象,EA对其作出了反应。也许你需要改变对象的名称。 1...87888990919293949596979899100101...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Artmedia70
回到我的公羊,关于在价格穿越指标线时 平仓的问题。我认为错误出在这个函数上
如果(Volume[0]>1)返回。
我在教程中读到,我们可以在条形图出现时开仓(平仓),而不是计算点数。这有可能吗?如果是这样,你能给我一个提示,如何针对我的情况进行编程。
Artmedia70
回到我的公羊,关于在价格穿越指标线时平仓的问题。我认为错误出在这个函数上
如果(Volume[0]>1)返回。
我在教程中读到,我们可以在条形图出现时开仓(平仓),而不是计算点数。这有可能吗?如果是这样,你能不能给我们一个提示,告诉我们如何针对我的情况进行编程。
也许这 将是有用的。
当M15上出现一个新条形图时,该函数返回true
请指教!!!。
我在某个时间写下待定的订单
{
定义开放时间
}
if ((condition)==true)//
{
OrderSend ( OP_BUYSTOPP, parameters);//开出一个待定的BuyStop订单
OrderSend ( OP_SELLSTOP, parameters);//开出一个待定的SellStop订单
}
我想我写的时间是正确的;它检测到了,但由于某些原因,它只打开了卖出止损或买入止损,而没有同时打开这两个止损。我试着在同一时间一个一个地打开两个不同类型的挂单(Bistop和Sellstop)。这个问题似乎很原始,请傻瓜们帮忙)。
要在这里正确粘贴代码,先点击SRC,然后在那里复制代码。![](https://c.mql5.com/mql4/forum/2013/08/1_15.jpg)
如果我没有理解错的话,在某个时间点我需要打开一个 OP_BUYSTOP和一个 OP_SELLSTOP?此刻有任何其他挂单,是否可以接受?例如,有待处理的订单,但我们必须在打开新的订单之前删除旧的订单?
这个错误指的是图形对象,而不是订单 。
晚上好,维克多!奇怪的是,待定的订单不是一个对象!也许你有一些应该已经被删除的对象,但没有被删除!
下午好,鲍里斯!专家顾问不创建对象。这个错误来自放置挂单 的函数。下面是该函数的版本(供测试者使用)。
bool OpenPendingBuy(double lot, double price) { int g_ticket = -1; double OOP = price + i_distanceFromLastPos * pt; if (OOP > Ask) { fCheck_ValidPendingOOP(Symbol(), OP_BUYSTOP, OOP); g_ticket = OrderSend(Symbol(), OP_BUYSTOP, lot, ND(OOP), 30, 0, 0, NULL, i_magic, 0, CLR_NONE); } if (g_ticket > 0) { return (true); } else pr ("OpenPendingBuy(): Ордер послать не удалось " + GetLastError()); return (false); }
如果没有下单,这意味着已经触发了一个区块。
这是一个报告错误的块。
有谁理解了这个逻辑吗?
既然没有答案,这里有一个函数,可以返回最后一个订单集的票。
谢谢你!!正是我所需要的。
正是如此!该错误涉及对象,但我在这个EA中没有对象...
下午好,鲍里斯!专家顾问不创建对象。这个错误来自放置挂单的函数。下面是该函数的版本(供测试者使用)。
如果订单没有被下达,这意味着已经触发了阻断。
这是一个报告错误的块。
有谁理解了这个逻辑吗?
那么,检查你的错误检查?那里一定有什么故障!
Heh))鲍里斯有什么可炫耀的?这一切都很透明...
pr 是一个打印功能。而这个错误,已经是一个标准的常数。从逻辑上讲,这样的做法是完全不能接受的。如果你对pr 功能仍有怀疑,那就在这里。
该地段是否正常化?嗯,并检查价格。
i_magic, pt, i_distanceFromLastPos是全球性的吗?
i_magic, pt, i_distanceFromLastPos是全局的?
是的,带i_ 的变量是输入变量(来自intut这个词,可以由用户改变......),pt 也是一个全局变量,它在任何地方都是可见的...... 。
该地段是否正常化?嗯,并检查价格。
不,这批货还没有被规范化。在测试器中从未遇到过...而地段与对象有什么关系(错误4200)?
当我设置挂单时,我偶尔,但不是经常,会出现4200的错误。根据文档,这个错误意味着该对象已经存在。
事实证明,在发送挂单时,这种类型的订单已经在市场上了?