Как сделать закрытие ордеров в определенный день недели,каждый день,или закрытие ордеров отключено

 
Всем доброго времени суток! Подскажите,как сделать выбор дня недели (на русском) через  ENUM_DAY_OF_WEEK для закрытия всех ордеров? Точнее мне нужно чтоб в настройках выводились дни недели на русском,и я бы мог выбрать на пример пятница, а не Friday. И чтоб советник закрывал все ордера только в в выбранный мною день. Или если нужно,то чтоб закрывал каждый день в конце дня,или совсем не закрывал,то есть функция закрытия отключена. Сама функция закрытия ордеров уже есть. Совсем недавно начал изучать MQL4 и еще не знаю как реализовать вот такой выбор в советнике.Всем заранее спасибо!


 

вот начеркал... но думаю можно и проще, все сделать, эл-т перечисления это № по порядку, если не указано явное присваивание, для экспериментов вот код скрипта:

#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#property show_inputs
enum ENUM_DAY_OF_WEEK_RUS{Воскресение,Понедельник,Вторник,Среда,Четверг,Пятница,Суббота};
input ENUM_DAY_OF_WEEK_RUS dayRus   = Воскресение;
input ENUM_DAY_OF_WEEK     dayEn    = SUNDAY;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

  }
//+------------------------------------------------------------------+
ENUM_DAY_OF_WEEK DayOfWeekRusToDayOfWeek(ENUM_DAY_OF_WEEK_RUS element)
  {
   switch(element)
     {
      case Воскресение  : return(SUNDAY);
      case Понедельник  : return(MONDAY);
      case Вторник      : return(TUESDAY);
      case Среда        : return(WEDNESDAY);
      case Четверг      : return(THURSDAY);
      case Пятница      : return(FRIDAY);
      case Суббота      : return(SATURDAY);
     }
   return(0);
  }

но думаю Вы совсем другое ищите, https://www.mql5.com/ru/docs/basis/variables/inputvariables

Существует возможность задать иной способ отображения имен входных параметров на закладке "Inputs". Для этого используется строчный комментарий, который должен располагаться после описания входного параметра в той же строке. Таким образом, входным параметрам можно сопоставить более понятные для пользователя имена.

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Igor Makanu:

вот начеркал... но думаю можно и проще, все сделать, эл-т перечисления это № по порядку, если не указано явное присваивание, для экспериментов вот код скрипта:

но думаю Вы совсем другое ищите, https://www.mql5.com/ru/docs/basis/variables/inputvariables

Можно как-то так:

#property strict
#property script_show_inputs

enum ENUM_DAY_OF_WEEK_RUS
   {
   day0,//Воскресение
   day1,//Понедельник
   day2,//Вторник
   day3,//Среда
   day4,//Четверг
   day5,//Пятница
   day6//Суббота
   };

input ENUM_DAY_OF_WEEK_RUS dayRus   = 0;
input ENUM_DAY_OF_WEEK     dayEn    = 0;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

  }
//+------------------------------------------------------------------+
 
Aleksey Lebedev:

Можно как-то так:

это все ясно, я не помню как с enum работать, там можно сделать конвертацию без решения "влоб" как я пример привел ф-ции 

ENUM_DAY_OF_WEEK DayOfWeekRusToDayOfWeek(ENUM_DAY_OF_WEEK_RUS element)

 
Aleksey Lebedev
Aleksey Lebedev:

Можно как-то так:А вот у Вас там два input используется,для чего два?


 
Igor Makanu:

это все ясно, я не помню как с enum работать, там можно сделать конвертацию без решения "влоб" как я пример привел ф-ции 

ENUM_DAY_OF_WEEK DayOfWeekRusToDayOfWeek(ENUM_DAY_OF_WEEK_RUS element)

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

 
Monter10000:

Как это сделать?

для начала научиться читать справку и проверять те коды которые Вам предложили для экспериментов, за 15 минут Вы не смогли бы это успеть сделать

если речь идет "о как сделать" чужими руками, фриланс в помощь, появятся вопросы, показывайте пример, где Вы пытались найти решение, но не код который Вы правите не хотя обучаться

 
Aleksey Lebedev:

Можно как-то так:

Вставил Ваш код,не работает. Выдает no OnStart function defined in the script 0 0


 
Igor Makanu:

для начала научиться читать справку и проверять те коды которые Вам предложили для экспериментов, за 15 минут Вы не смогли бы это успеть сделать

если речь идет "о как сделать" чужими руками, фриланс в помощь, появятся вопросы, показывайте пример, где Вы пытались найти решение, но не код который Вы правите не хотя обучаться

Справку я читал до того как задать вопрос на форуме. Если вам больше нечего ответить,то спасибо вам за ответы! Именно в ваших советах больше не нуждаюсь! Удачи!

 

Monter10000:

Можно как-то так:А вот у Вас там два input используется,для чего два?

Во втором стандартный enum, в первом кастомный. Для сравнения, одного будет достаточно.

А мне еще нужно чтоб в этом же списке выдавались еще два дополнительных параметра "каждый день и совсем не закрывать". Как это сделать?

enum ENUM_DAY_OF_WEEK_RUS
   {
   day0,//Воскресение
   day1,//Понедельник
   day2,//Вторник
   day3,//Среда
   day4,//Четверг
   day5,//Пятница
   day6,//Суббота
   mod7,//Каждый день
   mod8//Совсем не закрывать
   };

input ENUM_DAY_OF_WEEK_RUS dayRus   = 0;
 
Aleksey Lebedev:

Во втором стандартный enum, в первом кастомный. Для сравнения, одного будет достаточно.

Спасибо Вам большое за пояснение! А то я сначала пытался сам разобраться по справке,но пока моих знаний не хватило,пробовал по разному,но только ошибки выдавало. Сейчас попробую как Вы написали. Еще раз спасибо!