bool OrderClose(int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметры:
ticket
-
Уникальный порядковый номер ордера.
lots
-
Количество лотов для закрытия.
price
-
Цена закрытия.
slippage
-
Значение максимального проскальзывания в пунктах.
Color
-
Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелка на графике не отображается.
bool OrderCloseBy(int ticket, int opposite, color Color=CLR_NONE)
Закрытие одной открытой позиции другой позицией, открытой по тому же самому инструменту, но в противоположном направлении. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметры:
ticket
-
Уникальный порядковый номер закрываемого ордера.
opposite
-
Уникальный порядковый номер противоположного ордера.
Color
-
Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелка на графике не отображается.
bool OrderClose(int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметры:
ticket
-
Уникальный порядковый номер ордера.
lots
-
Количество лотов для закрытия.
price
-
Цена закрытия.
slippage
-
Значение максимального проскальзывания в пунктах.
Color
-
Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелка на графике не отображается.
bool OrderCloseBy(int ticket, int opposite, color Color=CLR_NONE)
Закрытие одной открытой позиции другой позицией, открытой по тому же самому инструменту, но в противоположном направлении. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметры:
ticket
-
Уникальный порядковый номер закрываемого ордера.
opposite
-
Уникальный порядковый номер противоположного ордера.
Color
-
Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелка на графике не отображается.
Соответственно увеличивается и количество неблагоприятных факторов вдвое на одну позицию.
Зачем?
Да, Вы написали исчерпывающе подробно, но, тем не менее, я не увидел разницы.
А именно: отправить запрос на открытие лота (мой вариант) или команду на закрытие части лота (Ваш вариант) подвергаются одному и тому же риску реквоты и проскальзывания.
А закрытие по OrderCloseBy() не несет никакого риска, так как реквоты и проскальзывания теперь уже не имеют значения, ибо после открытия лота (мой вариант), де факто они не существуют, т.е взаимно исключают друг друга.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
А подумать над кодом функции? Найдите четыре отличия :) :
нашел ....отличия...))))) ух-ха...я просто в учебнике закапался по программированию говова не варит))
как закрыть ордер частично? просто изменить объем сделки с OrderModify?
как закрыть ордер частично? просто изменить объем сделки с OrderModify?
Открыть противоположный ордер лотом меньше. Разница - остаток, который должен продолжить существование.
Противоположный лот и часть существующего лота закрыть функцией OrderCloseBy().
Открыть противоположный ордер лотом меньше. Разница - остаток, который должен продолжить существование.
Противоположный лот и часть существующего лота закрыть функцией OrderCloseBy().
В пятёрке такой фокус не пройдёт. Не забывайте о реквотах и проскальзываниях тоже...
Простите, в какой пятёрке? )) Мы на MQL4.
Реквоты и проскальзывания не учитываю как естественный фактор. Суть не меняется.
Простите, в какой пятёрке? )) Мы на MQL4.
Реквоты и проскальзывания не учитываю как естественный фактор. Суть не меняется.
Делайте что хотите - ваш выбор сделать две операции вместо одной.
"две операции вместо одной" - поподробнее, пожалуйста. Может оказаться полезным.
Для частичного закрытия позиции лотом 1.0 можно сделать одну операцию, закрыв её меньшим лотом, например 0.5.
Стандартная функция:
__________________________________________________________________________________________________
bool OrderClose( int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().__________________________________________________________________________________________________
Вы же предлагаете сделать две операции:
1. Открыть противоположную позицию меньшим лотом;
2. Встречно их закрыть, чтобы осталась та позиция, лот которой был больше.
__________________________________________________________________________________________________
bool OrderCloseBy( int ticket, int opposite, color Color=CLR_NONE)
Закрытие одной открытой позиции другой позицией, открытой по тому же самому инструменту, но в противоположном направлении. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError()._________________________________________________________________________________________________
Соответственно увеличивается и количество неблагоприятных факторов вдвое на одну позицию.
Зачем?
Для частичного закрытия позиции лотом 1.0 можно сделать одну операцию, закрыв её меньшим лотом, например 0.5.
Стандартная функция:
__________________________________________________________________________________________________
bool OrderClose( int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().__________________________________________________________________________________________________
Вы же предлагаете сделать две операции:
1. Открыть противоположную позицию меньшим лотом;
2. Встречно их закрыть, чтобы осталась та позиция, лот которой был больше.
__________________________________________________________________________________________________
bool OrderCloseBy( int ticket, int opposite, color Color=CLR_NONE)
Закрытие одной открытой позиции другой позицией, открытой по тому же самому инструменту, но в противоположном направлении. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError()._________________________________________________________________________________________________
Соответственно увеличивается и количество неблагоприятных факторов вдвое на одну позицию.
Зачем?
Да, Вы написали исчерпывающе подробно, но, тем не менее, я не увидел разницы.
А именно: отправить запрос на открытие лота (мой вариант) или команду на закрытие части лота (Ваш вариант) подвергаются одному и тому же риску реквоты и проскальзывания.
А закрытие по OrderCloseBy() не несет никакого риска, так как реквоты и проскальзывания теперь уже не имеют значения, ибо после открытия лота (мой вариант), де факто они не существуют, т.е взаимно исключают друг друга.