//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает суммарный профит открытых позиций в валюте депозита |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+double GetProfitOpenPosInCurrency(string sy="", int op=-1, int mn=-1) {
double p=0;
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) {
p+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
return(p);
}
- 看一下最后一栏的时间
- 加起来,在这个酒吧关闭的一切
- 减去当前余额
以此类推,每次都是一个酒吧。
没有算术就不能做吗?也许你可以写一些用户定义的函数?
我可能没有正确地表述我的问题,因为答案是离题的。我不关心头寸是否已经平仓,也不关心一个刻度的价值。 我需要知道在关闭某个特定符号的1、2、3条时,账户余额 是多少,以便进行比较。这些条形图上的头寸被打开和关闭,包括其他符号上的头寸:有些头寸在正方关闭,有些在负方关闭,有些还没有关闭,因此余额发生变化。我需要知道具体的数值。谢谢你。
没有标准功能,也没有通过论坛或任何其他方式进行搜索。
在测试器中,你可以模拟以下情况:当使用几个专家顾问进行交易时,你不能知道当时的余额是多少。 当然,你可以尝试计算被打开的订单,然后在终端历史中寻找没有打开订单的时间...而最终的结果并不意味着一切都会被考虑在内
在测试器中,你可以很容易地模拟这种情况--在全局范围内描述一个变量并在OnTick中检查条件,如果(OrderTotal()==0) StartBalance = AccountBalance()。
然后,当在测试器中 打开订单时,你的初始值为平衡....。你可以在每个条形图中添加盈利订单的值,你可以将这些值添加到一个数组或一个列表中。
但如果你想把这段代码用在有多个专家顾问的账户上,你必须把你的任务制定为不是搜索N个柱子前的余额,而是未结订单的总利润;你不写任何未结订单,你打开一个订单--开始在数组中增加每一个柱子的利润。 这意味着你正在寻找一个机会来改变你的TS的逻辑,不是与余额有关,而是与终端历史上的未结订单利润和/或关闭订单利润有关(一天,一小时?)
没有标准功能,也没有通过论坛或任何其他方式进行搜索。
在测试器中,你可以模拟以下情况:当使用几个专家顾问进行交易时,你不能知道当时的余额是多少。 当然,你可以尝试计算被打开的订单,然后在终端历史中寻找没有打开订单的时间... 而最终的结果并不意味着一切都会被考虑在内
在测试器中,你可以很容易地模拟这种情况--在全局范围内描述一个变量并在OnTick中检查条件,如果(OrderTotal()==0) StartBalance = AccountBalance()。
然后,当在测试器中 打开订单时,你的初始值为平衡....。你可以在每个条形图中添加盈利订单的值,你可以将这些值添加到一个数组或一个列表中。
但要在一个有多个EA的账户上使用这段代码,任务不应该是搜索N个交易日之前的余额,而是将未平仓订单、未平仓订单、未平仓订单的总利润加起来--开始记录数组中每个交易日的利润。 这意味着你正在寻找改变TS逻辑的可能性,不是与余额有关,而是与终端历史中某个时期(一天、一小时?)
明白了。谢谢你的详细答复。
你好!我如何在 创建一个使用iCustom创建的技术指标 手柄后 获得输入参数。
比如说
iCustom(NULL,0, "name_indicator",1,2,3) - 如何获得输入参数1,2和3?
你好,请你告诉我如何找出当前的缩水百分比?
记下股权的账目
你好,请你告诉我如何找出当前的缩水百分比?
是否可以将模板应用 于结构和类,在它们内部声明模板类型的变量,以便以后处理这些变量并引用它们? 我在一个结构中试过这个方法。
它可以编译,但不允许给结构分配一个名称。
有必要为市场上的每一个未结头寸 制定一个目标利润,但不是总的,而是单独的!这就是我们的目标。
例如:欧元兑美元开仓,在其设置中的目标利润为1美元,一旦达到该目标,就会自行平仓,只有它!
每种货币对都应该按自己的情况工作,而不是按总的利润工作!
我找到了所有交易的总利润的代码。
帮助每个货币对分别重做......,非常感谢您!
你好!请帮助我做以下工作。
有必要为市场上的每一个未结头寸 制定一个目标利润,但不是总的,而是单独的!
例如:欧元兑美元开仓,在其设置中的目标利润为1美元,一旦达到目标利润,就会自行平仓,只有这一个
每种货币对都应该按自己的情况工作,而不是按总的利润工作!
我找到了所有货币对的总利润代码。
帮助每个货币对分别重做......,非常感谢您!
在这个函数的第一个参数中传递带有你的交易的字符串,它将只计算这个交易的利润。
在这个函数的第二个参数中传递操作的类型(买入或卖出),它将只计算这个操作的利润。
而神奇的数字也会如此。这是一个普遍的功能。