Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 669
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Странно, по-моему разработчики что-то перемудрили. Чем отличаются функции, кроме Имени?
Позволяет получить время начала и время окончания указанной котировочной сессии для указанных символа и дня недели.
и
Позволяет получить время начала и время окончания указанной торговой сессии для указанных символа и дня недели.
Возможно и перемудрили если не разобраться)
Есть инструменты, которые котируются в одно время, а вот торговать по ним можно только в определённое время, поэтому и есть две функции.
Ребята, осмелюсь спросить повторно, так как мой вопрос потерян среди сообщений
Есть вот такая конструкция, проходит по всем открытым графикам в терминале:
if(currChart == график тестера) continue; // Что сюда написать?
ObjectSetInteger(currChart,"Sync",OBJPROP_BGCOLOR,clrGreen);
}
Как выяснить, что график не основной, а открытый в режиме тестера и его пропустить?
Спасибо!
Здравствуйте коллеги! Подскажите пожалуйста вариант обработчика вот такой ошибки:
Спасибо.
Господа, как по быстрому узнать - на каком месте находится сигнал в рейтинге?
Это можно узнать только для своего сигнала - "Сигналы" -> "Мои сигналы" и в начале названия сигнала будут цифры - это и есть номер позиции в рейтинге витрины сигналов.
Господа, как по быстрому узнать - на каком месте находится сигнал в рейтинге?
Программно? Вот так
{
//--- запрашиваем общее количество сигналов в базе
int total=SignalBaseTotal();
//--- цикл по всем сигналам
for(int i=0;i<total;i++)
{
//--- выбираем сигнал для дальнейшей работы
if(SignalBaseSelect(i))
{
//--- получение свойств сигнала
long id =SignalBaseGetInteger(SIGNAL_BASE_ID); // id сигнала
long pips =SignalBaseGetInteger(SIGNAL_BASE_PIPS); // результат торговли в пипсах
long subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков
string name =SignalBaseGetString(SIGNAL_BASE_NAME); // имя сигнала
double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE); // цена подписки на сигнал
string curr =SignalBaseGetString(SIGNAL_BASE_CURRENCY); // валюта сигнала
long rating=SignalBaseGetInteger(SIGNAL_BASE_RATING); // рейтинг и есть
//--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков
if(price==0.0 && pips>0 && subscr>0)
PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr);
}
else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError());
}
}
Программно? Вот так
{
//--- запрашиваем общее количество сигналов в базе
int total=SignalBaseTotal();
//--- цикл по всем сигналам
for(int i=0;i<total;i++)
{
//--- выбираем сигнал для дальнейшей работы
if(SignalBaseSelect(i))
{
//--- получение свойств сигнала
long id =SignalBaseGetInteger(SIGNAL_BASE_ID); // id сигнала
long pips =SignalBaseGetInteger(SIGNAL_BASE_PIPS); // результат торговли в пипсах
long subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков
string name =SignalBaseGetString(SIGNAL_BASE_NAME); // имя сигнала
double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE); // цена подписки на сигнал
string curr =SignalBaseGetString(SIGNAL_BASE_CURRENCY); // валюта сигнала
long rating=SignalBaseGetInteger(SIGNAL_BASE_RATING); // рейтинг и есть
//--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков
if(price==0.0 && pips>0 && subscr>0)
PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr);
}
else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError());
}
}
Ребята, осмелюсь спросить повторно, так как мой вопрос потерян среди сообщений
Есть вот такая конструкция, проходит по всем открытым графикам в терминале:
if(currChart == график тестера) continue; // Что сюда написать?
ObjectSetInteger(currChart,"Sync",OBJPROP_BGCOLOR,clrGreen);
}
Как выяснить, что график не основной, а открытый в режиме тестера и его пропустить?
Спасибо!
Что-то явно в свойствах нет. А если в режиме тестера что-то создавать на графике, например кнопку с хитрым именем и потом проверять ее наличие?