[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 383
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это из справки, а можно ли использовать в качестве символа NULL, чтобы "смотреть" только тот инструмент, на котором работает советник?
Просто планируется несколько однотипных экспертов на разных парах.
Вот так, например:
Это из справки, а можно ли использовать в качестве символа NULL, чтобы "смотреть" только тот инструмент, на котором работает советник?
Вот так, например:
NULL не пройдет вроде.
Но Symbol() сработает =)
Доброго времени суток. Вопрос следующего содержания. В книге по MQL4, к-я находится на MQL4.community в главе "Простые программы на MQL" в разделе "Простой эксперт" приведен пример эксперта tradingexpert.mq4 следующего содержания (см. прикрепленный файл). В блоке 1-2 объявлены внешние переменные extern double StopLoss =200 и extern double TakeProfit =39. В блоке 8-9 для расчета параметров SL и TP используется вызов функции New_Stop(StopLoss) и New_Stop(TakeProfit). В блоке 11-12 имеется описание функции.
Вопрос: формальный параметр функции New_Stop имеет тип int (int Parametr), тогда как передаваемые параметры в вызове функции New_Stop(StopLoss) (New_Stop(TakeProfit)) имеют тип double… В книге по MQL4, к-я находится на MQL4.community в главе "Основы языка" в разделе "Функции", в подразделе " Свойства функций" сказано: "Количество, тип и порядок упоминания передаваемых параметров в вызове функции должны совпадать с количеством, типом и порядком упоминания формальных параметров, указанных в описании функции (исключение составляет вызов функции, имеющей умолчательные параметры - см. Вызов функции и Описание функции и оператор return". Как объяснить данное противоречие: ведь в соответствие с последним, при объявлении переменных StopLoss и TakeProfit, надо было указать тип int, а не double (компилятор никаких ошибок не выдает)?
Чтобы не захламлять форум, заранее благодарю за ответ.
приветствую, подскажите... перелопатил пол интернета, и информация разная
суть советника, это открытие позиций по разным инструментам. "В реале" работает и показывает текущие цены, но по истории прогнать не могу... функция возвращает ноль.
Что необходимо, а требуется показать текущую котировку по двум валютам EURUSD и EURCHF, например.
Вызываю текущую котировку функцией (историю прогоняю при активном графике EURUSD):
MarketInfo("EURUSD",MODE_BID) ---> получаю текущую цену
MarketInfo("EURCHF ",MODE_BID) ---> возвращает ноль
нашел на этом форуме инфу, что MarketInfo не работает на истории, используйте "iClose"
но и когда вызываю котировку функцией
iClose("EURUSD",PERIOD_M1,0) ---> получаю текущую цену
iClose("EURCHF",PERIOD_M1,0) ---> возвращает ноль
Как еще можно получить в тестере стратегий, текущие котировки на разные инстурменты? Спасибо
Тестер МТ4 не мультивалютный. Иными словами можно тестировать только одновалютные советники.
Тестер МТ4 не мультивалютный. Иными словами можно тестировать только одновалютные советники.
спасибо
спасибо
Точнее, тестировать на одном инструменте и можно использовать другие инструменты для анализа.
Или как-то так:
Доброго времени суток. Вопрос следующего содержания. В книге по MQL4, к-я находится на MQL4.community в главе "Простые программы на MQL" в разделе "Простой эксперт" приведен пример эксперта tradingexpert.mq4 следующего содержания (см. прикрепленный файл). В блоке 1-2 объявлены внешние переменные extern double StopLoss =200 и extern double TakeProfit =39. В блоке 8-9 для расчета параметров SL и TP используется вызов функции New_Stop(StopLoss) и New_Stop(TakeProfit). В блоке 11-12 имеется описание функции.
Вопрос: формальный параметр функции New_Stop имеет тип int (int Parametr), тогда как передаваемые параметры в вызове функции New_Stop(StopLoss) (New_Stop(TakeProfit)) имеют тип double… В книге по MQL4, к-я находится на MQL4.community в главе "Основы языка" в разделе "Функции", в подразделе " Свойства функций" сказано: "Количество, тип и порядок упоминания передаваемых параметров в вызове функции должны совпадать с количеством, типом и порядком упоминания формальных параметров, указанных в описании функции (исключение составляет вызов функции, имеющей умолчательные параметры - см. Вызов функции и Описание функции и оператор return". Как объяснить данное противоречие: ведь в соответствие с последним, при объявлении переменных StopLoss и TakeProfit, надо было указать тип int, а не double (компилятор никаких ошибок не выдает)?
Чтобы не захламлять форум, заранее благодарю за ответ.
Внешние параметры (extern double StopLoss =200; extern double TakeProfit =39; ), в принципе, должны быть целочисленного типа (точнее по задумке автора - это величина в пунктах). При вызове функции используется неявное приведение типов. Тип с плавающей точкой приводится к целочисленному с потерей точности. В данном случае это не принципиально: размер стопа и профита по замыслу задается в пипсах - это всегда целочисленно.
ИМХО, Код примера написан безобразно.
Использование абсолютного значения констант - очень плохой и неверный стиль, при наличии мнемонических имен.
Худший вариант из реализаций перебора ордеров: более "тормознутого" сложно придумать. Как будто специально тормоза добавляют: лишние вычисления, ненужные вызовы функций - самая дорогая по времени операция, да еще и на каждой итерации цикла. И это при том, что число ордеров не меняется внутри цикла.