Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Загружай коды из Библиотеки MQL5 через MetaTrader. Это удобно!
Юрий Макаров
358
Юрий Макаров 2006.03.10 13:35 
Попытался применить эту функцию, и такая непонятность обнаружилась.

Вот кусок кода:
................. if (cntBuy > 1 && cntSell > 1) { WaitOrderTimeOut(); if(IsTradeAllowed()) if (!OrderCloseBy(ticketBuy, ticketSell)) Print("OrderCloseBy (",ticketBuy," <=> ",ticketSell,") Error: ",GetLastError()); } ...............


Вот результат работы (во вложенной картинке).
Buy позиции закрываются Sell позициями (см. код).
Почему то у всех Sell позиций число лотов стало нулевым, и соответственно профиты тоже.
Изначально все позиции одинакового размера.
Так и должно быть, или это ошибка?

И кстати еще момент,
при генерации отчета в html позиции идут в непонятном порядке.
Чтобы сделать понятную картинку пришлось открывать отчет в экзеле и сортировать его.
Файлы:
untitled.gif 4 kb
Slawa
Модератор
6682
Slawa 2006.03.10 14:09  
О чём идёт речь - о тестировании или реальной работе?
Юрий Макаров
358
Юрий Макаров 2006.03.10 14:12  
Эксперт работает в онлайне на демо счете в Альпари.
MetaQuotes
Админ
24472
Renat Fatkhullin 2006.03.10 18:15  
Все верно - CloseBy так и работает, что второй ордер обнуляется. Это же обоюдное схлопывание позиций.
Попробуйте вручную тоже самое провести.
Юрий Макаров
358
Юрий Макаров 2006.03.11 08:24  
Renat:
Все верно - CloseBy так и работает, что второй ордер обнуляется. Это же обоюдное схлопывание позиций.
Попробуйте вручную тоже самое провести.
Да, я проверил руками, баланс похож.
Но как то нелогично это ...

Был Sell по USDDKK, и вдруг его как бы небыло ...
Не то чтобы не стало (закрылся), а и небыло никогда (размер позы 0).
И как теперь узнать какой был размер позы?
Получается что данные в отчетах меняются задним числом?

Если баланс по Sell получился нулевой, тогда должен измениться баланс по Buy.
Размер позиции не изменился, цена входа тоже ...
Тогда либо цена выхода должна измениться, либо баланса по строке не будет (профит не сойдется).
Если изменилась цена выхода, то будут возникать вопросы типа - "а не было такой цены в это время .."
Если баланс не сходится, вопросов еще больше будет.

В общем как то это все ...... странно.
Или я чего то не понял ...

Не проще ли было просто по OrderCloseBy () закрыть обе позиции по маркету?
В отчете появились бы две обычные всем понятные строчки ...

И вообще ничего выдумывать не нужно, одна поза закроется по биду, другая по аску.
Размер поз может быть даже разным, и даже символ может быть разным :)
И даже поз могло бы быть в списке не две, а целый список ... :)
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий