Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 509

 
Ну да, это очевидно, но не годится. Входные параметры сувать в класс это не комильфо.
 
Вадим Мотеюнас:

здравтсвуйте, подскажите почему при таком цикле у меня удаляются лимитные ордера только если после установки лимитного ордера, на след. баре не было установлено еще одного лимитного ордера, т.е лимитник удаляется только если он установлен и после этого следуют 2 бара на которых небыло лимитных ордеров

А какой ордер Вы выбрали здесь?

for(i=0;i<=OrderTicket();i++)
 
Nikolay Gaylis:

А какой ордер Вы выбрали здесь?

ошибку понял, я так же туда подставлял вместо OrderTicket() переменную ticket которой присваивался OrderSend,всеравно ничег оне удаляет,а как настроить цикл чтобы он перебирал лимитные ордера и удалял те которые остались на 2м баре?

 
Вадим Мотеюнас:

ошибку понял, я так же туда подставлял вместо OrderTicket() переменную ticket которой присваивался OrderSend,всеравно ничег оне удаляет,а как настроить цикл чтобы он перебирал лимитные ордера и удалял те которые остались на 2м баре?

Оптимально, по крайней мере Я так учил язык mql

Находите в кодобазе советник, который примерно выполняет ваши требования, смотрите код, и если код большой и не понятный - ищите следующий.

После того как нашли с более понятным кодом, приступаете к его изучению и редактированию, таким образом к вам быстро придёт понимание, что и как работает

MQL5 Code Base: Советники
MQL5 Code Base: Советники
  • www.mql5.com
В разделе торговых советников вы найдете множество приложений, автоматизирующих вашу аналитику и торговлю. Здесь вы найдете самые разные приложения, обладающие различными торговыми алгоритмами и предоставляющими различную степень автоматизации. Имеются как простенькие эксперты, так и сложные торговые роботы, способные полностью автоматизировать...
 
Juer:
Ну да, это очевидно, но не годится. Входные параметры сувать в класс это не комильфо.

Тем не менее, эти значения должны как-то попадать туда )) Ведь чаще всего работа класса основана на тех значениях, которые указывает пользователь. Но Вы, почему-то, не хотите этого делать. По волшебству они там не появятся.

Обычно входные параметры на этапе инициализации программы переносятся в специальную структуру. Чаще всего эти значения проходят предварительную обработку (как минимум, проверка на корректность). При создании нового экземпляра класса ему передается ссылка на эту структуру. В чем здесь неудобство?

 
Ihor Herasko:

Тем не менее, эти значения должны как-то попадать туда )) Ведь чаще всего работа класса основана на тех значениях, которые указывает пользователь. Но Вы, почему-то, не хотите этого делать. По волшебству они там не появятся.

Обычно входные параметры на этапе инициализации программы переносятся в специальную структуру. Чаще всего эти значения проходят предварительную обработку (как минимум, проверка на корректность). При создании нового экземпляра класса ему передается ссылка на эту структуру. В чем здесь неудобство?

Неудобство исключительно в необходимости каждый раз при создании объекта передавать эти значения. Они одинаковые каждый раз. Ну хорошо сделаю я через конструктор, но это частное решение. Для одного советника конструктор по умолчанию может быть с такими параметрами, для другого они совсем иные.

Наверное, решение может быть сделать совсем другой класс, методы которого бы возвращали значения параметров. Тогда мне достаточно будет раз проинициализировать этот новый класс. А в исходном классе при создании объекта (да хоть в том же конструкторе) запрашивать значения параметров из нового класса.

 
Juer:

Неудобство исключительно в необходимости каждый раз при создании объекта передавать эти значения. Они одинаковые каждый раз. Ну хорошо сделаю я через конструктор, но это частное решение. Для одного советника конструктор по умолчанию может быть с такими параметрами, для другого они совсем иные.

Наверное, решение может быть сделать совсем другой класс, методы которого бы возвращали значения параметров. Тогда мне достаточно будет раз проинициализировать этот новый класс. А в исходном классе при создании объекта (да хоть в том же конструкторе) запрашивать значения параметров из нового класса.

Похоже, вы героически решаете придуманную проблему.
 
Artyom Trishkin:
Похоже, вы героически решаете придуманную проблему.
Я не внимательно читал об этой проблеме, но что-то мне показалось что это те-же грабли на которые наступал я и ты мне помог их убрать с дороги. Не так-ли?
 
Alexey Viktorov:
Я не внимательно читал об этой проблеме, но что-то мне показалось что это те-же грабли на которые наступал я и ты мне помог их убрать с дороги. Не так-ли?
Не совсем так. У тебя не было желания инициализировать пустоту.
 
Artyom Trishkin:
Похоже, вы героически решаете придуманную проблему.

да, это я выше предложил фактически тот же способ, что вы со структурой, только более сложный.

-> А в исходном классе при создании объекта (да хоть в том же конструкторе) запрашивать значения параметров из нового класса.

Но в общем-то мне придётся ссылку на этот вспомогательный класс передавать в исходный класс. Короче, да, то же, что и со структурой.

Создать класс-контейнер, через который дальше создавать все эти объекты. Тогда эти параметры можно будет разово проинициализировать в этом класс-контейнере. Так и сделаю, пожалуй.

Причина обращения: