Советник FOREX: от идеи до результата — Страница 9 — Тирметод

Пользовательские функции: открытие ордеров

Продолжаем создавать пользовательские функции.

Функция, открывающая сделки

Функция, которая не возвращает значения, должна быть описана как имеющая тип 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

Укажем параметры для ордеров на покупку, см. инструкции внутри составного оператора {}, см. строки 196206.

Тип OP_SELL

Укажем параметры для ордеров на продажу, см. инструкции внутри составного оператора {}, см. строки 209219.

Ещё раз о нумерации строк

Естественно, что нумерация строк заключительной части кода пользовательской функции OpenOrders() обновится, см. строки 220228.

{Продолжение следует}