У меня так if(X>Level) действие.А мне нужно. if(X=Level_1 "затем с течением времени"X>Level_2) действие.Помогите пожалуйста с кодом.
- Пожалуйста помогите с кодом
- [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
- Как правильно обновить пользовательский символ?
ardman2222
Если я правильно Вас понял:
Если я правильно Вас понял:
bool SomeFunction(int X, int Level1, int Level2, int Times) { bool result = false; if (TimeLocal() < Times && X > Level1) result = true; else if (TimeLocal() > Times && X > Level2) result = true; return (result); }где "Times" - время, после которого необходимо сменить условие.
voix_kas >>:
ardman2222
Если я правильно Вас понял:
где "Times" - время, после которого необходимо сменить условие.
ardman2222
Если я правильно Вас понял:
где "Times" - время, после которого необходимо сменить условие.
Спосибо что пытаетесь помочь.Но немного не так само время здесь не причом.Мне нужно в условии чтоб Х прежде чем выполнить действие на уровне 2 побывала на уровне 1.Если оно там не будет то соответственно и действие не выполняется.
Попробуйте максимально формализовать условие. Без предположений и домыслов со стороны программиста.
Пока что насколько понял:
Пока что насколько понял:
bool SomeFunction(int X, int Level1, int Level2, int Times) { bool result = false; if (X > Level1) result = true; if (result && TimeLocal() > Times && X <= Level2) result = false; return (result); }
Попробую так .Линия индекатора поднимается снизу вверх.На расстоянии 0.001 по обе стороны от сигнальной 0.0 стоят уровни. Соответственно 0.001 =Х покупка и -0.001=Х продажа.Линия(далееХ) Х = -0.001 открывает продажу что не правельно.Нужно чтоб Х=-0.0005 зате если линия разворачивается и Х=- 0.001 продажа.Если не разворачивается что чаще происходит на Х=0.001 покупка.
Пока что понял следующее:
1. Если сигнальная линия поднимается (снизу вверх) выше некоторого уровня (касается или пересекает его), открываем покупку.
2. Если сигнальная линия понижается (сверху вниз) ниже некоторого уровня (касается или пересекает его), открываем продажу.
На основании это следующий код:
"LevelHigh" - уровень, при превышении/касании которого, открываем длинную позицию.
"LevelLow" - уровень, при снижении/касании которого, открываем длинную позицию.
"CurLevel" - текущее значение сигнальной линии.
"PrevLevel" - предыдущее значение сигнальной линии.
Уточняйте ТЗ.
1. Если сигнальная линия поднимается (снизу вверх) выше некоторого уровня (касается или пересекает его), открываем покупку.
2. Если сигнальная линия понижается (сверху вниз) ниже некоторого уровня (касается или пересекает его), открываем продажу.
На основании это следующий код:
void SomeFunction(double LevelHigh, double LevelLow, double CurLevel, double PrevLevel) { if (CurLevel >= LevelHigh && CurLevel > PrevLevel) ; // открытие ордера на покупку... else if (CurLevel <= LevelLow && CurLevel < PrevLevel) ; // открытие ордера на продажу... }Где:
"LevelHigh" - уровень, при превышении/касании которого, открываем длинную позицию.
"LevelLow" - уровень, при снижении/касании которого, открываем длинную позицию.
"CurLevel" - текущее значение сигнальной линии.
"PrevLevel" - предыдущее значение сигнальной линии.
Уточняйте ТЗ.
Мде...
Если по существу, вероятно, эту строку:
Собственно, предположу, что такие элементарные ошибки свидетельствуют о незнании языка программирования (MQL4).
Посему, на Вашем месте, я бы сначала выучил язык, а уже потом брался за написание алгоритма МТС. Либо доверил профессионалам "оцифровку" советника (кодинг) по Вашей стратегии.
В противном случае, не имея представления о последствиях вставленного кода, Ваш советник превращается в "черный ящик псевдослучайного действия".
Если по существу, вероятно, эту строку:
double OUT=iCustom(NULL,0,"CFP",B,M,P,F,S,1,0);надо заменить следующими (если анализируете текущий (еще не сформировавшийся) бар):
CurLevel = iCustom(NULL,0,"CFP",B,M,P,F,S,1,0); PrevLevel = iCustom(NULL,0,"CFP",B,M,P,F,S,1,1);Немного лирики...
Собственно, предположу, что такие элементарные ошибки свидетельствуют о незнании языка программирования (MQL4).
Посему, на Вашем месте, я бы сначала выучил язык, а уже потом брался за написание алгоритма МТС. Либо доверил профессионалам "оцифровку" советника (кодинг) по Вашей стратегии.
В противном случае, не имея представления о последствиях вставленного кода, Ваш советник превращается в "черный ящик псевдослучайного действия".
voix_kas >>:
Пока что понял следующее:
1. Если сигнальная линия поднимается (снизу вверх) выше некоторого уровня (касается или пересекает его), открываем покупку.
2. Если сигнальная линия понижается (сверху вниз) ниже некоторого уровня (касается или пересекает его), открываем продажу.
На основании это следующий код:
Где:
"LevelHigh" - уровень, при превышении/касании которого, открываем длинную позицию.
"LevelLow" - уровень, при снижении/касании которого, открываем длинную позицию.
"CurLevel" - текущее значение сигнальной линии.
"PrevLevel" - предыдущее значение сигнальной линии.
Уточняйте ТЗ.
Пока что понял следующее:
1. Если сигнальная линия поднимается (снизу вверх) выше некоторого уровня (касается или пересекает его), открываем покупку.
2. Если сигнальная линия понижается (сверху вниз) ниже некоторого уровня (касается или пересекает его), открываем продажу.
На основании это следующий код:
Где:
"LevelHigh" - уровень, при превышении/касании которого, открываем длинную позицию.
"LevelLow" - уровень, при снижении/касании которого, открываем длинную позицию.
"CurLevel" - текущее значение сигнальной линии.
"PrevLevel" - предыдущее значение сигнальной линии.
Уточняйте ТЗ.
Спасибо попробую.
voix_kas >>:
Мде...
Если по существу, вероятно, эту строку:
надо заменить следующими (если анализируете текущий (еще не сформировавшийся) бар):
Немного лирики...
Собственно, предположу, что такие элементарные ошибки свидетельствуют о незнании языка программирования (MQL4).
Посему, на Вашем месте, я бы сначала выучил язык, а уже потом брался за написание алгоритма МТС. Либо доверил профессионалам "оцифровку" советника (кодинг) по Вашей стратегии.
В противном случае, не имея представления о последствиях вставленного кода, Ваш советник превращается в "черный ящик псевдослучайного действия".Спасибо я только учусь пока по книге Ковалёва.
Мде...
Если по существу, вероятно, эту строку:
надо заменить следующими (если анализируете текущий (еще не сформировавшийся) бар):
Немного лирики...
Собственно, предположу, что такие элементарные ошибки свидетельствуют о незнании языка программирования (MQL4).
Посему, на Вашем месте, я бы сначала выучил язык, а уже потом брался за написание алгоритма МТС. Либо доверил профессионалам "оцифровку" советника (кодинг) по Вашей стратегии.
В противном случае, не имея представления о последствиях вставленного кода, Ваш советник превращается в "черный ящик псевдослучайного действия".Спасибо я только учусь пока по книге Ковалёва.

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь