Блог им. Starley

Прошу помощи по МТ5. Алерты и ошибки

Приветствую.

Если тут есть знатоки программирования для МТ5, прошу небольшой помощи по трем вопросам.

1. Допустим, имеется некая средняя (скользяшка и т.п.). Требуется сделать алерт на пересечение её ценой. Но сделать так, чтобы он срабатывал единожды на свече. Как пример: цена идет вверх, вверху средняя, хай цены достигает средней — срабатывание алерта. Если еще раз в ходе этой свечи цена сделки пересекает среднюю, то алерт на срабатывает. Повторное срабатывание допустимо лишь на другой свече.
При этом сделать возможность вносить допуск. Т.е. срабатывание на пересечении не точно средней, а с определенным недоходом. Допуск должен прописываться в меню. Как и вкл\откл алертов

2. То же самое, но для осциллятора. Т.е. в покое осциллятор в нуле. Как только пересек определенный уровень (задается через меню) — алерт.

3. Возникла проблема — вешаю индикатор на график. Выхожу из МТ5. Потом вхожу — индикатор пропадает. В настройках он есть, но на графике нет. А вот объекты от него вообще испаряются — даже в настройках нет. У индикатора есть объекты (стрелочки и т.д.)
Может где-то в каком-то блоке этот момент прописывается? В чем может быть ошибка?

Заранее благодарю за помощь!
5 комментариев
1. Нужна функция, отслеживающая появление нового бара. И нужна ещё одна переменная-флажок, следящая за пересечением средней.
Например:
datetime   curTime  = 0;     //время начала текущего бара
bool       flNewBar = FALSE; //флаг нового бара
bool   fl1;     //пересечение средней
//--------------
//начался ли новый период
//=====
void setNewBar()
{
  if(curTime<Time[0])
  {
    curTime=Time[0];
    flNewBar=TRUE;
    fl1=false;
  }
  else
    flNewBar=FALSE;
}

.................
if(fl1==false &&… пересечение...)
{
  fl1=true;
  ...............

}

avatar
avror, благодарю. Я, правда, ни разу не программист и для меня все это темный лес… но попробую разобраться.
avatar
Старлей, 
я тоже не. У меня стаж программирования — 2.5 месяца.
avatar

теги блога Старлей

....все тэги



UPDONW
Новый дизайн