错误、漏洞、问题 - 页 1897

 
Konstantin:
我的计算结果是这样的。
它最终是如何正确的?

不清楚疑点是什么--我的逻辑很简单--计算购买资产总共花了多少钱(如果我们忘记保证金),然后除以购买的总数量--这将是一项资产的平均价格--即收支平衡。

 

我记得开发人员谈到了代理之间交换数据的可能性。我在哪里可以看到一个例子?

似乎框架通道是单向的--从代理到终端,但不是反过来。

 
执行错误
void OnStart()
{
  int Array[];
  
  Array[ArrayResize(Array, ArraySize(Array) + 1) - 1] = 0; // array out of range
}
 
执行错误
struct INT
{
  int Array[];
};

void OnStart()
{
  INT i = {0}; //  Если убрать "= {0}" - ошибка выполнения исчезает
  
  Print(ArrayResize(i.Array, 5)); // -1
}
 
如果结构中包含字符串和数组,像这样{0}最好不要初始化它,它为我抛出了一个异常。
 

本地代理返回相同的TerminalInfoInteger(TERMINAL_DLLS_ALLOWED)值,直到你重新加载终端。

例如,你希望DLL代理不执行。你取消了终端中的DLL复选框,代理们就会一直 "快乐"。


 
Комбинатор:
如果像这样的结构中有字符串和数组,{0}最好不要初始化它,在我的例子中它抛出了一个异常。
那里似乎有一个潜在的漏洞。
 
fxsaber:

我记得开发人员谈到了代理之间交换数据的可能性。我在哪里可以看到一个例子?

似乎是一个单向的框架渠道--从代理人到终端,但不是相反。

关于交易、自动交易系统和交易策略测试的论坛

在策略测试器中使用专家顾问文件

Renat Fatkhullin, 2012.08.27 01:41

当使用clud或远程代理工作时,必须通过#property tester_file "myfile1.dat " 明确指定所使用的文件(用于读取)。在这种情况下,测试人员将这些文件与源EA一起传递给云,该文件的变化 在云服务器和代理上得到控制 和缓存。

可以将大量的原始数据传输到云端,并通过报告中的FrameAdd()接收包括大量数据的计算。

我可以在OnTesterPass中改变测试员_文件-文件,从而将所需信息转移到云端吗?
 
fxsaber:

在标准的MQL5/Experts/Examples/Moving Average/Moving Average.mq5 中。

在TradeSizeOptimized中错过了魔法检查。

请检查这个变体。

就我而言,我已经用不同的设置和魔法在嵌入式VPS上运行了这个EA的9个实例进行在线交易--我将观察https://www.mql5.com/ru/signals/305333。

Торговые сигналы для MetaTrader 5: Standard Moving Average 9 instances
Торговые сигналы для MetaTrader 5: Standard Moving Average 9 instances
  • Rashid Umarov
  • www.mql5.com
Торговый Сигнал Standard Moving Average 9 instances для MetaTrader 5: копирование сделок, мониторинг счета, автоматическое исполнение сигналов и социальный трейдинг
附加的文件:
 
Rashid Umarov:

请看一下这个选项。

就我而言,我已经用不同的设置和魔法运行了这个EA的9个实例,在内置的VPS上进行在线交易--我将会关注https://www.mql5.com/ru/signals/305333。

该EA的手数选择会受到源符号上任何第三方交易(包括其他实例)的影响。

在这篇报道中,发生了

      HistorySelect(0,TimeCurrent());
      //---
      int    orders=HistoryDealsTotal();  // total history deals
      int    losses=0;                    // number of losses orders without a break

      for(int i=orders-1;i>=0;i--)
        {
         ulong ticket=HistoryDealGetTicket(i);
         if(ticket==0)
           {
            Print("HistoryDealGetTicket failed, no trade history");
            break;
           }
         //--- check symbol
         if(HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol)
            continue;
         //--- check profit
         double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
         if(profit>0.0)
            break;
         if(profit<0.0)
            losses++;
        }
      //---
      if(losses>1)
         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);