Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть IV). Торговые события" - страница 2

 
BmC:

Артем, в первую очередь хочу сказать большое спасибо за серию статей и библиотеку. Я, хоть понял читая ваши статьи все про ООП! Ваши статьи действительно обучают и помогают тем кому это нужно, мне точно помогли. Ваши применения разных алгоритмов в одних и тех же местах, где можно было просто повториться, тоже очень удачны.

А теперь если можно перейду к делу:  ::GetListByTime - в этом методе вы отбираете по интервалу времени ордера для дальнейшего передачи списка программе вызывающей, в Части 3 вы пишите что:

...

Спасибо за отзыв.

Метод Sort() обязательно нужно вызывать перед каждым поиском того, или иного свойства. Методы сортировки указаны в перечислениях возможных критериев сортировки объектов в Defines.mqh. И их нужно указывать при вызове метода Sort() в случае, если нужно отсоритровать по одному из нескольких типов сортировки. В конструкторе класса устанавливается просто умолчательный тип сортировки, но при поиске свойства, это свойство нужно указать в методе Sort(ВОТ_ТУТ_НУЖНО_ВВЕСТИ_ТИП_СОРТИРОВКИ) - чтобы список был отсортирован именно по указанному свойству.

PS. Код вставляется при помощи Alt+S в редакторе сообщений:


 
Artyom Trishkin:

Спасибо за отзыв.

Метод Sort() обязательно нужно вызывать перед каждым поиском того, или иного свойства. Методы сортировки указаны в перечислениях возможных критериев сортировки объектов в Defines.mqh. И их нужно указывать при вызове метода Sort() в случае, если нужно отсоритровать по одному из нескольких типов сортировки. В конструкторе класса устанавливается просто умолчательный тип сортировки, но при поиске свойства, это свойство нужно указать в методе Sort(ВОТ_ТУТ_НУЖНО_ВВЕСТИ_ТИП_СОРТИРОВКИ) - чтобы список был отсортирован именно по указанному свойству.

PS. Код вставляется при помощи Alt+S в редакторе сообщений:


СПАСИБО. 

Вы поняли, что я очень мучился при переносе кода.)))

 
BmC:

СПАСИБО. 

Вы поняли, что я очень мучился при переносе кода.)))

Да :)

 

Здравствуйте, Господи!

Подскажите, пожалуйста: как советник находит самый большой убыток из 88 ордеров в многовидовом списке ордеров. То есть ордер с наименьшей прибылью. И вернуть номер ордера? Очень жду вашего совета! Спасибо! WeChat.QQ: 1041327590. мобильный телефон: 13276899818

 
wts130196910 :

Здравствуй, Бог!

Подскажите, пожалуйста, как советник определяет самый большой убыток из 88 ордеров в многовидовом списке ордеров. То есть ордер с наименьшей прибылью. И вернуть номер ордера? Очень жду вашего совета! Спасибо! WeChat.QQ: 1041327590. мобильный телефон: 13276899818

Как вы пытаетесь сделать это самостоятельно с помощью библиотеки? Пожалуйста, покажите ваш код.

Как вы сами это пытаетесь сделать с помощью библиотеки? Покажите ваш код, пожалуйста.

 
Похоже, что при корректировке цены стоп ордера (BUY STOP) в связи со StopLevel он между делом так же пересчитывает SL/TP и ставит их на минимальную что ли дистанцию... У меня для Buy Stop при текущей цене, не удовлетворяющей StopLevel, пересчитав цену ордера, пересчитал и SL на ту же дистанцию, что и от первоначального запроса.... То есть уровень цены buy stop поставил выше и уровень SL поставил выше. Можно ли как-то включить режим, чтоб корректировал цену открытия, но не трогал изначальные стопы. Только стопы трогать если изначальное их значение не удовлетворяет StopLimit/Freezelevel.
 
ставит их на минимальную что ли дистанцию
не на минимальную, а на дистанцию изначального ордера.
 
leonerd:
Похоже, что при корректировке цены стоп ордера (BUY STOP) в связи со StopLevel он между делом так же пересчитывает SL/TP и ставит их на минимальную что ли дистанцию... У меня для Buy Stop при текущей цене, не удовлетворяющей StopLevel, пересчитав цену ордера, пересчитал и SL на ту же дистанцию, что и от первоначального запроса.... То есть уровень цены buy stop поставил выше и уровень SL поставил выше. Можно ли как-то включить режим, чтоб корректировал цену открытия, но не трогал изначальные стопы. Только стопы трогать если изначальное их значение не удовлетворяет StopLimit/Freezelevel.
Библиотека старается выставить ордер и его стоп-уровни. Лучше после успешной его установки контролируйте уровни стопов и корректируйте. Потому, что потребностей разных много, и все их не учесть. Равно, как и уровень установки можно подкорректировать позже.
 
Artyom Trishkin:
Библиотека старается выставить ордер и его стоп-уровни. Лучше после успешной его установки контролируйте уровни стопов и корректируйте. Потому, что потребностей разных много, и все их не учесть. Равно, как и уровень установки можно подкорректировать позже.

да, понятно. Хорошо бы добавить флаг корректировки. Чтоб флаг можно было поставить корректировать в связи со StopLevel или нет. Не хочется менять код, потом всё потеряется при обновлении. Спасибо.

 
leonerd:

да, понятно. Хорошо бы добавить флаг корректировки. Чтоб флаг можно было поставить корректировать в связи со StopLevel или нет. Не хочется менять код, потом всё потеряется при обновлении. Спасибо.

Логику нужно уже в своей программе прописывать, а не менять код библиотеки. Впрочем, я подумаю над предложением. Но вряд ли быстро могу к этому вернуться чтобы сделать.