MetaTrader 5策略测试器:缺陷,缺陷,改进建议 - 页 9

 
Vladimir Karputov:

取出交货时的标准EA并检查--一切正常。但如果输入参数被声明为sinput - 那么这些参数就不能被优化。

我从标准的EA中进行了选择。

MACD样本

但一切都没有改变。

MACD样本输入

我在sinput中只做了魔法参数,因为它的优化没有意义。

输入和输出

我的建筑是2155。可能是建造时出了什么问题?

 
Mihail Matkovskij:

我从标准的专家那里选择了。

但一切都没有改变。

在我自己的sinput中,我只做了魔法参数,因为优化它是没有意义的。


我的建筑是2155。可能是建造时出了什么问题?

在那里,我已经得到了它。我需要在优化的参数前面加上标志,早些时候没有必要设置优化参数

 
Mihail Matkovskij:

我从标准的专家那里选择了。

但一切都没有改变。

在我自己的sinput中,我只做了魔法参数,因为优化它是没有意义的。


我的建筑是2155。可能是建造时出了什么问题?

在你不注意的时候,建筑是好的。你已经采取了一个标准的EA,我看到它的参数有可接受的变化。你所需要做的就是勾选 "变量 "栏中的方框。


补充:当我正在写我的答复时,我看到你已经想通了。

 
Vladimir Karputov:

建设是好的,但你不注意。你已经采取了标准的EA,我可以看到它的参数是可以接受改变的。 你所需要做的就是勾选 "变量 "栏中的方框。


补充:当我在写回复的时候,我看到你想通了。

是的,但还是要感谢你!

 
当测试器在计数时(红色的停止按钮),选项标签中的鼠标滚轮不起作用(你需要滚动浏览大量的参数)。
 
你好!一个关于优化的问题。我的终端有4名代理。在过去,整个系统可能因优化而冻结。因此,我断开了一个代理的连接,然后就一切正常了。在新的终端版本中,我注意到第一个代理根本就没有被加载。因此,我换上了第四个代理。我做得对吗?我应该期待在4个代理运行时出现冻结,还是像我假设的那样,在整个优化过程中,第一个代理仍未加载?
 
Mihail Matkovskij:
嗨!关于优化的问题。我的终端有4名代理。在过去,由于优化,可能会出现全系统冻结的情况。因此,我习惯于禁用一个代理,一切工作都很正常。在新版本的终端中,我注意到第一个代理根本就没有被加载。于是,我换上了第四个代理人。我是对的,我应该期待在4个代理运行时出现冻结,还是像我假设的那样,在整个优化过程中,第一个代理仍然没有加载?

你是否碰巧在第一个代理上打开了一个Visual Tester窗口?如果是,关闭Visual Tester窗口,1号代理将变得自由。

 

测试仪不重置测试间隔的最后几个刻度。

EA

#define  TOSTR(A) " " + #A + " = " + (string)Tick.A
#define  TOSTR2(A) " " + #A + " = " + ::DoubleToString(Tick.A, _Digits)

string TickToString( const MqlTick &Tick, const bool Flags = true )
{
  return(TOSTR(time) + "." + ::IntegerToString(Tick.time_msc % 1000, 3, '0') + TOSTR2(bid) + TOSTR2(ask));
}

void OnDeinit( const int )
{
  MqlTick Tick;

  if (SymbolInfoTick(_Symbol, Tick))
    Print(TickToString(Tick)); // Распечатываем последний тик интервала тестирования.
}


结果

EURGBP.rann_RannForex: history data begins from 2018.02.06 00:00
EURGBP.rann_RannForex: ticks data begins from 2018.02.06 00:00
agent process started on 127.0.0.1:3000
connecting to 127.0.0.1:3000
connected
authorized (agent build 2162)
EURGBP.rann_RannForex,M1 (MetaQuotes-Demo): testing of Experts\Test5-4.ex5 from 2019.09.28 00:00 to 2019.10.01 00:00
common synchronization completed
EURGBP.rann_RannForex: ticks synchronized already [73 bytes]
MetaTester 5 started on 127.0.0.1:3000
initialization finished
login (build 2162)
4372 bytes of account info loaded
1482 bytes of tester parameters loaded
188 bytes of input parameters loaded
2813 bytes of symbols list loaded
expert file added: Experts\Test5-4.ex5. 13105 bytes loaded
7703 Mb available, 96 blocks set for ticks generating
calculate profit in pips, initial deposit 10000, leverage 1:100
successfully initialized
14 Kb of total initialization data received
Intel Core i7-2700 K  @ 3.50 GHz, 16301 MB
EURGBP.rann_RannForex: symbol to be synchronized
EURGBP.rann_RannForex: symbol synchronized, 3720 bytes of symbol info received
EURGBP.rann_RannForex: load 57 bytes of history data to synchronize in 0:00:00.001
EURGBP.rann_RannForex: history synchronized from 2018.02.06 to 2019.10.01
EURGBP.rann_RannForex: ticks synchronization started
EURGBP.rann_RannForex: load 64 bytes of tick data to synchronize in 0:00:00.000
EURGBP.rann_RannForex: history ticks synchronized from 2019.09.30 to 2019.10.01
EURGBP.rann_RannForex,M1: history cache allocated for 611815 bars and contains 608725 bars from 2018.02.06 02:00 to 2019.09.27 23:54
EURGBP.rann_RannForex,M1: history begins from 2018.02.06 02:00
EURGBP.rann_RannForex,M1 (MetaQuotes-Demo): generating based on real ticks
EURGBP.rann_RannForex,M1: testing of Experts\Test5-4.ex5 from 2019.09.28 00:00 to 2019.10.01 00:00 started
EURGBP.rann_RannForex : real ticks begin from 2019.09.30 00:00:00
final balance 10000.00 pips
2019.09.30 23:59:58    time = 2019.09.30 23:59:58.022 bid = 0.88612 ask = 0.88741
EURGBP.rann_RannForex,M1: 101751 ticks, 1424 bars generated. Test passed in 0:00:00.558 (including ticks preprocessing 0:00:00.031).
269 Mb memory used including 35 Mb of history data, 64 Mb of tick data
log file "C:\Program Files\ICMarkets - MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20191002.log" written
connection closed


实际上应该放在最后的。


该错误在任何区间都会重现。

 

有新的选项用于通过输入组对参数进行分组。

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2018, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
input group           "Strategy #1"
input ENUM_TIMEFRAMES InpS1_TF    =PERIOD_M30;        // timeframe
input string          InpS1_Sym1  ="EURUSD";          // first leg
input string          InpS1_Sym2  ="GBPUSD";          // second leg
input int             InpS1_Period=20;                // period of sigma calculation
input double          InpS1_Sigma =3.0;               // sigma level for trade
input int             InpS1_Bars  =100;               // bars for correlation
input double          InpS1_Level =0.7;               // correlation level for trade
input double          InpS1_Lot   =0.1;               // trade lot
sinput long           InpS1_Magic =100;               // Magic Number

input group           "Strategy #2"
input ENUM_TIMEFRAMES InpS2_TF    =PERIOD_M30;        // timeframe
input string          InpS2_Sym1  ="EURJPY";          // first leg
input string          InpS2_Sym2  ="GBPJPY";          // second leg
input int             InpS2_Period=20;                // period of sigma calculation
input double          InpS2_Sigma =3.0;               // sigma level for trade
input int             InpS2_Bars  =100;               // bars for correlation
input double          InpS2_Level =0.7;               // correlation level for trade
input double          InpS2_Lot   =0.1;               // trade lot
sinput long           InpS2_Magic =200;               // Magic Number

input group           "Strategy #3"
input ENUM_TIMEFRAMES InpS3_TF    =PERIOD_M30;        // timeframe
input string          InpS3_Sym1  ="EURCHF";          // first leg
input string          InpS3_Sym2  ="GBPCHF";          // second leg
input int             InpS3_Period=20;                // period of sigma calculation
input double          InpS3_Sigma =3.0;               // sigma level for trade
input int             InpS3_Bars  =100;               // bars for correlation
input double          InpS3_Level =0.7;               // correlation level for trade
input double          InpS3_Lot   =0.1;               // trade lot
sinput long           InpS3_Magic =300;               // Magic Number

input group           "Strategy #4"
input ENUM_TIMEFRAMES InpS4_TF    =PERIOD_M30;        // timeframe
input string          InpS4_Sym1  ="EURUSD";          // first leg
input string          InpS4_Sym2  ="AUDUSD";          // second leg
input int             InpS4_Period=20;                // period of sigma calculation
input double          InpS4_Sigma =3.0;               // sigma level for trade
input int             InpS4_Bars  =100;               // bars for correlation
input double          InpS4_Level =0.7;               // correlation level for trade
input double          InpS4_Lot   =0.1;               // trade lot
sinput long           InpS4_Magic =400;               // Magic Number

input group           "Strategy #5"
input ENUM_TIMEFRAMES InpS5_TF    =PERIOD_M30;        // timeframe
input string          InpS5_Sym1  ="USDCAD";          // first leg
input string          InpS5_Sym2  ="USDCHF";          // second leg
input int             InpS5_Period=20;                // period of sigma calculation
input double          InpS5_Sigma =3.0;               // sigma level for trade
input int             InpS5_Bars  =100;               // bars for correlation
input double          InpS5_Level =0.7;               // correlation level for trade
input double          InpS5_Lot   =0.1;               // trade lot
sinput long           InpS5_Magic =500;               // Magic Number

input group           "Strategy #6"
input ENUM_TIMEFRAMES InpS6_TF    =PERIOD_M30;        // timeframe
input string          InpS6_Sym1  ="USDCHF";          // first leg
input string          InpS6_Sym2  ="USDJPY";          // second leg
input int             InpS6_Period=20;                // period of sigma calculation
input double          InpS6_Sigma =3.0;               // sigma level for trade
input int             InpS6_Bars  =100;               // bars for correlation
input double          InpS6_Level =0.7;               // correlation level for trade
input double          InpS6_Lot   =0.1;               // trade lot
sinput long           InpS6_Magic =600;               // Magic Number

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {

  }  
//+------------------------------------------------------------------+


组更容易操作,可以折叠。

 
MetaQuotes Software Corp.:

有新的选项用于通过输入组对参数进行分组。

组的工作更方便,可以折叠。

谢谢你。我还想做 "折叠/取消折叠所有组"。