Если тут есть знатоки программирования для МТ5, прошу небольшой помощи по трем вопросам.
1. Допустим, имеется некая средняя (скользяшка и т.п.). Требуется сделать алерт на пересечение её ценой. Но сделать так, чтобы он срабатывал единожды на свече. Как пример: цена идет вверх, вверху средняя, хай цены достигает средней — срабатывание алерта. Если еще раз в ходе этой свечи цена сделки пересекает среднюю, то алерт на срабатывает. Повторное срабатывание допустимо лишь на другой свече.
При этом сделать возможность вносить допуск. Т.е. срабатывание на пересечении не точно средней, а с определенным недоходом. Допуск должен прописываться в меню. Как и вкл\откл алертов
2. То же самое, но для осциллятора. Т.е. в покое осциллятор в нуле. Как только пересек определенный уровень (задается через меню) — алерт.
3. Возникла проблема — вешаю индикатор на график. Выхожу из МТ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;
}
Трамп объявляет о введении масштабных взаимных пошлин — CNN
◾ Президент Дональд Трамп усилил свои исключительные усилия по достижению более сбалансированной торговли, объявив в четверг о введении н...
Дмитрий, Спасибо за такой анализ, но мне не хватает опыта понять, что происходит на предоставленном графике. До ТА мне еще далеко.
Можете, пожалуйста, немного в кратце пояснить, о чем вы хотите ...
Например:
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;
...............
}
я тоже не. У меня стаж программирования — 2.5 месяца.