Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1600 1...159315941595159615971598159916001601160216031604160516061607...2748 Новый комментарий Tretyakov Rostyslav 2021.08.25 10:51 #15991 Nerd Trader: Увидел сейчас, что вы добавили лог. Вот и у вас тоже дублируются сообщения :) Если посмотришь на время, то увидишь что ничего не дублируется, печатает только на новом баре при наличии сигнала Tretyakov Rostyslav 2021.08.25 10:52 #15992 законопослушный гражданин: объясните пожалуйста в чем разница между функциями? for (int j = OrdersHistoryTotal()-1; j >= 0; j--) { if (OrderSelect(j, SELECT_BY_POS,MODE_HISTORY)) и int i=OrdersHistoryTotal(); for(int pos=0; pos<i; pos++) { if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)) Никакой Nerd Trader 2021.08.25 10:59 #15993 MakarFX: Если посмотришь на время, то увидишь что ничего не дублируется, печатает только на новом баре при наличии сигнала Потому что у тебя Print() только в OnTick(). Размести его в каждое условие в isCrossing() Artyom Trishkin 2021.08.25 11:07 #15994 MakarFX: Никакой Ну не совсем так. Один цикл от начала списка, второй - от конца. законопослушный гражданин 2021.08.25 11:10 #15995 MakarFX: Никакой обе функции "перебирают" из истории закрытые ордера ? Tretyakov Rostyslav 2021.08.25 11:10 #15996 Artyom Trishkin: Ну не совсем так. Один цикл от начала списка, второй - от конца. Ты прав, я не обратил внимания на порядок цикла, посмотрел только на определение OrdersHistoryTotal() Tretyakov Rostyslav 2021.08.25 11:12 #15997 законопослушный гражданин: обе функции "перебирают" из истории закрытые ордера ? Да, но одна с начала истории, а другая с конца. законопослушный гражданин 2021.08.25 11:16 #15998 MakarFX: Да, но одна с начала истории, а другая с конца. спасибо. я правильно понял, эта функция "перебирает" с конца? int i=OrdersHistoryTotal(); for(int pos=0; pos<i; pos++) { if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)) Tretyakov Rostyslav 2021.08.25 11:21 #15999 законопослушный гражданин: спасибо. я правильно понял, эта функция "перебирает" с конца? int i=OrdersHistoryTotal(); for(int pos=0; pos<i; pos++) { if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)) да PapaYozh 2021.08.25 12:25 #16000 законопослушный гражданин: спасибо. я правильно понял, эта функция "перебирает" с конца? int i=OrdersHistoryTotal(); for(int pos=0; pos<i; pos++) { if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)) Эта перебирает с нулевого индекса, т.е. с начала. 1...159315941595159615971598159916001601160216031604160516061607...2748 Новый комментарий
Увидел сейчас, что вы добавили лог. Вот и у вас тоже дублируются сообщения :)
объясните пожалуйста в чем разница между функциями?
for (int j = OrdersHistoryTotal()-1; j >= 0; j--)
{
if (OrderSelect(j, SELECT_BY_POS,MODE_HISTORY))
и
int i=OrdersHistoryTotal();
for(int pos=0; pos<i; pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
Никакой
Если посмотришь на время, то увидишь что ничего не дублируется, печатает только на новом баре при наличии сигнала
Никакой
Ну не совсем так. Один цикл от начала списка, второй - от конца.
Никакой
обе функции "перебирают" из истории закрытые ордера ?
Ну не совсем так. Один цикл от начала списка, второй - от конца.
обе функции "перебирают" из истории закрытые ордера ?
Да, но одна с начала истории, а другая с конца.
спасибо. я правильно понял, эта функция "перебирает" с конца?
int i=OrdersHistoryTotal();
for(int pos=0; pos<i; pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
спасибо. я правильно понял, эта функция "перебирает" с конца?
int i=OrdersHistoryTotal();
for(int pos=0; pos<i; pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
спасибо. я правильно понял, эта функция "перебирает" с конца?
int i=OrdersHistoryTotal();
for(int pos=0; pos<i; pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
Эта перебирает с нулевого индекса, т.е. с начала.