关闭订单的利润计算 "HELP" - 页 5 123456789 新评论 Vitaly Muzichenko 2016.12.11 19:04 #41 Natashe4ka:如果 "cnt "被设置为零,这也是正确的,但这样一来,数值又无法理解了,如截图3(应该是利润值4.27)。double LastProfitCL(int op=-1){ //"op" позиция (-1 любая позиция) int cnt=0; double LastProfit=0; for(i=0;i<OrdersHistoryTotal();i++) if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && (OrderType()==OP_BUY || OrderType()==OP_SELL) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) { if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue; if ((op<0 || OrderType()==op) && cnt==0) {LastProfit+=OrderProfit()+OrderCommission()+OrderSwap(); cnt++;} else {cnt=0;} } return(LastProfit); }当我没有逻辑思维的时候,这不是好事(你看,在真实的市场上,这种逻辑下的存款会在3天内融化。 [删除] 2016.12.11 19:10 #42 Vitaly Muzichenko: 当你不按逻辑思考的时候,这是很糟糕的(这就对了。 待定订单已被删除 Vitaly Muzichenko 2016.12.11 19:22 #43 Natashe4ka:这就对了。 待定订单已被删除 这是可以理解的,因为它是。 [删除] 2016.12.11 19:56 #44 好的,那么你如何返回等于OrderCloseTime()的已关闭订单的票据,并计算其利润? 像这样。if (t<OrderCloseTime()) {t=OrderCloseTime();r=OrderTicket();profit+=OrderProfit()+OrderCommission()+OrderSwap();} Renat Akhtyamov 2016.12.11 19:57 #45 Natashe4ka:好的,那么你如何返回等于OrderCloseTime()的已关闭订单的票据,并计算其利润? 类似这样的事情。if (t<OrderCloseTime()) {t=OrderCloseTime();r=OrderTicket();profit+=OrderProfit()+OrderCommission()+OrderSwap();}如果它在停止时关闭怎么办?ticket=OrderClose(......);if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера} Aleksey Semenov 2016.12.11 20:37 #46 我写了一个记录累计缩减或利润的系统--它看起来是这样的。对于开盘期间的每个市场订单,都会创建一个带有该订单票面名称的全局变量,当我们需要重新计算累计盈亏时,我们只需对照全局变量 列表检查当前的订单列表,通过删除不必要的变量并将利润直接添加到票面名称中进行计算。 Vitaly Muzichenko 2016.12.11 21:07 #47 Renat Akhtyamov:如果它在停止时关闭怎么办?ticket=OrderClose(......);if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}那么,什么数组,什么票,什么订单?在终端的第一次重启后,或在周末关机后,你将简单地失去所有的数据,这将是所有写入和计算的结束。 Vitaly Muzichenko 2016.12.11 21:09 #48 Aleksey Semenov: 例如,当我为自己编写计算累计缩减或利润的系统时,它看起来像这样。对于开盘期间的每个市场订单,都会创建一个带有该订单票面名称的全局变量,当我们想重新计算盈亏时,我们只需对照全局变量 列表检查当前订单列表,并通过删除多余的变量来进行计算,并将利润直接加入票面名称中。这对系统来说是一个沉重的负担,在一个指标中它工作得很好,但在一个EA中,几十个全局变量的列举可能会导致终端的挂起。有一个开放和关闭的时间,你必须与它合作,而且没有任何困难,只要有一次记录,你就可以得到关于账户状态的所有信息,而且你不需要自行车。 Renat Akhtyamov 2016.12.11 21:14 #49 Vitaly Muzichenko:什么数组,什么票,什么订单?在终端第一次重启后,或周末关机后,你将简单地失去所有的数据,这将是所有写入和计算的结束。是可以解决的我没有必要向你解释。 Aleksey Semenov 2016.12.11 21:31 #50 Vitaly Muzichenko:这对系统来说是一个沉重的负担,在一个指标中工作正常,但在一个EA中,几十个全局变量的枚举会导致终端冻结。有开盘和收盘时间,这就是你需要的工作,而且没有任何困难,只要有一次记录,你就可以得到所有关于账户状态的信息,而且你不需要骑自行车。 如果你有一个充满数百个未使用的glob变量的终端,那么是的--重建将悲哀地结束,如果没有,那么它的工作速度相当快,如果写得正确的话。 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果 "cnt "被设置为零,这也是正确的,但这样一来,数值又无法理解了,如截图3(应该是利润值4.27)。
int cnt=0;
double LastProfit=0;
for(i=0;i<OrdersHistoryTotal();i++)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && (OrderType()==OP_BUY || OrderType()==OP_SELL) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue;
if ((op<0 || OrderType()==op) && cnt==0) {LastProfit+=OrderProfit()+OrderCommission()+OrderSwap(); cnt++;} else {cnt=0;}
}
return(LastProfit);
}
当我没有逻辑思维的时候,这不是好事(
你看,在真实的市场上,这种逻辑下的存款会在3天内融化。
当你不按逻辑思考的时候,这是很糟糕的(
这就对了。
待定订单已被删除
这就对了。
待定订单已被删除
好的,那么你如何返回等于OrderCloseTime()的已关闭订单的票据,并计算其利润?
像这样。
好的,那么你如何返回等于OrderCloseTime()的已关闭订单的票据,并计算其利润?
类似这样的事情。
如果它在停止时关闭怎么办?
ticket=OrderClose(......);
if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}
如果它在停止时关闭怎么办?
ticket=OrderClose(......);
if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}
那么,什么数组,什么票,什么订单?
在终端的第一次重启后,或在周末关机后,你将简单地失去所有的数据,这将是所有写入和计算的结束。
例如,当我为自己编写计算累计缩减或利润的系统时,它看起来像这样。对于开盘期间的每个市场订单,都会创建一个带有该订单票面名称的全局变量,当我们想重新计算盈亏时,我们只需对照全局变量 列表检查当前订单列表,并通过删除多余的变量来进行计算,并将利润直接加入票面名称中。
这对系统来说是一个沉重的负担,在一个指标中它工作得很好,但在一个EA中,几十个全局变量的列举可能会导致终端的挂起。
有一个开放和关闭的时间,你必须与它合作,而且没有任何困难,只要有一次记录,你就可以得到关于账户状态的所有信息,而且你不需要自行车。
什么数组,什么票,什么订单?
在终端第一次重启后,或周末关机后,你将简单地失去所有的数据,这将是所有写入和计算的结束。
是可以解决的
我没有必要向你解释。
这对系统来说是一个沉重的负担,在一个指标中工作正常,但在一个EA中,几十个全局变量的枚举会导致终端冻结。
有开盘和收盘时间,这就是你需要的工作,而且没有任何困难,只要有一次记录,你就可以得到所有关于账户状态的信息,而且你不需要骑自行车。