Как заработать деньги. Проект сам себе финансист.
сентябрь 2011
пн вт ср чт пт сб вс
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Главная » » »

OrderLots() - количество лотов в выделенном ордере или позиции

В последующих функциях мы рассмотрим торговые функции, с помощью которых можно открывать/закрывать позиции, размещать/модифицировать и удалять ордера:

Очень часто необходимо указать количество лотов открытой позиции или отложенного ордера. Самой простой вариант получить это значение - это выделить позицию или ордер с помощью функции OrderSelect(), а потом вызвать функцию OrderLots().

   double OrderLots()

Функция возвращает количество лотов в выделенном ордере или позиции.

Как я уже сказал, основное применение функции - передать количество лотов в качестве параметра в функции OrderClose() и OrderModify().

Забегая вперед, расскажу о формате функции OrderClose():

bool OrderClose(int ticket, double lots, double price, int slippage, color Color=CLR_NONE)

Где:

  • ticket - тикер ордера или позиции;
  • lots - количество лотов для закрытия позиции;
  • price - цена закрытия;
  • slippage - значение максимального проскальзывания в пунктах;
  • color - цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелка на графике не отображается.

Как Вы видите, в качестве второго параметра нам нужно передать в функцию количество лотов. Самый простой способ сделать это - получить количество лотов с помощью функции OrderLots():

   // закрыть позицию с тикером 77777 по текущей цене
// предположим, что позиция уже выделена с помощью OrderSelect
// и мы точно знаем, что это открытая позиция
if (OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, 3);
else
OrderClose(OrderTicket(), OrderLots(), Bid, 3);

В этом примере нам встретились две предопределенные переменные типа double:

  • Bid - бид последней котировки по текущему инструменту (к которому прикреплен советник);
  • Ask - аск последней котировки по текущему инструменту.

В следующих выпусках мы продолжим знакомство с торговыми функциями.

Хомячковый рай. Уйти и потеряться:

Приоритеты операций и порядок выполнения выражений

В прошлых выпусках я рассказал о следующих типах операций в выражении:

Зачастую в выражении можно встретить сразу несколько операций. Возникает вопрос - в какой последовательности эти операции будут выполняться. Это очень важный вопрос, ведь от этого зависит конечный результат, который мы в итоге получим.

Разобьем операции по группам в порядке уменьшения приоритетов.

  • 1-я группа (наивысший приоритет). Вызов функции и доступ к элементу массива (например, a[7]).

  • 2-я группа. Операции с одним операндом:
    • логическое отрицание (!);
    • побитовое отрицание (~);
    • прибавление единицы (++);
    • вычитание единицы (--);
    • изменение знака на противоположный (-).
  • 3-я группа. Побитовые операции:
    • побитовая операция И (&);
    • побитовая операция ИЛИ (|);
    • побитовая операция исключающее ИЛИ (^);
    • побитовый сдвиг вправо (>>);
    • побитовый сдвиг влево (<<).
    < /li>
  • 4-я группа. Ряд арифметических операций:
    • умножение (*);
    • деление (/);
    • получение остатка от деления (%).
  • 5-я группа. Оставшиеся арифметические операции:
    • сложение (+);
    • вычитание (-).
  • 6-я группа. Операции отношения:
    • больше (>);
    • больше или равно (>=);
    • меньше (<);
    • меньше или равно (<=);
    • равно (=);
    • не равно (!=).
  • 7-я группа. Логическая операция И (&&).

  • 8-я группа. Логическая операция ИЛИ (||).

  • 9-я группа. Операция присваивания и объединенные арифметические и побитовые операции с операцией присваивания:
    • операция присваивания (=);
    • сложение с присваиванием (+=);
    • вычитание с присваиванием (-=);
    • умножение с присваиванием (*=);
    • деление с присваиванием (/=);
    • остаток от деления с присваиванием (%=);
    • побитовая операция "И" с присваиванием (&=);
    • побитовая операция "ИЛИ" с присваиванием (|=);
    • побитовая операция исключающее "ИЛИ" с присваиванием (^=);
    • побитовый сдвиг влево с присваиванием (<<=);
    • побитовый сдвиг вправо с присваиванием (>>=).

Сначала выполняются все операции первой группы, потом все операции второй группы и т.д. до девятой группы операций. Если в выражении присутствует несколько операций, принадлежащих одной группе, то они выполняются слева направо. Единственное исключение - операции второй и девятой групп - они выполняются справа налево.

Бывают случаи, когда Вам нужно изменить порядок выполнения операций по умолчанию. В этом случае Вы должны использовать круглые скобки () - они имеют наивысший приоритет.

Пример выражения:

   a = 5 + 6 * 3;     // переменной a будет присвоено значение 23
   a = ( 5 + 6 ) *3; // переменной a будет присвоено значение 33

В следующем выпуске мы продолжим анализ кода функции init() нашего первого эксперта и расскажу об условном операторе if-else.

Хомячковый рай. Уйти и потеряться:

Объединение арифметических и побитовых операций с операцией присваивания

В прошлых выпусках мы рассмотрели арифметические и побитовые операции. Помимо этого мы познакомились и с оператором присваивания.

В синтаксисе MetaQuotes Language 4 - языка написания советников - есть возможность объединить арифметические и побитовые операции с операцией присваивания.

Объединение арифметических и побитовых операций с операцией присваивания

Операция
Пример
Эквивалент
 Сложение j и k 
j += k
j = j + k
 Вычитание второго аргумента (k) из первого (j) 
j -= k
j = j - k
 Умножение j и k 
j *= k
j = j * k
 Получить частное от деления j на k 
j /= k
j = j / k
 Получить остаток от деления j на k 
j %= k
j = j % k
 Сдвиг двоичного представления j на k бит вправо 
j >>= k
j = j >> k
 Сдвиг двоичного представления j на k бит влево 
j <<= k
j = j << k
 Побитовая операция И двоичных представлений j и k 
j &= k
j = j & k
 Побитовая операция ИЛИ двоичных представлений j и k 
j |= k
j = j | k
 Побитовая операция исключающее ИЛИ двоичных представлений j и k 
j ^= k
j = j ^ k

В следующем выпуске вы узнаете о приоритетах операций и порядке их исполнения.

Хомячковый рай. Уйти и потеряться:


Есть что сказать? Не стесняйтесь!






Последние статьи:

Выгодные «исламские счета» для трейдеров Форекс Выгодные «исламские счета» для трейдеров Форекс Таким образом, вне зависимости от стиля работы стоит использовать «исламские счета» и сотрудничать с компаниями, которые не берут с трейдеров swap-комиссии. ..
2014-09-29
Стоит ли покупать чужие торговые сигналы и прогнозы? Стоит ли покупать чужие торговые сигналы и прогнозы? И все же основным нашим советом станет отказ от покупки торговых сигналов и прогнозов. Куда лучше научиться анализировать валютный рынок и думать всегда только своей головой. ..
2015-02-12

Видео по теме:




В мире больших денег

  • Самые богатые люди
    планеты. Ежегодные рейтинги FORBS. Истории успеха признаных финансовых гуру
  • Самые дорогие вещи:
    Часы, автомобили, ноутбуки стоимотью в десятки и сотни тысяч долларов. Рубрика "Чтоб я так жил"
  • Денежные прогнозы
    Что покупать и что продавать? Периодические прогнозы цен на иностранные валюты, акции крупнейших компаний и драгоценные металлы

ВКонтакте с деньгами

УГОЛОК АДМИНИСТРАТОРА