Форум трейдеров » Торговые роботы, советники, индикаторы » Помогите, не могу закрыть ордер
+ Подписаться
  1. 2
    Комментарии
    1
    Темы
    2
    Репутация Pro
     
    Новичок

    2 Медалей

    Помогите, не могу закрыть ордер

    Обращаюсь к специалистам по программированию, т.к. сам еще новичок. Напишите плиз код для закрытия ордера на цене закрытия текущего бара или на цене открытия следующего.
    Недоступно! Pro 0
    Поделиться
    Просмотров: 7,120
  2. 1,401
    Комментарии
    13
    Темы
    1408
    Репутация Pro
    Аватар для Karakurt  
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от vadim2304 Посмотреть сообщение
    ...Напишите плиз код для закрытия ордера на цене закрытия текущего бара или на цене открытия следующего.
    Смотрите функции времени. Задаёте время закрытия-открытия в параметрах, в коде даёте интервал несколько минут и закрываете.

    Пример:
    if ( TimeHour( TimeCurrent() ) == ExtCloseHour &&
    TimeMinute( TimeCurrent() ) > ExtCloseMinute ) { // время закрытия
    ... код для закрытия ...


    Нюансы:
    1. Закрытие: если контракт малоликвидный и котировки не поступают, то тут даже руками из терминала закрыть нельзя - задолбают сообщением "Нет цены". Только через техподдержку.
    2. Открытие: на некоторых контрактах возможны резкие движения на открытии (в первые минуты), поэтому закрытие по рынку может дать сильное проскальзывание.
  3. 2
    Комментарии
    1
    Темы
    2
    Репутация Pro
     
    Новичок

    2 Медалей
    Спасибо, но что значит "... код для закрытия ..." в конце примера ,ведь именно код я не могу написать ((( А какие значения времени туда вставлять или все должно быть точно также????
  4. 1,401
    Комментарии
    13
    Темы
    1408
    Репутация Pro
    Аватар для Karakurt  
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от vadim2304 Посмотреть сообщение
    Спасибо, но что значит "... код для закрытия ..."
    В самом простом варианте вызов OrderClose(). Но вдруг у Вас ещё какие условия есть. Обработка ошибок опять же...

    Цитата Сообщение от vadim2304 Посмотреть сообщение
    ...А какие значения времени туда вставлять?...
    Какие захотите. Например, время закрытия дневной сессии для конкретного инструмента.

    Переменные ExtCloseHour и ExtCloseMinute (обозвать их можете по-другому) определяются в шапке программы как внешние.

    Пример: допустим, инструмент у Вас ZCхх (кукуруза). Закрытие дневной сессии по зерновым происходит в 20:15 (время терминала БроКо). Соответственно имеем:

    extern int ExtCloseHour = 20
    extern int ExtCloseMinute = 10


    Тогда в 20:10 условие, которое я написал в предыдущем посте, начинает выполняться. И выполняется оно до 20:15, т.е. до закрытия. 5-ти минут должно хватить для закрытия ордера. :)

    P.S. Судя по вопросам, Вы совсем слабо знаете программирование. Сходите на сайт метаквотов, почитайте форум, тексты программ посмотрите. Там много всего есть. Глядишь, через некоторое время и вопросов таких не возникнет. ;)

Вверх
РегистрацияX

чтобы писать, читать, комментировать