新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 897

 
Taras Slobodyanik:

- 看一下最后一栏的时间
- 加起来,在这个酒吧关闭的一切
- 减去当前余额

以此类推,每次都是一个酒吧。

没有算术就不能做吗?也许你可以写一些用户定义的函数?

 
novichok2018:
我可能没有正确地表述我的问题,因为答案是离题的。我不关心头寸是否已经平仓,也不关心一个刻度的价值。 我需要知道在关闭某个特定符号的1、2、3条时,账户余额 是多少,以便进行比较。这些条形图上的头寸被打开和关闭,包括其他符号上的头寸:有些头寸在正方关闭,有些在负方关闭,有些还没有关闭,因此余额发生变化。我需要知道具体的数值。谢谢你。

没有标准功能,也没有通过论坛或任何其他方式进行搜索。

在测试器中,你可以模拟以下情况:当使用几个专家顾问进行交易时,你不能知道当时的余额是多少。 当然,你可以尝试计算被打开的订单,然后在终端历史中寻找没有打开订单的时间...而最终的结果并不意味着一切都会被考虑在内

在测试器中,你可以很容易地模拟这种情况--在全局范围内描述一个变量并在OnTick中检查条件,如果(OrderTotal()==0) StartBalance = AccountBalance()。

然后,当在测试器中 打开订单时,你的初始值为平衡....。你可以在每个条形图中添加盈利订单的值,你可以将这些值添加到一个数组或一个列表中。


但如果你想把这段代码用在有多个专家顾问的账户上,你必须把你的任务制定为不是搜索N个柱子前的余额,而是未结订单的总利润;你不写任何未结订单,你打开一个订单--开始在数组中增加每一个柱子的利润。 这意味着你正在寻找一个机会来改变你的TS的逻辑,不是与余额有关,而是与终端历史上的未结订单利润和/或关闭订单利润有关(一天,一小时?)

 
Igor Makanu:

没有标准功能,也没有通过论坛或任何其他方式进行搜索。

在测试器中,你可以模拟以下情况:当使用几个专家顾问进行交易时,你不能知道当时的余额是多少。 当然,你可以尝试计算被打开的订单,然后在终端历史中寻找没有打开订单的时间... 而最终的结果并不意味着一切都会被考虑在内

在测试器中,你可以很容易地模拟这种情况--在全局范围内描述一个变量并在OnTick中检查条件,如果(OrderTotal()==0) StartBalance = AccountBalance()。

然后,当在测试器中 打开订单时,你的初始值为平衡....。你可以在每个条形图中添加盈利订单的值,你可以将这些值添加到一个数组或一个列表中。


但要在一个有多个EA的账户上使用这段代码,任务不应该是搜索N个交易日之前的余额,而是将未平仓订单、未平仓订单、未平仓订单的总利润加起来--开始记录数组中每个交易日的利润。 这意味着你正在寻找改变TS逻辑的可能性,不是与余额有关,而是与终端历史中某个时期(一天、一小时?)

明白了。谢谢你的详细答复。

 

你好!我如何 创建一个使用iCustom创建的技术指标 手柄 获得输入参数。

比如说

iCustom(NULL,0, "name_indicator",1,2,3) - 如何获得输入参数1,2和3?

 
你好,请你告诉我如何找出当前的缩水百分比?
 
nalyk:
你好,请你告诉我如何找出当前的缩水百分比?

记下股权的账目

 
nalyk:
你好,请你告诉我如何找出当前的缩水百分比?
double drawdown = AccountProfit()*100/AccountBalance();
 

是否可以将模板应用 于结构和类,在它们内部声明模板类型的变量,以便以后处理这些变量并引用它们? 我在一个结构中试过这个方法。

templ(T)struct A
{
  T val;
  int ind;
};

它可以编译,但不允许给结构分配一个名称。

 
你好!请帮助我做以下工作。
有必要为市场上的每一个未结头寸 制定一个目标利润,但不是总的,而是单独的!这就是我们的目标。
例如:欧元兑美元开仓,在其设置中的目标利润为1美元,一旦达到该目标,就会自行平仓,只有它!
每种货币对都应该按自己的情况工作,而不是按总的利润工作!

我找到了所有交易的总利润的代码。
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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);
}
帮助每个货币对分别重做......,非常感谢您!
 
ponochka:
你好!请帮助我做以下工作。
有必要为市场上的每一个未结头寸 制定一个目标利润,但不是总的,而是单独的!
例如:欧元兑美元开仓,在其设置中的目标利润为1美元,一旦达到目标利润,就会自行平仓,只有这一个
每种货币对都应该按自己的情况工作,而不是按总的利润工作!

我找到了所有货币对的总利润代码。
帮助每个货币对分别重做......,非常感谢您!

在这个函数的第一个参数中传递带有你的交易的字符串,它将只计算这个交易的利润。

在这个函数的第二个参数中传递操作的类型(买入或卖出),它将只计算这个操作的利润。

而神奇的数字也会如此。这是一个普遍的功能。

原因: