Остановка автоторговли.

Здравствуйте трейдеры и программеры, ни как не могу найти советника для отключения автоторговли в мт4, на указанный период, может есть у кого?
Andrey Chalaev:
Здравствуйте трейдеры и программеры, ни как не могу найти советника для отключения автоторговли в мт4, на указанный период, может есть у кого?
Посмотрите здесь

Спасибо, но мне надо установить время когда будет отключатся и включатся.

Andrey Chalaev:

Спасибо, но мне надо установить время когда будет отключатся и включатся.

Вот здесь выкладывал скрипт с заданием времени. Сделайте из него советник и поместите на соседний график.
Вот, попробуйте. Удалите отладочные алерты
//+------------------------------------------------------------------+
//| Выключение авто-торговли по времени                 АвтоСтоп.mq4 |
//|                                                                  |
//+------------------------------------------------------------------+
#property strict
#include <WinUser32.mqh>

#define PAUSE      10
#define VK_CONTROL 0x11 //CTRL key
#define KEY_CODE   'E'

enum Минуты  // 60 значений минуты
{ М00,М01,М02,М03,М04,М05,М06,М07,М08,М09,М10,М11,М12,М13,М14,
  М15,М16,М17,М18,М19,М20,М21,М22,М23,М24,М25,М26,М27,М28,М29,
  М30,М31,М32,М33,М34,М35,М36,М37,М38,М39,М40,М41,М42,М43,М44,
  М45,М46,М47,М48,М49,М50,М51,М52,М53,М54,М55,М56,М57,М58,М59};

enum Часы    // 24 значения часов
{ Ч00,Ч01,Ч02,Ч03,Ч04,Ч05,Ч06,Ч07,Ч08,Ч09,Ч10,Ч11,
  Ч12,Ч13,Ч14,Ч15,Ч16,Ч17,Ч18,Ч19,Ч20,Ч21,Ч22,Ч23,};

extern Часы ЧасНачала=8;
extern Минуты МинутаНачала=0;
extern Часы ЧасКонца=21;
extern Минуты МинутаКонца=0;

int      ЧасСейчас, МинутаСейчас;
datetime Время;
string   Время1, Время2, Время3;

//+------------------------------------------------------------------+
//| При инициализции задается                                        |
//+------------------------------------------------------------------+
void OnInit()
{
  Alert("---------------Запуск ------------------");  
  OnTick();   // Это для проверки в выходные, потом удалить
}


//+------------------------------------------------------------------+
//| Каждый тик                                                       |
//+------------------------------------------------------------------+
void OnTick()
{
  Время=TimeLocal();
  ЧасСейчас=TimeHour(Время);
  МинутаСейчас=TimeMinute(Время);

  ObjectCreate("Итог", OBJ_LABEL, 0, 0, 0);   // Создание
  ObjectSet("Итог", OBJPROP_CORNER, 1);       // Правый верхний угол
  ObjectSet("Итог", OBJPROP_XDISTANCE, 10);   //X   
  ObjectSet("Итог", OBJPROP_YDISTANCE, 30);   //Y

  // Вывод в метку
  Время1=string(ЧасНачала)+":";
  if(ЧасНачала<10)Время1="0"+Время1;
  if(МинутаНачала<10)Время1+="0";
  Время1+=string(МинутаНачала);

  Время2=string(ЧасКонца)+":";
  if(ЧасКонца<10)Время2="0"+Время2;
  if(МинутаКонца<10)Время2+="0";
  Время2+=string(МинутаКонца);

  Время3=string(ЧасСейчас)+":";
  if(ЧасСейчас<10)Время3="0"+Время1;
  if(МинутаСейчас<10)Время3+="0";
  Время3+=string(МинутаСейчас);

  ObjectSetText("Итог", Время1 + "  " + Время2+ "  " + Время3,
    8,"Arial",Yellow);   // Размер, наименование и цвет шрифта

  // для начала только часы и ЧасКонца > времени ЧасНачала
  if((ЧасСейчас>=ЧасНачала) && (ЧасСейчас<=ЧасКонца))
  {
    // Проверяем и Включаем
    Alert("Надо работать");
    if(!IsExpertEnabled() || !IsTradeAllowed()) // Запрещено
    {
      Alert("Включаю ++++");
      keybd_event(VK_CONTROL,0,0,0);
      Sleep(PAUSE);
      keybd_event(KEY_CODE,0,0,0);
      Sleep(PAUSE);
      keybd_event(KEY_CODE,0,2,0);
      Sleep(PAUSE);
      keybd_event(VK_CONTROL,0,2,0);
    }   
  }
  else
  {
    // Проверяем и ОТключаем
    Alert("Надо спать");
    if(IsExpertEnabled() && IsTradeAllowed()) // РАЗрещено
    {
      Alert("Стоп -----------");
      keybd_event(VK_CONTROL,0,0,0);
      Sleep(PAUSE);
      keybd_event(KEY_CODE,0,0,0);
      Sleep(PAUSE);
      keybd_event(KEY_CODE,0,2,0);
      Sleep(PAUSE);
      keybd_event(VK_CONTROL,0,2,0);
    }   
  }
}


//+------------------------------------------------------------------+
//| При Деинициализции удаляется информационная метка                |
//+------------------------------------------------------------------+
void OnDeinit(const int Зачем)
{
   ObjectDelete("Итог");
}

Я делаю авто-остановку авто-торговли за 2 часа до закрытия торгов следующим образом:

      int TRADE,HOUR,weekHOUR;
//-----------------------------------------------
      TRADE=1;//1-торгуем, 0-не торгуем ;)
      HOUR=TimeHour(TimeCurrent());
      weekHOUR=(TimeDayOfWeek(TimeCurrent())-1)*24+HOUR;
      if(weekHOUR>116)TRADE=0;
//добавить условие if(TRADE==1) перед всеми торговымим функциями OrderSend, OrderClose и др.
Renat Akhtyamov:  Я делаю авто-остановку авто-торговли за 2 часа до закрытия торгов следующим образом:

Приведенный выше вариант предназначен для внешнего управления одним или группой роботов при отсутствии их исходного кода

STARIJ:

Приведенный выше вариант предназначен для внешнего управления одним или группой роботов при отсутствии их исходного кода

В принципе я уже понял

присутсвие

#include <WinUser32.mqh>

сразу бросается в глаза

Renat Akhtyamov:

присутствие

#include <WinUser32.mqh>

сразу бросается в глаза

Поясните, пожалуйста

STARIJ:

Поясните, пожалуйста

крайне не перевариваю использование библиотек.

подождем конкретизации вопроса топик стартером

Renat Akhtyamov:

крайне не перевариваю использование библиотек.

подождем конкретизации вопроса топик стартером


А как вы хотите без WinAPI нажать кнопку на панели терминала?