Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
RefreshRates() бы добавить. Да и неплохо было бы контроль ошибки 4066 сделать
RefreshRates() бы добавить. Да и неплохо было бы контроль ошибки 4066 сделать
RefreshRates(), обязательно!
Но эту функцию лучше ставить в процедурах анализа
ProcSP();
ProcSymbolPeriod(i,j);
ProcSymbolPeriodS(i);
ProcSymbolSPeriodS();
Да?
А как и где ставить ошибки 4066 ? Пример кода?
Самый верхний модуль:
int init() { return(0); }
int deinit() { return(0); }
//=========================================================================================================================
int start()
{
startustanovki(); // начальные установки
while(!IsStopped()) // До тех пор, пока пользователь не прекратит исполнение программы
{
kontrol(); // контрольные функции
SymbolPeriod(); // фиксация появления нового бара по любой валютной паре и на любом таймфрейме
if (analiz1>60)
{
Print("======================================================");
Print("Превышение допустимого (60сек) времени обработки !!! ",analiz1,"сек Перезапуск цикла обработки.");
Print("======================================================");
break;
}
//====================== ежечасный перезапуск цикла ========
string text = TimeToStr(TimeCurrent(),TIME_MINUTES);
int index = StringFind(text, ":49", 0); // разрешение на очередной ежечастный однократный перезапуск эксперта (цикла)
if (index==2) {bool perezapusk=true;}
index = StringFind(text, ":50", 0); // профилактический перезапуск цикла делаю за 10 минут до начала нового часа ========
if ((index==2)&&(perezapusk==true))
{
Print("======================================================");
Print(" Профилактический, перезапуск цикла обработки ",TimeToStr(TimeCurrent(),TIME_MINUTES));
Print("======================================================"); perezapusk=false; break;
}
//====================== ежечасный перезапуск цикла ========
ProcSP(); // оперативная циклическая обработка
Sleep(100); // притормози! (замедлитель цикла обработки)
}
return(0); // Управление возвращается терминалу
}
//=========================================================================================================================
RefreshRates() нужен при любом обращении к другим инструментам. А в твоем варианте эксперт зацикленный. И данные так просто обновляться не будут
Ошибка 4066
RefreshRates() нужен при любом обращении к другим инструментам. А в твоем варианте эксперт зацикленный. И данные так просто обновляться не будут
Ошибка 4066
Т.е. RefreshRates() ставлю перед kontrol();
Т.е. RefreshRates() ставлю перед kontrol();
А в процедурах ставить уже нет смысла?
ProcSP();
ProcSymbolPeriod(i,j);
ProcSymbolPeriodS(i);
ProcSymbolSPeriodS();
Да?
А в процедурах ставить уже нет смысла?
ProcSP();
ProcSymbolPeriod(i,j);
ProcSymbolPeriodS(i);
ProcSymbolSPeriodS();
Да?
И дополнительно при работе с ордерами. Там должны быть самые свежие данные. Открытие, закрытие, модификация.
И дополнительно при работе с ордерами. Там должны быть самые свежие данные. Открытие, закрытие, модификация.
так вот там все и стоит. Поэтому мне и не понятно зачем это делать в начале цикла?
RefreshRates() нужен при любом обращении к другим инструментам. А в твоем варианте эксперт зацикленный. И данные так просто обновляться не будут
Ошибка 4066
Vinin, можете сообщить код функции контроля истории?