![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, спасибо, все исправил, без ошибок. Тормозит, да, очень. Не подскажите в каком направлении двигаться, чтобы оптимизировать, или все переписывать придется?
Слишком уж много объектом создаётся и стирается на каждом тике, нужно как-то ограничивать, например, стирать не все объекты, а только нарисованные на последних 1-2 барах.
Я например, в аналогичном случае, вместо ObjectsDeleteAll() в start() использовал такую функцию:
{
for(int i=ObjectsTotal()-1;i>=0;i--)
{
string name=ObjectName(i);
if(StringFind(name,"Shadows.",0)>-1)
{
datetime crtm=(datetime)ObjectGetInteger(0,name,OBJPROP_CREATETIME);
if(crtm>=iTime(Symbol(),0,1))
if(!ObjectDelete(name)) Print("ObjectDelete error# ",_LastError);
}
}
}
подскажите, можно ли из советника управлять разрешением на торговлю этим советником
то есть использовать переменную MQL_TRADE_ALLOWED ?
допустим если большой спрэд, то запрещать торговлю(но не прекращать работу советника)
Просто я не знаю как эту переменную выставлять. Прямое присвоение 1 или 0 не получается сделать.подскажите, можно ли из советника управлять разрешением на торговлю этим советником
то есть использовать переменную MQL_TRADE_ALLOWED ?
допустим если большой спрэд, то запрещать торговлю(но не прекращать работу советника)
Просто я не знаю как эту переменную выставлять. Прямое присвоение 1 или 0 не получается сделать.Это состояние
https://www.mql5.com/ru/docs/runtime/tradepermission
Но управлять можно.
Нужно просто составить алгоритм программы.
В любом месте алгоритма и по любому условию можно выйти из программы командой
Здравствуйте! Я новичок в этом не лёгком деле и постоянно сталкиваюсь с новыми препятствиями. Сейчас пытаюсь написать советника, но никак не могу решить проблему с тайм фреймом индикатора который использует для входа мой советник. Суть проблемы в следующем: По условиям мне необходимо, что бы на 15 минутном тайм фрейме по индикатору Stochasstic линия Signal была ниже уровня 20. Именно на 15 мин. ТФ! По факту получается, что линия signal пересекает уровень 20 на других тайм фреймах (1;5;30 мин.) и мой советник ложно срабатывает. Мне необходимо от фильтровать все тайм фреймы и оставить только 15 мин. Что советник не учитывал пересечений на других ТФ. Буду признателен за помощь
покажите фрагмент кода, как Вы в советнике считываете сигнал с индикатора
Но управлять можно.
Нужно просто составить алгоритм программы.
В любом месте алгоритма и по любому условию можно выйти из программы командой
тогда выполнение программы прекратится, а мне надо чтобы продолжалось
видимо придется городить кучу условий
тогда выполнение программы прекратится, а мне надо чтобы продолжалось
видимо придется городить кучу условий
Что можно продолжать, если повысился спред? Если нужно продолжать, то при чём здесь спред?
(с)то запрещать торговлю(но не прекращать работу советника) = Если запрещать торговлю, то как он будет продолжать работать?, какой в этом смысл?
тогда выполнение программы прекратится, а мне надо чтобы продолжалось
видимо придется городить кучу условий
Ну правильно, это же программа)