Alexey Viktorov #: А чего до завтра-то ждать? Если лениво просматривать спецификации, погоняй скрипт по всем символам которые интересуют и найди совпадение валюты маржи и валюты прибыли. Я не все проверил перед тем как писать, но совпадений не обнаружил…
Вопрос по статической переменной var метода X::doJob(). Есть класс U, который создает объект типа Х, выполняет кое-какую работу и затем уничтожает его. И так периодически. Вопрос: когда удаляется переменная var?
нет, экземпляр класса может быть даже не создан, но для статик поля класса будет выделена память и произведена инициализация.... кстати, Ваш пример, по-моему, не должен компилироваться, инициализация статик поля должна быть вне описания
ли пока терминал не перегрузится? Грубо говоря, после чего она удаляется?
терминал тут вообще не причем, время жизни такое же как у глобально описанных переменных, или обычных статик переменных - память распределяется в момент загрузки MQL-программы, и освобождается при выгрузке MQL-программы
нет, экземпляр класса может быть даже не создан, но для статик поля класса будет выделена память и произведена инициализация.... кстати, Ваш пример, по-моему, не должен компилироваться, инициализация статик поля должна быть вне описания
терминал тут вообще не причем, время жизни такое же как у глобально описанных переменных, или обычных статик переменных - память распределяется в момент загрузки MQL-программы, и освобождается при выгрузке MQL-программы
То есть, если это все внутри советника, переменная сидит в памяти до тех пор пока не будет OnDeinit() советника?
У Валерия правильное направление мысли. Но я не понимаю зачем определять валюту, которую ищем в валютах ордеров, на каждой итерации цикла? И мне кажется проще не в строке искать, а взять валюту маржи и валюту прибыли. Посмотрите спецификацию по валютам… Я-бы сделал так
bool Search(string _sy)
{
int OT = OrdersTotal();
string curencyProfit = SymbolInfoString(_sy, SYMBOL_CURRENCY_PROFIT),
currencyMargin = SymbolInfoString(_sy, SYMBOL_CURRENCY_MARGIN);
for(int i = 0; i < OT; i++)
{
if(OrderSelect(i, SELECT_BY_POS))
{
bool res = StringFind(OrderSymbol(), curencyProfit) >= 0 ||
StringFind(OrderSymbol(), currencyMargin) >= 0;
if(res)
return(true);
}
}
return(false);
}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
А чего до завтра-то ждать? Если лениво просматривать спецификации, погоняй скрипт по всем символам которые интересуют и найди совпадение валюты маржи и валюты прибыли.
Я не все проверил перед тем как писать, но совпадений не обнаружил…
Сегодня немного занят
ну, смысл в быстродействии - взял код валюты, сделал поиск по готовому массиву, который обновляется при открытии сделки.
Все сложно забить в массив единоразово
Вопрос по статической переменной var метода X::doJob(). Есть класс U, который создает объект типа Х, выполняет кое-какую работу и затем уничтожает его. И так периодически. Вопрос: когда удаляется переменная var?
Она будет жить вечно.
Она будет жить вечно.
До тех пор пока объект U жив? Или пока терминал не перегрузится? Грубо говоря, после чего она удаляется?
До тех пор пока объект U жив?
нет, экземпляр класса может быть даже не создан, но для статик поля класса будет выделена память и произведена инициализация.... кстати, Ваш пример, по-моему, не должен компилироваться, инициализация статик поля должна быть вне описания
ли пока терминал не перегрузится? Грубо говоря, после чего она удаляется?
терминал тут вообще не причем, время жизни такое же как у глобально описанных переменных, или обычных статик переменных - память распределяется в момент загрузки MQL-программы, и освобождается при выгрузке MQL-программы
нет, экземпляр класса может быть даже не создан, но для статик поля класса будет выделена память и произведена инициализация.... кстати, Ваш пример, по-моему, не должен компилироваться, инициализация статик поля должна быть вне описания
Норм! вроде бы компилируется...
Igor Makanu #:
терминал тут вообще не причем, время жизни такое же как у глобально описанных переменных, или обычных статик переменных - память распределяется в момент загрузки MQL-программы, и освобождается при выгрузке MQL-программы
То есть, если это все внутри советника, переменная сидит в памяти до тех пор пока не будет OnDeinit() советника?
Норм! вроде бы компилируется...
То есть, если это все внутри советника, переменная сидит в памяти до тех пор пока не будет OnDeinit() советника?
Статические переменные уничтожаются после OnDeinit().
Статические переменные уничтожаются после OnDeinit().
Ок! Спасибо :)
Помогите с выбором брокера, где лучше торговать и с выводом чтоб проблем не было..спасибо
На этом ресурсе назвать брокера равно обсуждению. А барабашка не дремлет и грозит репрессиями. Так-что ищите сами…
У Валерия правильное направление мысли. Но я не понимаю зачем определять валюту, которую ищем в валютах ордеров, на каждой итерации цикла? И мне кажется проще не в строке искать, а взять валюту маржи и валюту прибыли. Посмотрите спецификацию по валютам… Я-бы сделал так
Проверил, работает правильно.
Спасибо!