Эта функция возвращает номер бара закрытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами:
sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - NULL означает текущий рыночный инструмент.
tf - Таймфрейм. Значение по умолчанию - 0 означает текущий таймфрейм.
op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию.
mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает номер бара закрытия последней позиции или -1. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| tf - таймфрейм ( 0 - текущий таймфрейм) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+intNumberOfBarCloseLastPos(stringsy="0", inttf=0, intop=-1, intmn=-1){datetimet;
inti, k=OrdersHistoryTotal();
if(sy=="" || sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){if(OrderSymbol()==sy){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(op<0 || OrderType()==op){if(mn<0 || OrderMagicNumber()==mn){if(t<OrderCloseTime())t=OrderCloseTime();
}}}}}}return(iBarShift(sy, tf, t, True));
}
ЗЫ. Во вложении скрипт для тестирования функции NumberOfBarCloseLastPos().
Функция DeleteOrders() предназначена для удаления отложенных ордеров BuyLimit, BuyStop, SellLimit и SellStop. op - Тип торговой операции, тип отложенного ордера. Возможны одно из пяти значений: -1, OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT или OP_SELLSTOP. Значение по умолчанию -1 - означает любой ордер. mn - MagicNumber, идентификационный номер отложенного ордера. Значение по умолчанию -1 - означает любой магик.
Здравствуйте. На 10 страничке эта функция выставлена для применения.
Применила в своем эксперте для удаления отложек. Вернее хотела применить. Расположила функцию вне раздела int start
Rita писал (а): Но при компиллировании выходит ошибка 'clDelete' - variable not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1155, 40) Как мне ошибку устранить? что это такое - clDelete
Там же, на 10 странице во вложении есть файл test_DeleteOrders.mq4
Скачайте его и поищите в нём все упоминания clDelete.
'ClosePosBySelect' - function is not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (905, 47) И скрипта там рядом (стр. 14) нет, чтобы посмотреть
Извините, что ещё раз побеспокою! Поставила рядышком с ClosePositions(), указанную вами функцию ClosePosBySelect() и после компеллирования появились уже шесть ошибок! Ну прям зла не хватает!
С четырмя я справилась сама. Проскальзывание, цвет, число попыток закрытия....Остались две ошибки, -
звуковые файлы -
'UseSound' - variable not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1002, 13)
'NameFileSound' - variable not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1002, 33)
Откуда их брать? Куда ставить?
Ну extern bool UseSound = false;//Выключатель
я поставлю в СВОЙСТВА ЭКСПЕРТА, а NameFileSound' - это что? и где брать?
Похоже так и будут эти ошибки бесконечно вылезать. Чтобы использовать одну функцию ClosePositions(), пришлось сначала поставить другую - ClosePosBySelect(). А другая в свою очередь требует каких то звуков - бубенчиков. А когда я нахожу с большим трудом эти совершенно ненужные мне звуки-бубенчики, то вылезает совсем уж непонятная ошиба -'else' - unexpected token и др. ошибки. А я ещё даже не начала использовать эту функцию. Только лишь поставила в числе прочих.!
Подскажите, как мне исправить ошибки? Закомментировала все эти GetNameOP. Вроде ушли ошибки. Но будет ли без них функция работать хорошо?
Эта функция возвращает номер бара открытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами:
sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - NULL означает текущий рыночный инструмент.
tf - Таймфрейм. Значение по умолчанию - 0 означает текущий таймфрейм.
op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию.
mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает номер бара открытия последней позиции или -1. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| tf - таймфрейм ( 0 - текущий таймфрейм) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+intNumberOfBarOpenLastPos(stringsy="0", inttf=0, intop=-1, intmn=-1){datetimet;
inti, k=OrdersTotal();
if(sy=="" || sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol()==sy){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(op<0 || OrderType()==op){if(mn<0 || OrderMagicNumber()==mn){if(t<OrderOpenTime())t=OrderOpenTime();
}}}}}}return(iBarShift(sy, tf, t, True));
}
ЗЫ. Во вложении скрипт для тестирования функции NumberOfBarOpenLastPos().
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Функция NumberOfBarCloseLastPos().
Эта функция возвращает номер бара закрытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами:
- sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - NULL означает текущий рыночный инструмент.
- tf - Таймфрейм. Значение по умолчанию - 0 означает текущий таймфрейм.
- op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию.
- mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.
ЗЫ. Во вложении скрипт для тестирования функции NumberOfBarCloseLastPos().Функция DeleteOrders(). Версия для тестера.
Функция DeleteOrders() предназначена для удаления отложенных ордеров BuyLimit, BuyStop, SellLimit и SellStop. op - Тип торговой операции, тип отложенного ордера. Возможны одно из пяти значений: -1, OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT или OP_SELLSTOP. Значение по умолчанию -1 - означает любой ордер.
mn - MagicNumber, идентификационный номер отложенного ордера. Значение по умолчанию -1 - означает любой магик.
Здравствуйте. На 10 страничке эта функция выставлена для применения.
Применила в своем эксперте для удаления отложек. Вернее хотела применить. Расположила функцию вне раздела int start
И вставила
Но при компиллировании выходит ошибка
'clDelete' - variable not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1155, 40)
Как мне ошибку устранить? что это такое - clDelete
А когда я применяю функцию ClosePositions() -Закрытие позиций по рыночной цене, то всё нормально - без всяких ошиб0к!
/ даже просто если вставить функцию DeleteOrders и пока не применять - всё равно ошибка эта компиллируется!
Но при компиллировании выходит ошибка
'clDelete' - variable not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1155, 40)
Как мне ошибку устранить? что это такое - clDelete
Там же, на 10 странице во вложении есть файл test_DeleteOrders.mq4
Скачайте его и поищите в нём все упоминания clDelete.
Скачала, посмотрела! Так что? Выходит всего то и надо было просто задать цвет значка закрытия!
Но теперь опять не всё в порядке. Теперь той ошибки уже нет. НО появилась другая - уже на фунцкии ClosePositions(), ошибка - которой ранее не было.
'ClosePosBySelect' - function is not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (905, 47)
И скрипта там рядом (стр. 14) нет, чтобы посмотреть
Скажите, как устранить ошибку?
'ClosePosBySelect' - function is not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (905, 47)
Эта ошибка означает, что не определена функция ClosePosBySelect().
Скажите, как устранить ошибку?
Извините, что ещё раз побеспокою! Поставила рядышком с ClosePositions(), указанную вами функцию ClosePosBySelect() и после компеллирования появились уже шесть ошибок! Ну прям зла не хватает!
С четырмя я справилась сама. Проскальзывание, цвет, число попыток закрытия....Остались две ошибки, -
звуковые файлы -
'UseSound' - variable not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1002, 13)
'NameFileSound' - variable not defined C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1002, 33)
Откуда их брать? Куда ставить?
Ну extern bool UseSound = false;//Выключатель
я поставлю в СВОЙСТВА ЭКСПЕРТА, а NameFileSound' - это что? и где брать?
**************************************************************************
Нашла и поставила в глобальные
И тут ещё вместо одной ошибки компилятор вывалил 4 штуки:
'GetNameOP' - function is not defined
'ErrorDescription' - function is not defined
'else' - unexpected token
'GetNameOP' - function is not defined
Похоже так и будут эти ошибки бесконечно вылезать. Чтобы использовать одну функцию ClosePositions(), пришлось сначала поставить другую - ClosePosBySelect(). А другая в свою очередь требует каких то звуков - бубенчиков. А когда я нахожу с большим трудом эти совершенно ненужные мне звуки-бубенчики, то вылезает совсем уж непонятная ошиба -'else' - unexpected token и др. ошибки. А я ещё даже не начала использовать эту функцию. Только лишь поставила в числе прочих.!
Подскажите, как мне исправить ошибки? Закомментировала все эти GetNameOP. Вроде ушли ошибки. Но будет ли без них функция работать хорошо?
И тут ещё вместо одной ошибки компилятор вывалил 4 штуки:
'GetNameOP' - function is not defined
На первой странице во вложении testrSetOrder.mq4
ErrorDescription' - function is not defined
В коде своего эксперта вставьте строку
#include <stdlib.mqh>
'else' - unexpected token
Функция NumberOfBarOpenLastPos().
Эта функция возвращает номер бара открытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами:
- sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - NULL означает текущий рыночный инструмент.
- tf - Таймфрейм. Значение по умолчанию - 0 означает текущий таймфрейм.
- op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию.
- mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.
ЗЫ. Во вложении скрипт для тестирования функции NumberOfBarOpenLastPos().