Форум трейдеров » Торговые роботы, советники, индикаторы » Скрипт для закрытия всех открытых позиций и отложенных ордеров
+ Подписаться
Страница 8 из 11 ПерваяПервая ... 678910 ... ПоследняяПоследняя
  1. 8,491
    Комментарии
    45
    Темы
    15152
    Репутация Pro
    Аватар для avtomat  
    Старожил

    7 Медалей
    Можно выставлять запрет через глобальные переменные.
  2. 2,012
    Комментарии
    25
    Темы
    1908
    Репутация Pro
    Аватар для west100  
    Мастер форумных наук

    6 Медалей
    Цитата Сообщение от avtomat Посмотреть сообщение
    Можно выставлять запрет через глобальные переменные.
    Да, я об этом думал. Но всё равно придётся корректировать основной советник, чтобы он эти переменные считывал. Так что нет большого смысла.

    А вот терминал закрыть по окончании можно. Есть ньюанс маленький - советник Кима просто даёт команду на закрытие позиций - а закрылось или нет - его не колышит.
    Сейчас этот советник просто пытается всё закрыть в период от заданного времени и до конца часа, имеено поэтому Игорь и не делал проверку на закрытие, так как сами собой получались множественные попытки.

    Короче.... вот добавка к советнику - терминал закрывается после закрытия всех поз и ордеров.
    Вложения Вложения
  3. 7
    Комментарии
    0
    Темы
    7
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от west100 Посмотреть сообщение
    Да, я об этом думал. Но всё равно придётся корректировать основной советник, чтобы он эти переменные считывал. Так что нет большого смысла.

    А вот терминал закрыть по окончании можно. Есть ньюанс маленький - советник Кима просто даёт команду на закрытие позиций - а закрылось или нет - его не колышит.
    Сейчас этот советник просто пытается всё закрыть в период от заданного времени и до конца часа, имеено поэтому Игорь и не делал проверку на закрытие, так как сами собой получались множественные попытки.

    Короче.... вот добавка к советнику - терминал закрывается после закрытия всех поз и ордеров.
    советник e-CloseAllOnTime+Quit.ZIP по закрытию и удалению всех сделок запрашивает ручного подтверждения: разрешить вызов функции GetParent из user32.dll и еще разрешить вызов функции PostMessageA из user32.dll. Можно ли сделать это без подтверждения, потому как пока я подтверждаю второй советник уже выставляет ордера. А так вроде все получается!
  4. 2,012
    Комментарии
    25
    Темы
    1908
    Репутация Pro
    Аватар для west100  
    Мастер форумных наук

    6 Медалей
    Конечно же, можно и нужно сделать вызов функций без подтверждения. Для этого в свойствах эксперта надо поставить галочку "Разрешить импорт функций из DLL" и снять галочку "Ручное подтверждение вызовов":
  5. 7
    Комментарии
    0
    Темы
    7
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от west100 Посмотреть сообщение
    Конечно же, можно и нужно сделать вызов функций без подтверждения. Для этого в свойствах эксперта надо поставить галочку "Разрешить импорт функций из DLL" и снять галочку "Ручное подтверждение вызовов":
    Спасибо большое! Все работает, терминал закрывается до того как второй выставит ордера повторно. Единственное, потом при повторном запуске нужно успеть выключить советников, а то закрывается терминал сразу при включении.:thumbsup_002:
  6. 1,156
    Комментарии
    4
    Темы
    1189
    Репутация Pro
    Аватар для zerkmax  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от beric85 Посмотреть сообщение
    Спасибо большое! Все работает, терминал закрывается до того как второй выставит ордера повторно. Единственное, потом при повторном запуске нужно успеть выключить советников, а то закрывается терминал сразу при включении.:thumbsup_002:

    При начале работы советника объявляй глобальную переменную - время начала работы.
    а потом сравнивай текущее время, и если превысит определенный порог, то закрывай.
    Типа:
    устанавливаем переменную
    Код:
    if GlobalVariableGet(TimeOpen)==0 
     {
     GlobalVariableSet(TimeOpen, TimeCurrent())
     }
    если прошла минута с установки (60 это секунд, можно подставить любое), то закрываем или что там еще
    Код:
    if GlobalVariableGet(TimeOpen)+60<TimeCurrent()
     {
     GlobalVariableDel(TimeOpen);
     и тама дальше твои действия по закрытию
     }
    Зы. Вест, извени, что влез в твою ветку.
  7. 2,012
    Комментарии
    25
    Темы
    1908
    Репутация Pro
    Аватар для west100  
    Мастер форумных наук

    6 Медалей
    Цитата Сообщение от beric85 Посмотреть сообщение
    Спасибо большое! Все работает, терминал закрывается до того как второй выставит ордера повторно. Единственное, потом при повторном запуске нужно успеть выключить советников, а то закрывается терминал сразу при включении.:thumbsup_002:
    А вот не надо его запускать :D с началом следующего часа всё нормализуется. При желании можно легко это исправить, если в условии
    if (Hour()==CloseHour && Minute()>=CloseMinute) {
    >= заменить на ==
    if (Hour()==CloseHour && Minute()==CloseMinute) {
    Предлагаю эту процедуру проделать самостоятельно в Метаэдиторе и откомпилировать, ничего сверхсложного в этом нет.

    Тогда советник будет чётко закрывать только когда пришло нужное время, и ни минутой позднее. Но ежели какая-нибудь реквота и закрытие не произошло, то со следующей минуты уже всё - закрытий не будет. Для большинства случаев это подойдёт, при небольшом количестве ордеров, а главное при нормальном исполнении ничего плохого не заметите. А вот для "ненормального" придётся внедрять более интеллектуальное закрытие. Да.... от советника Игоря мало что останется после этого.
  8. 2,012
    Комментарии
    25
    Темы
    1908
    Репутация Pro
    Аватар для west100  
    Мастер форумных наук

    6 Медалей
    Цитата Сообщение от zerkmax Посмотреть сообщение
    Зы. Вест, извени, что влез в твою ветку.
    Макс, на то она и ветка, чтобы влазить ))))

    Ты лучше скажи, как идёт подготовка к ЧМ2012? ;)
  9. 1,156
    Комментарии
    4
    Темы
    1189
    Репутация Pro
    Аватар для zerkmax  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от west100 Посмотреть сообщение
    Макс, на то она и ветка, чтобы влазить ))))

    Ты лучше скажи, как идёт подготовка к ЧМ2012? ;)
    уже зарегистрировался.
    осталось придумать и что-нить написать
  10. 3
    Комментарии
    0
    Темы
    3
    Репутация Pro
     
    Новичок

    1 Медалей
    west_CloseOn2Prices закрывает отложку или удаляет?
    Как я понял удаление - это без убытка, а закрытие - с убытком?

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

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