Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1076
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте. Могли бы вы мне помочь, если есть время Вопрос такой, мне нужно, что бы советник открывал ордер по каждому сигналу двух индикаторов, (они дают сигнал при их определённом сочетании) одним словом, в рынке должно быть несколько ордеров на покупку или на продажу, соответственно, согласно сигналам индикаторов. А в рынке у меня только один ордер и пока он не закроется следующий не открывается…… Дело в подсчёте ордеров? Подскажите пожалуйста. Если потребуется могу выслать код.
Заранее благодарю!
уберите условия "if (OrdersTotal()==0)...." - они как раз-то и говорят: ищем входы и открываем новые ордера только когда ордеров нет вообще.
а чтобы без такого условия не открывалась сразу большая пачка новых - надо придумывать доп.условие. А это уже от вашей стратегии: не открывать новый в течении времени T от предыдущего или контроллировать бары или соблюдать дистанции в пунктах меж ордерами..
Здравствуйте. Начну с большого спасибо за то, что помогаете новичкам. Я бы не смог день за днем отвечать на элементарные для себя вопросы то одному новичку, то другому.
А вопрос такой:
Раньше, когда mql4 был чуть другим, считалось, что любую обработку ордера, типа отрыть/закрыть/модифицировать после обработки возможной ошибки необходимо прерывать проход функцией return(0); Из-за этого на тестере (при методе с каждым тиком, фрейм -- минута), если нужно было одновременно закрыть по текущей цене несколько открытых ордеров, то закрывались они тестером по очереди на каждом новом баре, что несколько искажало реальную картину (порой, довольно сильно). В новом советнике нужно закрывать несколько ордеров именно по сигналу да еще и частично.
вопрос: возможно ли в цикле обработать их все (частично закрыть) не прерывая каждый раз проход? Прожует ли это тестер? Т.е. сможет ли он на одном баре частично закрыть их все?
Здравствуйте. Начну с большого спасибо за то, что помогаете новичкам. Я бы не смог день за днем отвечать на элементарные для себя вопросы то одному новичку, то другому.
А вопрос такой:
Раньше, когда mql4 был чуть другим, считалось, что любую обработку ордера, типа отрыть/закрыть/модифицировать после обработки возможной ошибки необходимо прерывать проход функцией return(0); Из-за этого на тестере (при методе с каждым тиком, фрейм -- минута), если нужно было одновременно закрыть по текущей цене несколько открытых ордеров, то закрывались они тестером по очереди на каждом новом баре, что несколько искажало реальную картину (порой, довольно сильно). В новом советнике нужно закрывать несколько ордеров именно по сигналу да еще и частично.
вопрос: возможно ли в цикле обработать их все (частично закрыть) не прерывая каждый раз проход? Прожует ли это тестер? Т.е. сможет ли он на одном баре частично закрыть их все?
Сможет без проблем при одном маленьком условии. Код должен быть написан правильно.
Если есть 2 функции(возможно перегруженные) к примеру int Funkz(int a) int Funkz(int a, int b, int w), и дальше программа откомпилирована, какая функция сработает быстрее, первая учитывая то что у неё один аргумент или это не имеет значения т.к. программа уже собрана и происходит то что описано в теле, или всё таки маленькое влияние есть ведь аргументы функции представляют собой стэк на который резервируется память?
если у вас в коде есть две одноименные функции с разным количеством аргументов, то вопрос не стоит в том, какая будет вызвана быстрее. ведь вызывая функцию вы не пишете Funkz(), Вы указываете количество аргументов. укажете 1 вызовется одна, укажете 3 -- другая.
вопрос в том, прожует ли компилятор такие одноименные функции.
речь, как я понимаю, не о коде, а о откомпилированном файле?
если у вас в коде есть две одноименные функции с разным количеством аргументов, то вопрос не стоит в том, какая будет вызвана быстрее. ведь вызывая функцию вы не пишете Funkz(), Вы указываете количество аргументов. укажете 1 вызовется одна, укажете 3 -- другая.
вопрос в том, прожует ли компилятор такие одноименные функции.
речь, как я понимаю, не о коде, а о откомпилированном файле?
А если функции разные то что тогда, какая быстрее сработает с малым или большим количеством аргументов? Мне кажется перегрузка с разным количеством тоже несёт нагрузку или это для удобства сделано?
Подскажите пожалуйста как правильно написать #define ?
Пишу так
#define my_POS cst_Position.my_Position
Если поменять эту конструкцию на деф - всё работает.
Но когда я просто пишу my_POS. , то после точки не выпадает список функций.
То же и для
#define pos_DATA cst_Position.getPositionData
после pos_DATA( нет никаких подсказок.
Что я делаю не так?
Здравствуйте, уважаемые эксперты!
Помогите, пожалуйста решить проблему.
При тестировании любой пары все работает правильно, но при работе с остальными валютами, отложенные ордера не выставляются (приходится выставлять вркчную) и не закрываются после срабатывания тейк профита.
Если можно, подскажите как изменить код:
Спасибо большое заранее
Здравствуйте, уважаемые эксперты!
Помогите, пожалуйста решить проблему.
...Пожалуйста, правильно вставляйте код: