[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 40
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вставил в свой советник новый блок для расчёта размера лота открываемой позиции. Смысл такой:
1. Стоп ставится на High текущего дня при Sell позиции, и на Low дня при Buy позиции.
2. При срабатывании условия на открытие ордера начинает выполняться этот блок для расчёта лота. Считается расстояние до High\Low дня в пунктах, циклом перебираю лоты начиная с 0,1, для того чтобы найти нужный лот (5% при срабатывании стопа)
Но в журнале появляются такие строки:
2011.01.30 16:59:47 TestGenerator: unmatched data error (volume limit 1107 at 2011.01.13 14:45 exceeded)
Как только выключаю данный блок, то всё ок. Где я ошибаюсь? Подскажите пожалуйста.
Вот сам код:
Вряд ли сообщение тестера связано с Вашим кодом.
Попробуйте еще и еще раз пересчитать все таймфреймы в Архиве котировок.
В сообщении говорится, что объем 1107 достигнут в 14:45, что совершенно невозможно, т.к. торги продолжались до 24:00.
Впрочем, этой ошибкой вполне можно пренебречь.
При попытке компиляции включаемого файла (*.mqh) появляется ошибка '\end_of_program' - no function defined. Что не так и как это исправить?
extern double Lots = 0.0;
extern int Percent = 0;
extern int StopLoss = 100;
extern int TakeProfit = 40;
extern int TrailngStop = 100;
int Level_New;
int Level_Old;
такое бывает - и это нормально. Например, у меня в инклюде Вариаблес..mqh - указаны внешние и глобальные переменные эксперта...при компиляции пишет '\end_of_program' - no function defined, что-то типа отсутствует конец в программе, функция не определена, но при этом, когда компилирую сам эксперт, то все в порядке - 0 ошибок, 0 предупреждений. (*.mqh) - отдельно компилировать не надо, при компиляции самого эксперта компилятор разместит все его инклюды вместе и там уже будет решать - есть ли ошибки, нет ли ошибок и т.д. :-))) Так что все нормуль. Попробуйте компилить Самого...
П.С. При компиляции других инклюдов компилятор может писать, что какая-либо глобальная переменная не определена... Конечно, она и не должна быть определена, если она у Вас забита совершенно в другом инклюде. Обращаю внимание на порядок размещения инклюдов... Если переменная определена в одном, а используется в другом инклюде, то необходимо первый инклюд по тексту размещать раньше второго, иначе будет получена ошибка при компиляции - такая-то переменная не определена, вообще все глоб перем определяют в самом внешнем инклюде. Либо же как вариант их можно определять в любом другом, если эти переменные использует только он. Как-то так... Сумбурно, но должно быть понятно. Пробуйте.
Вряд ли сообщение тестера связано с Вашим кодом.
Попробуйте еще и еще раз пересчитать все таймфреймы в Архиве котировок.
В сообщении говорится, что объем 1107 достигнут в 14:45, что совершенно невозможно, т.к. торги продолжались до 24:00.
Впрочем, этой ошибкой вполне можно пренебречь.
Не вопрос... Но Как определить текущее значение ТФ в коде?
Period() поможет
Рассмотрел обложку УЧЕБНИКА со всех сторон и все равно ничего не понял...)))
Везде вижу, что пишут так:
Справедливо ли нижеприведенное написание, если я хочу получить Price = OrderOpenPrice() для дальнейшей обработки и установки Стопов?
Оно у меня работает, но допустимо ли такое?
Ваша строчка также справедлива, как и первая.
Таким образом Вы можете получить любую информацию об открытом ордере,
но только один раз в момент подтверждения открытия.
Cм. https://docs.mql4.com/ru/trading/OrderSend
Ну ведь когда закоментировал этот блок то всё нормально в тестере идёт. Значит ошибка в этом блоке...
Скорее всего, из-за Вашего обращения к данным дня, которые по объему не согласованы с минутками,
и тестер Вас об этом предупреждает.Может кто то лучше сможет?
1. Стоп ставится на High дня при Sell позиции.
2. Дальше вычисляем расстояние в пунктах от текущей цены до High дня.
3. Считаем сколько это расстояние будет в $ при 0,1 лоте и считаем сколько это будет в % от депозита. Если будет меньше чем 5%, то считаем для 0,2 лота и т.д. пока не превысит 5%.
И тогда это и будет тот размер лота, который нужен.
Мой код почему то не пашет....хотя вроде бы всё верно написано.
КТО ЗНАЕТ?
как программно обратиться с Болинджеру, в котором указано - применить к "Previous Indicator's Data" ? что ставить в поле applied_price?спасибо
Всем доброго времени суток. Вопрос такой: Как заставить работать CheckEvents ? Файл Events (от Komposter) находится в директории include. Есть пример в EventsExpert.mq4:
Но мне не нужен Alert. Мне нужно чтобы при закрытии рыночного ордера по СтопЛоссу удалялся отложенный .
Что прописать вместо Alert? Если конечно данная функция подходит для этой задачи.