[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 208

 
ScioMe:

重新启动了终端,检查了修改时箭头的颜色是否被显示。

在 "结果 "中也有一条关于订单修改的记录:modified。

但图表上没有箭头。


图表上的箭头显示 挂单 被修改时的新开盘价位。市价订单的止损位在被修改时显示为水平破折号,没有箭头。
 
Roman.:


在视觉测试模式下运行 - 如果订单修改成功,图表上应该有一个箭头。

在结果选项卡中,表格的左三栏应该有一个条目--修改--然后 是订单、数量、价格等栏目。

再次检查该条目是否在结果选项卡中,并仔细观察图表--当测试可视化时,订单修改时应该 有一个绿色箭头。


这就是鉴赏家的意思!在可视化模式下(终于!!),它画出了一个绿色(!--我想实现这个目标多久了!)箭头(终于!)。谢谢你!它把所有东西都写在 "结果 "中,在这里就可以了。

是的,在可视化模式下,箭头的表现有些不一致,也就是说,它不是画在一个地方。 在每一个刻度上,它都被擦掉,出现在另一个数值上。止损在订单挂起时处于同一位置,在修改时不被提取。请罗曼告诉我们如何画出绿色的修改箭头,以便在测试结束 时能看到它们?

 

晚上好。如果我已经有5个买入和5个卖出的市场订单,只要至少有一个订单关闭,顾问就会继续在关闭的同一方向放置挂单,如此循环下去,请告知如何 "强迫 "顾问停止在两个方向放置挂单。

//----------------------------------------------------------------------- 检查设置的止损单

double StopOrderUp,StopOrderDn,price,MinBuyOrder=1000000000,MaxSellOrder,OldBuyOrder,OldSellOrder,OldBuyLot,OldSellLot。

int TicketUp,TicketDn。

TimeOllOpenBuy=0;TimeOllOpenSell=0。

双重OOL_BUYSTOP,OOL_SELSTOP。

for (i=0; i<OrdersTotal(); i++)

{

如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)。

{ price = OrderOpenPrice();

如果(Magic==OrderMagicNumber() &&OrderSymbol()==Symbol()

{

如果(OrderType()==OP_BUYSTOP ){StopOrderUp = price; TicketUp=OrderTicket(); OOL_BUYSTOP=OrderLots(); }

如果(OrderType()==OP_SELLSTOP) {StopOrderDn = price; TicketDn=OrderTicket(); OOL_SELSTOP=OrderLots(); }

如果(OrderType()==OP_BUY )

{ TimeOllOpenBuy = TimeOllOpenBuy + TimeCurrent()-OrderOpenTime()。

如果(MinBuyOrder > price)MinBuyOrder = price。

OldBuyOrder=price;

OldBuyLot=OrderLots()。

如果(DrawInfo&&!IsTesting()){

NameLine="Bay order "+OrderTicket(); ObjectDelete(NameLine); ObjectDelete(NameLine+" з")。

ObjectCreate(NameLine, OBJ_TREND, 0, OrderOpenTime(),price,Time[0], Bid)。

ObjectSet(NameLine,OBJPROP_COLOR,LightSkyBlue)。

ObjectCreate(NameLine+" h",OBJ_ARROW,0,Time[0], Bid,0,0,0)。

ObjectSet(NameLine, OBJPROP_STYLE, STYLE_DOT);//风格

ObjectSet(NameLine, OBJPROP_RAY, false); // Beam

ObjectSet(NameLine+" h",OBJPROP_ARROWCODE,3);ObjectSet(NameLine+" h",OBJPROP_COLOR,WhiteColor);}。

}

如果(OrderType()==OP_SELL)

{ TimeOllOpenSell = TimeOllOpenSell + TimeCurrent()-OrderOpenTime()。

如果(MaxSellOrder < price)MaxSellOrder = price。

OldSellOrder=price;

OldSellLot=OrderLots()。

如果(DrawInfo&&!IsTesting()){

NameLine="出售订单 "+OrderTicket(); ObjectDelete(NameLine); ObjectDelete(NameLine+" з")。

ObjectCreate(NameLine, OBJ_TREND, 0, OrderOpenTime(),price,Time[0], Ask)。

ObjectSet(NameLine,OBJPROP_COLOR,Pink)。

ObjectCreate(NameLine+" h",OBJ_ARROW,0,Time[0],Ask,0,0,0)。

ObjectSet(NameLine, OBJPROP_STYLE, STYLE_DOT);//风格

ObjectSet(NameLine, OBJPROP_RAY, false); // Beam

ObjectSet(NameLine+" h",OBJPROP_ARROWCODE,3);ObjectSet(NameLine+" h",OBJPROP_COLOR,WhiteColor);}。

}

}

}

}

如果(MinBuyOrder==1000000000 && MaxSellOrder==0 && OOL_BUYSTOP!=OOL_SELSTOP)//如果该系列被关闭。

{

deleteorders()。

}

 
ScioMe:


那是一个多么好的鉴赏家啊!在可视化模式下(终于!!),它画出了一个绿色(!--我想要这个多久了!)的箭头(终于!)。谢谢你!它把所有东西都写在 "结果 "中,在这里就可以了。

是的,在可视化模式下,箭头的表现有些不一致,也就是说,它不是画在一个地方。 在每一个刻度上,它都被擦掉,出现在另一个数值上。止损在订单挂起时处于同一位置,在修改时不被提取。请罗曼告诉我们如何画出绿色的修改箭头,以便在测试结束时能看到它们?


我正在通过新条形的开盘价来测试EA(在EA代码中,你需要指定控制新条形的形成)--一切都在那里正常测试和绘制;所有的箭头,包括修改选项,都完全显示在所有订单上--当新的点位出现时,没有任何东西被覆盖,测试结束 后,修改箭头仍然可见。尝试,测试,选择,工作...:-)))
 
doon:

又见面了。

问题是,我需要用 isCloseLastPosByStop()检查订单是否已经 用完。我不能使用magik,因为它迟早会用完(2147483647),而且我不能擦除或修改它。请告知如何实现这一点。
 
polsvv:

VPS servvak 400卢布或120乌赫。取决于什么国家,没有问题!"。

我只是在交易机器人的一段时间内...最近我把机器人放在一个远程服务器上,欣赏了我的家庭摄像头的不同之处!而且睡得很好 :)

回复我的请求并不被视为广告,你是否介意在你的个人账户中删除VPS服务器的 坐标以考虑这个选项?提前感谢!
 
coronel:

以下是过去一周EA在测试器中的表现图片。

优化工作是在2010年11月1日至30日进行的。

我不在真实账户上使用它。只是其中一个玩具

什么地段?
 
你能告诉我Metatrader平台本身是用什么语言编写的吗?
 
你好,

,我需要一个移动平均线指标,当它被价格越过时发出信号。在这里搜索了一下,只有类似的东西。

提前感谢。
 
是否有一些情况只能使用两个循环(for和while)中的一个,或者它们总是可以互换,是一个品味问题?