[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 675

 

Индикатор не переписывает комменты, а добавляет с каждым тактом

вот код, это конец функции start() 

    Var_Comment = Var_Comment + "\nТФ_" + String_TF + "  Последнее событие: " + Last_Event + "\n" + Trend_Sum_Average2;
    Comment(Var_Comment);  
//+------------------------------------------------------------------+
//----
   return(0);
}
 
valenok2003:

Индикатор не переписывает комменты, а добавляет с каждым тактом

вот код, это конец функции start() 

Конечно добавляет вы же сами это указали :)

Var_Comment = Var_Comment + "\nТФ_" + String_TF + "  Последнее событие: " + Last_Event + "\n" + Trend_Sum_Average2;
попробуйте удалить эту запись, должно получится.
 
drknn:


Если в учебнике массивы так объявлены, то это весьма странно. Выделили бы Вы комментарием тот участок кода, который внесли ВЫ.

Я и не читал того учебника. А чем автор обосновывает там правомерность такого вот объявления массива?

Так я и выделил =) вот он он:

//-------------------изменения------V---------------------------------
double Macd_M_D1=iMACD(NULL,1440,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
// Вверху - обращение к МАКД расчет на дневках основной линии
double Macd_S_D1=iMACD(NULL,1440,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
// Это обращение к МАКД и расчет Сигнальной линии на дневках
double Macd_M_H4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
// Это обращение к МАКД и расчет основной линии на текущем таймфрейме
double Macd_S_H4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
// Это обращение к МАКД и расчет сигнальной линии на текущем таймфрейме
//-------------------изменения----^-----------------------------------
string Nom_Lin =Line + "_"; // Строка - номер линии
// string Nom_Lin = DoubleToStr(Line,0)+"_";// Можно и так
string Str_Time=TimeToStr(T_Bar); // Строка - время откр.

string His_Name=Prefix+Nom_Lin+Str_Time;// Имя созаваемого объект

//-------------------изменения-------V--------------------------------

if ((Macd_M_D1 < Macd_S_D1)&&(Macd_M_H4 < Macd_S_H4))Color=Blue;
if ((Macd_M_D1 > Macd_S_D1)&&(Macd_M_H4 > Macd_S_H4))Color=Red;
//
//if (O_Bar < C_Bar) Color=Blue; // Выбор цвета в зависимости..
//if (O_Bar > C_Bar) Color=Red; // .. от характеристик бара
//if (O_Bar ==C_Bar) Color=Green;
//-------------------изменения------^---------------------------------


Вот он. Вроде все по науке сделал....

 
ToLik_SRGV:

Конечно добавляет вы же сами это указали :)

попробуйте удалить эту запись, должно получится.

 


Спасибо, это я промухал.

Ещё вопрос, как вывести комменты в окно индикатора? 

 
valenok2003:


Спасибо, это я промухал.

Ещё вопрос, как вывести комменты в окно индикатора? 


Функция Comment() не связана с каким либо окном, для нее есть только одно место - левый верхний угол.
Для вывода в окно индикатора придется использовать графические объекты.
 
ToLik_SRGV:

Функция Comment() не связана с каким либо окном, для нее есть только одно место - левый верхний угол.
Для вывода в окно индикатора придется использовать графические объекты.

спасибо
 
Люди добрые, подскажите, возможно ли в советнике разбить открытие сделок, например что бы советник открывал сделки только по каждому второму сигналу ?
 
didivi:
Люди добрые, подскажите, возможно ли в советнике разбить открытие сделок, например что бы советник открывал сделки только по каждому второму сигналу ?

Счётчик сигналов поставь и на второй счёт устанавливай флаг, разрешающий открытие.
 
Как посмотреть все алерты выданные скриптами? Если уже закрыл окошко с ними. Может в каких то логах сохраняются?
 
Mathers:
Как посмотреть все алерты выданные скриптами? Если уже закрыл окошко с ними. Может в каких то логах сохраняются?

Обязательно сохраняются \MetaTrader\experts\logs
Причина обращения: