Пользовательские функции: открытие ордеров
Продолжаем создавать пользовательские функции.
Функция, открывающая сделки
Функция, которая не возвращает значения, должна быть описана как имеющая тип void.
Функция OrderSend()
OrderSend() – основная функция, используемая для совершения торговых операций или установки отложенного ордера.
Параметры
- [string] Symbol() – Наименование финансового инструмента, с которым проводится торговая операция.
- [int] cmd – Торговая операция. Может быть любым из значений торговых операций.
- [double] lot – Количество лотов.
- [double] price – Цена открытия.
- [int] slip – Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу).
- [double] sl – Цена закрытия ордера при достижении уровня убыточности (0 в случае отсутствия уровня убыточности).
- [double] tp – Цена закрытия ордера при достижении уровня прибыльности (0 в случае отсутствия уровня прибыльности).
- [string] “” – Текст комментария ордера. Последняя часть комментария может быть изменена торговым сервером.
- [int] MAGIC_EA – Магическое число ордера. Может использоваться как определяемый пользователем идентификатор.
- [datetime] 0 – Срок истечения отложенного ордера.
- [color] clr – Цвет открывающей стрелки на графике. Если параметр отсутствует или его значение равно CLR_NONE, то открывающая стрелка не отображается на графике.
Функция GetLastError()
Функция GetLastError() возвращает содержимое системной переменной _LastError.
Составной оператор {} нужен, если предполагается добавить ещё инструкции, кроме Print(), см. строку 199, иначе можно закомментировать или удалить вообще строки 198 и 200.
Также можно удалить или закомментировать строку 204, где указана инструкция с оператором return, который необязателен в функциях с типом void.
Параметры торговых операций
Тип операций для функции OrderSend() может быть любым из следующих величин:
Константа | Значение | Описание |
OP_BUY | 0 | Покупка |
OP_SELL | 1 | Продажа |
OP_BUYLIMIT | 2 | Отложенный ордер BUY LIMIT |
OP_SELLLIMIT | 3 | Отложенный ордер SELL LIMIT |
OP_BUYSTOP | 4 | Отложенный ордер BUY STOP |
OP_SELLSTOP | 5 | Отложенный ордер SELL STOP |
Нас не интересуют (пока) типы отложенных ордеров. Поэтому укажем условные операторы на покупку и на продажу.
Тип OP_BUY
Укажем параметры для ордеров на покупку, см. инструкции внутри составного оператора {}, см. строки 196—206.
Тип OP_SELL
Укажем параметры для ордеров на продажу, см. инструкции внутри составного оператора {}, см. строки 209—219.
Ещё раз о нумерации строк
Естественно, что нумерация строк заключительной части кода пользовательской функции OpenOrders() обновится, см. строки 220—228.
{Продолжение следует}