Ошибки, баги, вопросы - страница 1757
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ME и пропала расцветка.
[подсветка ключевых слов кода] У меня такое было сразу после одного из недавних обновлений. После полной перезагрузки - восстановилось, сделайте PrintScreen - потом не воспроизвести будет
Какой смысл это делать, ведь это только у меня так произошло )))
Не только. Как раз сейчас получил тот же сюрприз. )
Какой смысл это делать, ведь это только у меня так произошло ))) В сервисдеск заявку отправил, ответа нет до сих пор. Сделал проще, что бы не портить себе нерв - удалил руками из Program Files все из каталога терминала и залил туда прошлый релиз, все восстановилось. Пусть топорно, но помогло и работу завершить смог. А то ощущение сложилось, что редактор перестал видеть компилятор )))
Это что касается подстветки (еще прежний build 1455). Видно что в последней строке const и new не подсвечены (файл .mqh). Закрыл файл - открыл - все восстановилось
Если сменить профиль в MT4, а потом обратно, то при закрытом рынке процессор начинает сильно грузиться - до 5%, после 18-25%.
Если сменить профиль в MT4, а потом обратно, то при закрытом рынке процессор начинает сильно грузиться - до 5%, после 18-25%.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Renat Fatkhullin, 2016.11.04 16:11
Ветку пора закрывать - и делать отдельные темы под каждый вопрос.
Просьба не писать сюда больше - это категорически неэффективно.
Если сменить профиль в MT4, а потом обратно, то при закрытом рынке процессор начинает сильно грузиться - до 5%, после 18-25%.
делал, но не помогло ))), говорю же ощущение, что что то с компилятором, потому как при запуске компиляции .mq5ME просто вылетает, а если запустить компиляцию .mqh то ругается на компилятор ))) А в crash появляется огромный файл !!! который постоянно обновляется. Вирусов нет кроме самой ОС Win 8.1x64, антивирус на одной машине вообще отсутствует т.к. в нет ходит только MT5, и сама ОС в свой репозиторий.
Кстати в тему ответа Рената насчет многотысячных тестов - я прежде чем написать вопрос, так же делаю проверку подобных вещей на разных ОС и машинах )) если результат подтверждается, то вопрос задаю, если нет, копаюсь в проблеме сам.
помогите,пожалуйста,разобраться. не могу никак понять в чем проблема - то ли в индикаторе, то ли в советнике, то ли в визуализаторе. принимается вариант - сам дурак,потому и лыжи не едут. но только с указанием где именно и почему))
индикатор один и тот же,настройки одинаковые,тф одинаковый. на скрине вверху визуализация индикатора при прогоне советника с этим индикатором внутри в тестере. внизу просто индикатор накинутый на чарт. и в итоге они показывают разное. индикатор,Если просто накинуть на чарт, показывает верно. легко проверить чисто визуально - цену закрытия минус машка обыкновенная.
код советника
input string Symbol1="EURUSD";
input int Per=14;
double buf[];
int handle_1,copied1;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
handle_1=iCustom(Symbol(),PERIOD_CURRENT,"test ma",Symbol1,Per);
ArrayInitialize(buf,0);
return(INIT_SUCCEEDED);
}
//+---------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
Comment("");
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
copied1=CopyBuffer(handle_1,0,0,4,buf);
Comment("Индикатор 3 = ",buf[3]);
}
//+------------------------------------------------------------------+
//| Trade function |
//+------------------------------------------------------------------+
void OnTrade()
{
//---
}
//+------------------------------------------------------------------+
код индикатора
//---- количество индикаторных буферов 2
#property indicator_buffers 3
//---- использовано всего одно графическое построение
#property indicator_plots 1
//+----------------------------------------------+
//| объявление констант |
//+----------------------------------------------+
#define RESET 0 // Константа для возврата терминалу команды на пересчёт индикатора
//+----------------------------------------------+
//| Параметры отрисовки индикатора |
//+----------------------------------------------+
#property indicator_type1 DRAW_HISTOGRAM
#property indicator_color1 clrPlum
//+----------------------------------------------+
//| Входные параметры индикатора |
//+----------------------------------------------+
input string Symb1="EURUSD";
input int Per=14;
int Shift=0;
//+----------------------------------------------+
//---- объявление динамических массивов, которые будут в
// дальнейшем использованы в качестве индикаторных буферов
double Buffer1[];
double Buffer2[];
double Buffer3[],Buffer4[],Buffer5[];
//---- Объявление целых переменных начала отсчёта данных
int min_rates_total;
//---- Объявление целых переменных для хранения хендлов индикаторов
int Handle1,Handle2;
double buf1[],buf2[],close1[],close2[],buf4[];
int closed1,closed2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---- Инициализация переменных начала отсчёта данных
min_rates_total=Per+1;
//--- получение хендла индикатора Fast iCCI
Handle1=iMA(Symb1,PERIOD_CURRENT,Per,0,0,0);
if(Handle1==INVALID_HANDLE)
{
Print(" Не удалось получить хендл индикатора");
return(INIT_FAILED);
}
//---- превращение динамического массива в индикаторный буфер
SetIndexBuffer(1,Buffer1,INDICATOR_DATA);
SetIndexBuffer(0,Buffer3,INDICATOR_DATA);
SetIndexBuffer(2,buf1,INDICATOR_DATA);
//---- осуществление сдвига индикатора 1 по горизонтали на Shift
PlotIndexSetInteger(0,PLOT_SHIFT,Shift);
//---- осуществление сдвига начала отсчёта отрисовки индикатора 1 на min_rates_total
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,min_rates_total);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//--- завершение инициализации
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(
const int rates_total, // количество истории в барах на текущем тике
const int prev_calculated,// количество истории в барах на предыдущем тике
const datetime &time[],
const double &open[],
const double& high[], // ценовой массив максимумов цены для расчёта индикатора
const double& low[], // ценовой массив минимумов цены для расчёта индикатора
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[]
)
{
//---- объявления локальных переменных
int to_copy;
//---- расчёты необходимого количества копируемых данных
if(prev_calculated>rates_total || prev_calculated<=0)// проверка на первый старт расчёта индикатора
{
to_copy=rates_total; // стартовый номер для расчёта всех баров
}
else to_copy=rates_total-prev_calculated+1; // стартовый номер для расчёта новых баров
int first,bar;
if(CopyBuffer(Handle1,0,0,to_copy,Buffer1)<=0) return(RESET);
if(CopyClose(Symb1,0,0,to_copy,buf1)<=0) return(RESET);
//---- расчёт стартового номера first для цикла пересчёта баров
if(prev_calculated>rates_total || prev_calculated<=0) // проверка на первый старт расчёта индикатора
first=min_rates_total; // стартовый номер для расчёта всех баров
else first=prev_calculated-1; // стартовый номер для расчёта новых баров
//---- Основной цикл расчёта индикатора
for(bar=first; bar<rates_total ; bar++)
{
Buffer3[bar]=Buffer1[bar] - buf1[bar];
}
//----
return(rates_total);
}
//+------------------------------------------------------------------+
Окно котировок сворачивается при сворачивании терминала. Так не должно быть.