首页 > 解决方案 > 无法在 Strategy Tester MQL5 中打开不同的符号图表

问题描述

我尝试了以下代码,它在实时图表上正常工作,但在策略测试器中不能正常工作:

#define count_symbol 3
string Symbols[count_symbol]={"CADCHF","GBPAUD","EURUSD"};
input int Fetch_Candles=1000;
input bool CallMyProgram= true;
input bool writedata = true;
input bool draw_charts = true;
input bool showbuffer1 = true,showbuffer2 = false;

int OnInit()
  {
   if(draw_charts){
   for(int i=0; i < count_symbol; i++) 
   {

   SymbolSelect(Symbols[i],true);
   chart_id[i] = ChartOpen(Symbols[i],0);
   int indicator = iCustom(Symbols[i],0,"Real Time Testing\\Trade_Real_Test",0,false,false,false);
   ChartIndicatorAdd(chart_id[i],1,indicator);
   ChartApplyTemplate(chart_id[i],"template.tpl");
   }
   }

   EventSetMillisecondTimer(10);
   return(INIT_SUCCEEDED);
 }

此代码使用相应的符号打开不同的图表。但它在策略测试器中不起作用。我看不到策略测试器中打开的尊重图表及其各自的指标。我放在上面的代码是一个指标。我正在回测指标。

我谦虚的要求请正确阅读我的问题并提出相关问题。

请让我知道我在这里错过了什么。我正在使用我在不同图表上测试的相同指标调用我已修复的相应参数,正如您在代码中看到的那样。此外,我将模板放在不同的图表上。

我什至尝试删除仅应用模板的指标线,以便获得指标的相应效果。如下所示:

#define count_symbol 3
string Symbols[count_symbol]={"CADCHF","GBPAUD","EURUSD"};
input int Fetch_Candles=1000;
input bool CallMyProgram= true;
input bool writedata = true;
input bool draw_charts = true;
input bool showbuffer1 = true,showbuffer2 = false;

int OnInit()
  {
   if(draw_charts){
   for(int i=0; i < count_symbol; i++) 
   {

   SymbolSelect(Symbols[i],true);
   chart_id[i] = ChartOpen(Symbols[i],0);
   ChartApplyTemplate(chart_id[i],"template.tpl");
   }
   }

   EventSetMillisecondTimer(10);
   return(INIT_SUCCEEDED);
 }

请帮助我陷入困境的人们。

标签: indicatormql5metatrader5

解决方案


推荐阅读