关闭订单的利润计算 "HELP" - 页 9 123456789 新评论 Vitalie Postolache 2016.12.12 22:40 #81 Natashe4ka:我也认为它的计数是正确的。 我不应该把这些信息放在代码中,我的生活就会变得更容易))现在我在想,这个功能怎么会一直不能正常工作!!?我明白了,我必须去掉利润=正数的检查,因为这个原因,账户后来停止了,我只是不得不把我之前的损失也考虑在内。double lastloss(){ double lastlos=0.0,lastlot=0.0,op=0.0; int cnt=0; datetime time=0; for(int i=OrdersHistoryTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) { if(cnt==0 && OrderCloseTime()!=0) time=OrderCloseTime(); if(OrderCloseTime()+PeriodSeconds()<time/* && op>0.0*/) break; op=OrderProfit()+OrderSwap()+OrderCommission(); lastlos+=op; cnt++; } } } return(lastlos);} Profit calculation of closed 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 如何编码? Vitaly Muzichenko 2016.12.12 22:40 #82 Natashe4ka:在我看来也是如此,一切都算得上是应该的。 我不应该把这些信息放在代码中,生活就会变得更简单))而现在令人费解的是,这个功能怎么一直没有正常工作!!!。你正在使用你的初学者书的第一页的功能来关闭。在测试器中,它几乎会正常收盘,但在真实交易中,机器人经常会以红色收盘,特别是在它获得小幅利润的情况下。你有没有试过在真实市场上交易,还是只在测试器中交易?你是否见过这样的情况,当一系列的头寸被关闭时?注意从信号到平仓的点数差异,以及关闭最后一个位置的点数差异为了避免垃圾邮件,我将只附上3张截图,尽管实际上有一百多张截图可用。所有的功能对每个人都能正常工作,但只有你不能正常工作。你有没有想过为什么?最后,你需要问自己的问题,我们不需要答案:你是否要在任何时候重新启动终端,或在周末关闭它,......?如果是这样,如果你不想把它保存在任何地方,你将如何在下一次启动终端 时获得利润,以继续专家顾问在系列的最后一次关闭时完成的工作? Vitaly Muzichenko 2016.12.12 22:52 #83 还有更多。我为什么要问在平仓之间删除订单有什么作用? 现在我们有一个情况:一个EA在达到盈利时开始平仓,然后它得到一个根本没有用的订单,也就是说它既没有盈利也没有亏损,但是一个删除这个订单的订单被发送,当它被删除时,价格离开,EA继续进一步平仓。结果如下:我们已经开始平仓获利,但由于我们平仓都是错的,最终以亏损平仓系列。这是否正常?不要只为测试员写代码,至少要写一个在模拟账户上工作的代码。 [删除] 2016.12.12 22:57 #84 Vitalie Postolache:明白了,我需要去掉利润=正数的检查,它使账户后来停止,我只是需要把我之前的损失也考虑进去。double lastloss(){ double lastlos=0.0,lastlot=0.0,op=0.0; int cnt=0; datetime time=0; for(int i=OrdersHistoryTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) { if(cnt==0 && OrderCloseTime()!=0) time=OrderCloseTime(); if(OrderCloseTime()+PeriodSeconds()<time/* && op>0.0*/) break; op=OrderProfit()+OrderSwap()+OrderCommission(); lastlos+=op; cnt++; } } } return(lastlos);}它是有效的,算得上是应该的,是天才,真棒!!!。 谢谢你 - 谢谢你 - 谢谢你 !!!!!!!!!!!!)))))))))))))你做得很好))。 Vitalie Postolache 2016.12.12 22:58 #85 Vitaly Muzichenko:还有更多。我为什么要问在平仓之间删除订单有什么作用? 现在我们有一个情况:一个EA在达到盈利时开始平仓,然后它得到一个根本没有用的订单,也就是说它既没有盈利也没有亏损,但是一个删除这个订单的订单被发送,当它被删除时,价格离开,EA继续进一步平仓。结果如下:我们已经开始平仓获利,但由于我们平仓都是错的,最终以亏损平仓系列。这是否正常?不要只为测试员写代码,至少要写一个在模拟账户上工作的代码。 是的,他们不按顺序关闭,如果关闭周期从零开始,就会发生这种情况。 Vitaly Muzichenko 2016.12.12 23:03 #86 Vitalie Postolache: 它们不按任何顺序关闭,如果关闭周期从零开始,就会发生这种情况。从哪个零开始?那么,为什么要在电网关闭的那一刻把时间浪费在订单的删除上呢?你自己也知道,删除一个订单需要时间,那么为什么要浪费时间呢? 而且,如果你的经纪公司速度不快,我们就完蛋了。我展示了一张在1分34秒内关闭了15个头寸的截图,我们必须认识到,在这段时间内,价格可能会经历十几个点,如果它朝着我们的方向发展而不是对我们不利,我们将是幸运的。 Vitalie Postolache 2016.12.12 23:07 #87 Vitaly Muzichenko:从哪个零开始?那么,为什么要在电网关闭的那一刻把时间浪费在订单的删除上呢?你自己也知道,删除一个订单需要时间,那么为什么要浪费时间呢? 而且,如果你的经纪公司速度不快,我们就完蛋了。我曾经贴出一张截图,15个头寸在1分34秒内被关闭。从这个零点开始 for(int i=0;i<OrdersHistoryTotal();i++)- 这样一来,如果按序号选择,订单将在最佳情况下逐一关闭。是的,我知道,在关闭一个系列的过程中,不能删除 一个挂单,最好是按顺序关闭,但这是随着经验而来的。 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我也认为它的计数是正确的。
我不应该把这些信息放在代码中,我的生活就会变得更容易))
现在我在想,这个功能怎么会一直不能正常工作!!?
我明白了,我必须去掉利润=正数的检查,因为这个原因,账户后来停止了,我只是不得不把我之前的损失也考虑在内。
{
double lastlos=0.0,lastlot=0.0,op=0.0;
int cnt=0;
datetime time=0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2)
{
if(cnt==0 && OrderCloseTime()!=0) time=OrderCloseTime();
if(OrderCloseTime()+PeriodSeconds()<time/* && op>0.0*/) break;
op=OrderProfit()+OrderSwap()+OrderCommission();
lastlos+=op;
cnt++;
}
}
}
return(lastlos);
}
在我看来也是如此,一切都算得上是应该的。
我不应该把这些信息放在代码中,生活就会变得更简单))
而现在令人费解的是,这个功能怎么一直没有正常工作!!!。
你正在使用你的初学者书的第一页的功能来关闭。在测试器中,它几乎会正常收盘,但在真实交易中,机器人经常会以红色收盘,特别是在它获得小幅利润的情况下。
你有没有试过在真实市场上交易,还是只在测试器中交易?
你是否见过这样的情况,当一系列的头寸被关闭时?注意从信号到平仓的点数差异,以及关闭最后一个位置的点数差异
为了避免垃圾邮件,我将只附上3张截图,尽管实际上有一百多张截图可用。
所有的功能对每个人都能正常工作,但只有你不能正常工作。你有没有想过为什么?
最后,你需要问自己的问题,我们不需要答案:你是否要在任何时候重新启动终端,或在周末关闭它,......?如果是这样,如果你不想把它保存在任何地方,你将如何在下一次启动终端 时获得利润,以继续专家顾问在系列的最后一次关闭时完成的工作?
还有更多。
我为什么要问在平仓之间删除订单有什么作用?
现在我们有一个情况:一个EA在达到盈利时开始平仓,然后它得到一个根本没有用的订单,也就是说它既没有盈利也没有亏损,但是一个删除这个订单的订单被发送,当它被删除时,价格离开,EA继续进一步平仓。结果如下:我们已经开始平仓获利,但由于我们平仓都是错的,最终以亏损平仓系列。这是否正常?不要只为测试员写代码,至少要写一个在模拟账户上工作的代码。
明白了,我需要去掉利润=正数的检查,它使账户后来停止,我只是需要把我之前的损失也考虑进去。
{
double lastlos=0.0,lastlot=0.0,op=0.0;
int cnt=0;
datetime time=0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2)
{
if(cnt==0 && OrderCloseTime()!=0) time=OrderCloseTime();
if(OrderCloseTime()+PeriodSeconds()<time/* && op>0.0*/) break;
op=OrderProfit()+OrderSwap()+OrderCommission();
lastlos+=op;
cnt++;
}
}
}
return(lastlos);
}
它是有效的,算得上是应该的,是天才,真棒!!!。
谢谢你 - 谢谢你 - 谢谢你 !!!!!!!!!!!!)))))))))))))
你做得很好))。
还有更多。
我为什么要问在平仓之间删除订单有什么作用?
现在我们有一个情况:一个EA在达到盈利时开始平仓,然后它得到一个根本没有用的订单,也就是说它既没有盈利也没有亏损,但是一个删除这个订单的订单被发送,当它被删除时,价格离开,EA继续进一步平仓。结果如下:我们已经开始平仓获利,但由于我们平仓都是错的,最终以亏损平仓系列。这是否正常?不要只为测试员写代码,至少要写一个在模拟账户上工作的代码。
它们不按任何顺序关闭,如果关闭周期从零开始,就会发生这种情况。
从哪个零开始?
那么,为什么要在电网关闭的那一刻把时间浪费在订单的删除上呢?你自己也知道,删除一个订单需要时间,那么为什么要浪费时间呢? 而且,如果你的经纪公司速度不快,我们就完蛋了。我展示了一张在1分34秒内关闭了15个头寸的截图,我们必须认识到,在这段时间内,价格可能会经历十几个点,如果它朝着我们的方向发展而不是对我们不利,我们将是幸运的。
从哪个零开始?
那么,为什么要在电网关闭的那一刻把时间浪费在订单的删除上呢?你自己也知道,删除一个订单需要时间,那么为什么要浪费时间呢? 而且,如果你的经纪公司速度不快,我们就完蛋了。我曾经贴出一张截图,15个头寸在1分34秒内被关闭。
从这个零点开始 for(int i=0;i<OrdersHistoryTotal();i++)- 这样一来,如果按序号选择,订单将在最佳情况下逐一关闭。
是的,我知道,在关闭一个系列的过程中,不能删除 一个挂单,最好是按顺序关闭,但这是随着经验而来的。