Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 47
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если добавить к каждой строке комментарии, то интереснее будет:
input bool MetaQuotes2 = true; // Описание входного параметра 2
input double MetaQuotes3 = 20.3; // Описание входного параметра 3
input string MetaQuotes4 = "Corp"; // Описание входного параметра 4
а если сделаете ещё перечисление, и будете его использовать вместо bool, то ещё интереснее будет:
{
enYes = 1, // Да
enNo = 0, // Нет
};
input int MetaQuotes1 = 30; // Описание входного параметра 1
input enumYN MetaQuotes2 = enYes; // Описание входного параметра 2
input double MetaQuotes3 = 20.3; // Описание входного параметра 3
input string MetaQuotes4 = "Corp"; // Описание входного параметра 4
а sinput позволяет исключить переменную из списка переменных для оптимизации. Например, переменная MetaQuotes4 в данном контексте не нужна для оптимизации, и её можно исключить:
{
enYes = 1, // Да
enNo = 0, // Нет
};
input int MetaQuotes1 = 30; // Описание входного параметра 1
input enumYN MetaQuotes2 = enYes; // Описание входного параметра 2
input double MetaQuotes3 = 20.3; // Описание входного параметра 3
sinput string MetaQuotes4 = "Corp"; // Описание входного параметра 4
С этим всё в порядке, требовалось добавить только текст, что бы было понятно при оптимизации от и до какого параметра и шаг.
С этим всё в порядке, требовалось добавить только текст, что бы было понятно при оптимизации от и до какого параметра и шаг.
для чего так пишут, что присваивают? int tik=OrderSend
Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
соответственно дальше от значения этой переменной будет зависит дальнейшие действия. Например
price=NormalizePrice(_Symbol,ask+Distance*_Point);
t=OrderSend(_Symbol,OP_BUYSTOP,volume,price,Slippage,0,0,CommentOrder,Magic,0,clrBlue);
if(t<0)
{
error=GetLastError();
rezult=StringConcatenate(_Symbol,": error open order ",DoubleToString(volume,2)," ",TypeToStr(type)," №- ",error," ",ErrorDescription(error));
Print(rezult);
}
else
{
tiket=t;
rezult=StringConcatenate(_Symbol,": open order ",t," ",DoubleToString(volume,2)," ",TypeToStr(type));
Print(rezult);
SendNotification(rezult);
}
....
а sinput позволяет исключить переменную из списка переменных для оптимизации. Например, переменная MetaQuotes4 в данном контексте не нужна для оптимизации, и её можно исключить:
sinput string MetaQuotes4 = "Corp"; // Описание входного параметра 4
Неудачный пример, строчные параметры и так в оптимизации никак не будут участвовать.
Я не подбирал по удачности/не удачности. Просто показал на примере конкретного вышенаписанного кода. Пример был понятен. Этого и добивался.
Совершенно верно можно и так
Совершенно верно можно и так
Есть такая конструкция.
double iLowest(string symbol, ENUM_TIMEFRAMES timeframe, int ne)
Вопрос: какой тип имеет ENUM_TIMEFRAMES , на int ругается
Есть такая конструкция.
double iLowest(string symbol, ENUM_TIMEFRAMES timeframe, int ne)
Вопрос: какой тип имеет ENUM_TIMEFRAMES , на int ругается