[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 30

 
我又看到了迪姆卡他在车上挂了一条丝带。现在他在加油,加油,灯在闪烁,但速度表上什么也没有!他担心自己明天不能开车去上班了!你怎么看?
 
villy:
我又看到了迪姆卡他在车上挂了一条丝带。现在他在加油,加油,灯在闪烁,但速度表上什么也没有!他担心自己明天不能开车去上班了!你怎么看?

你试过治疗吗?
 
也许,谁解决了这个问题,这样的解决方案在mt4中是否可行。未找到。 需要一个EA或脚本来监控其他EA的交易(EA在不同的货币对上以相同的magik进行交易)。 在关闭每个订单后,检查是否达到magik利润(之前在EA设置中输入)。 如果利润更高或相等,下面的EA应该停止交易。 除了这个交易顾问,还有其他的交易账户。正如发现的EA EquityLimits(http://mtexperts.narod.ru/files/EquityLimits_EA.ex4)监测账户余额和资金之间的当前差异,如果达到指定的限制,它关闭所有订单并禁用所有顾问(点击工具栏上的 "顾问 "按钮)。这一点不满足。
 
granit77:

42
laveosa 22.12.2012 14:46 |被禁止|删除
我这里有一个非常奇怪的案例。我在2004年至2012年的历史上测试顾问,结果是一个,积极的,然后我在2009年至2012年期间做了一个测试,它只是完全不同。大量的订单,超过20000的8年期间。当测试是大的,然后盈利能力条形图显示,从2009年到2012年的利润是干净和美丽的,当你测试任何小于2009年的距离,然后只是CHAOS。你是否碰巧知道它可能是什么。 提前感谢各位 :)


嗯,我想说你的EA过度优化了...但如果是从2004年到2012年,然后从2009年到2012年,那么很可能在2004年到2008年之间,一些订单被挂起,在测试结束时成功(或可能不成功)关闭。
 
evgenGX:
也许,谁解决了这个问题,这样的解决方案在mt4中是否可行。未找到。 需要一个EA或脚本来监控其他EA的交易(EA在不同的货币对上以相同的magik进行交易)。 在关闭每个订单后,检查是否达到magik利润(之前在EA设置中输入)。 如果利润更高或相等,下面的EA应该停止交易。 除了这个交易EA,账户上还有其他交易。正如发现的EA EquityLimits(http://mtexperts.narod.ru/files/EquityLimits_EA.ex4)监测账户余额和资金之间的当前差异,如果达到指定的限额,它将关闭所有订单并禁用所有顾问(点击工具栏上的 "顾问 "按钮)。这一点并不满足。

首先,达到魔法的利润...这是新的东西)))那么,如果有很多专家顾问,为什么不为每个专家顾问使用全局变量 呢?
 

帮助 eh!!!!

我如何从最后10个关闭的订单中获得损失的订单数量(在历史上关闭)?

有一个函数,但它只搜索一个特定的订单

这里。

double WW1(int stop,int mn=-1, string sy="", int op=-1 ) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal() -1 ;<--在这里我们可以从末尾开始改变订单的序号(-1是倒数第二,如果我们去掉-1,就是最后一个,等等)。等)

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY){
if (OrderSymbol()==sy || sy=="") {
如果(OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<)0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()){
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)){

double rr=OrderProfit();


}
return(rr);
}


使用这个函数,当然我定义了损失或收益类型

有没有人有一个函数可以读取最后10个订单并给出其中的亏损订单数?

 

当然,有一个建议是把这个函数变成一个bool函数类型,以获得真或假的答案。

但是,我们需要10个不同数字的这样的函数(从1到-9),然后我们将得到谎言和真理的数量。

那么,谁能告诉我们如何获得虚假和虚假的数量?

但这是大量的操作和公式,我认为这是一种变态。

 
evgenGX:
也许,谁解决了这个问题,这样的解决方案在mt4中是否可行。需要一个EA或脚本来监控其他EA的交易(EA用相同的magik在不同的货币对上交易)。 在关闭每个订单后,检查是否达到magik的利润(之前在EA设置中输入)。 在利润高于或等于时,下面的EA应该停止交易。 除了这个EA,账户上还有其他的交易。正如发现的EA EquityLimits(http://mtexperts.narod.ru/files/EquityLimits_EA.ex4) 监测账户余额和资金之间的当前差额,如果达到指定的限额,它将关闭所有订单并禁用所有的EA(通过按工具栏上的 "EA "按钮)。这一点并不满足。
两个专家顾问系统可以通过终端的全局变量相互 "沟通"。下面的EA在指定事件(关闭所有订单)后创建一个GV变量,例如Symbol_STOP,并将该变量设置为1。
 
gheka:

帮助 eh!!!!

如何获得最近10个关闭的订单中的亏损订单(在历史上关闭)的数量?

我使用这个函数来定义损失或收益类型

也许有一个函数可以立即读取最后10个订单,并给出其中的亏损订单数量?


就这样解决了
int num_losed,tt,check=10;
for(tt=OrdersHistoryTotal()-1;tt>=0;tt--) if(OrderSelect(tt,SELECT_BY_POS,MODE_HISTORY) && OrderSymbol() ==Symbol() && OrderMagicNumber() ==magic) {
如果(OrderProfit()<0) num_losed++;
检查--。
if(check<=0) break;

}

 
keep87:


当代码超过1000行时,你就开始写紧凑了 )

在MT4中,性能也受到影响,特别是在运行测试时。简洁的版本表现得更快。


据我所知,编译器在编译代码时删除了所有的 "空隙"。从逻辑上讲,它不应该关心为了性能而写什么选项,因为在编译文件的输出中会有相同的 "无空"。

难道不是这样吗?