Я попробовал следующий код, он корректно работает на реальном графике, но не в тестере стратегий:
#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);
}
Помогите, пожалуйста, людям с большой дилеммой.