The next version of the Easy And Fast library (version 3) is presented in this article. Fixed certain flaws and added new features. More details further in the article.
for ( int i = OrdersTotal() - 1; i >= 0; i-- ) { if ( ! OrderSelect( i, SELECT_BY_POS, MODE_TRADES ) ) continue; if ( closeothers != true && OrderSymbol() != Symbol() ) continue;
市场关闭!
#1- 我从未通过OnTick()、Start()调用Button对象,这正常吗?
#2- 我可以将 "ANCHOR_RIGHT_UPPER "应用于Button对象吗?
#3 - 所以,我仍然需要帮助我的这个问题#145,请。
谢谢!
#1 - I never call Button Object by OnTick(), Start(), so is it normal?
是
#2- 我可以应用于按钮对象'ANCHOR_RIGHT_UPPER'吗?
不,锚点被固定在ANCHOR_LEFT_UPPER。
#3 - 所以,我仍然需要帮助来解决我的这个问题#145,谢谢。
是的,你是正确的 - EventSetMillisecondTimer(250)
是
不,锚点被固定在ANCHOR_LEFT_UPPER。
是的,你是正确的 - EventSetMillisecondTimer(250)
它给了我不同的值。
我真的失去了理智。我尝试了一些方法,也研究了很多,但没有好的结果。
请帮助我,如果有可能的话,请解释一下利润计算的 问题,非常感谢。
我希望我很快就能得到好的答案。
{
double trueprofit = 0;
for ( int i = OrdersTotal() - 1; i >= 0; i-- )
{
if ( ! OrderSelect( i, SELECT_BY_POS, MODE_TRADES ) ) continue;
if ( closeothers == false && OrderSymbol() != Symbol() ) continue;
trueprofit = OrderProfit() + OrderSwap() + OrderCommission();
if ( trueprofit >= 0 )
{
Print( "Profit: ", trueprofit );
ObjectSetString ( 0, "all profit counting object", OBJPROP_TEXT, DoubleToString( trueprofit, 2 ) );
}
}
//---
return;
}
谢谢你的帮助。
你在循环的每一次迭代中都覆盖了trueprofit的值,而不是增加该值。
请记住这一点。
被改成了这样。
你需要明确你想在循环的每个迭代中发生什么(每个订单)和你想在循环后发生什么(在你检查完所有订单后)。
谢谢你的快速回复。
也许我太累了,非常抱歉。( 只是我不明白我可以做 什么。)
我需要多描述一下我关心的问题(我有多少能力)。
所以,我有两个功能。
最后,我希望这个 ( 我的最新评论代码) 利润计算功能可以计算两种类型的订单"OP_SELL和OP_BUY "都是盈利的。
先谢谢你了。
你是如何在一个标签中显示所有的盈利值的?
你是指所有加起来的AcountProfit()还是每个单独的OrderProfit()。
如果你需要这样的东西。
请看这篇文章。
https://www.mql5.com/en/articles/2723
谢谢你的评论。
抱歉造成了混乱。
不,我想我需要的是与之不同的东西。
我将尝试澄清我的问题。
我有3个欧元兑美元的头寸。其中两个是盈利头寸,一个是亏损头寸。所以我只需要计算其中两个是盈利的。
例如:如果每个仓位+1.00(2个盈利仓位=+2.00),我就需要得到所有盈利仓位的价值。
我只是快速制作了以下标签,以帮助我了解我想说的。( 在这个评论的图片文件下面 )
(英语不是我的母语--有时我很纠结)
一切顺利。
// in your orderselect loop put
if(OrderProfit()>0)
{
totalprofit=totalprofit+OrderProfit();
}
#盈利订单计数--关闭
{
totalprofit=totalprofit+OrderProfit();
}
在你的伟大示例代码之后,我解决了我的问题。
伟大的人,非常感谢!
你在循环的每一次迭代中都覆盖了trueprofit的值,而不是添加到该值中。
请记住:
你需要明确你想在循环的每个迭代中发生什么(每个订单)和你想在循环后发生什么(在你检查完所有订单后)。
就在完成下面的代码脚本之后。
我再次检查了 你的评论,然后我知道你向我解释了。但我的英语无法理解它。
祝你们每个人都有好运气。
{
double trueprofit = 0;
double totalprofit = 0;
for ( int i = OrdersTotal() - 1; i >= 0; i-- )
{
if ( ! OrderSelect( i, SELECT_BY_POS, MODE_TRADES ) ) continue;
if ( closeothers != true && OrderSymbol() != Symbol() ) continue;
trueprofit = OrderProfit() + OrderSwap() + OrderCommission();
if ( trueprofit >= 0 )
{
totalprofit += OrderProfit() + OrderSwap() + OrderCommission();
Print( "Profit: ", DoubleToString( totalprofit, 2 ) );
ObjectSetString ( 0, _Checkthisout_name_Label, OBJPROP_TEXT, "Total Profit: " + DoubleToString( totalprofit, 2 ) );
}
}
//---
return;
}
我希望这个代码脚本能够很好的工作。如果上面的代码有什么问题,请让我知道。
谢谢你的帮助。