возможно просто не считался текст json из файла..например файл ненашёлся :-)
чтобы избегать таких ошибок и не тратить своё время попусту на их поиск - не доверяйте ничему. Всё что можно проверить, должно быть проверено.
И кстати документацию нелишне читать :-) результат prsr.parse(json) авторы библиотеки в примерах проверяют всегда, можно было просто скопипастить и развить пример, тогда правда этой многодневной ветки форума не возникло.
Чтобы избегать таких ошибок и не тратить своё время попусту на их поиск - не доверяйте ничему. Всё что можно проверить, должно быть проверено. И кстати документацию нелишне читать :-) результат prsr.parse(json) авторы библиотеки в примерах проверяют всегда, можно было просто скопипастить и развить пример, тогда правда этой многодневной ветки форума не возникло.
Да читаю я доки. Всегда читаю. И не лезу на форум пока не повожусь сам денёк-другой. Просто часто как оно происходит: 1) есть либа 2)скачал подключил и используешь. Я согласен, что нельзя ничему доверять и что в этом случае, конечно, если бы я просто скопипастил, то ошибку найти было бы гораздо проще. Но не всегда же ведь мы берем и вот так все по фен-шую с первого раза реализуем. Вот и тут не обошлось без подобного процесса мучения-обучения. :)
Maxim Kuznetsov:
Возможно просто не считался текст json из файла..например файл ненашёлся :-)
Вы правы. Я до этого не писал индикаторы которые что-то читают из файла, обычно у меня они что-то писали в файл. И когда они писали в файл, я даже особо не задумывался, а почему это при тестинге они пишут не в /MQL4/Files а в /tester/files? :))) Хотя это так очевидно... В общем я скопировал свой json в /tester/files и все заработало.
P.S: Всем огромное спасибо за быструю и эффективную помощь.
Покажите мне, где в C++ указатель автоматически обнуляется после операции delete.
По семантике delete указатель является rvalue, но никак не lvalue
В unique_ptr. Уже так привык к ним, что перенес их функционал и на обычный delete. Сейчас проверил - обычный delete, действительно, не приводит значение указателя в NULL.
Проблема возникла с таким вот условным кодом, который был без изменений вставлен в советник и индикатор:
class IntClass
{
int iValue;
public:
IntClass(int value)
{
iValue = value;
};
};
IntClass *g_pInt = NULL;
intOnInit()
{
if (!g_pInt)
{
g_pInt = new IntClass(5);
Print(__FUNCTION__, ", создание экземпляра класса.");
}
elsePrint(__FUNCTION__, " экземпляр класса уже создан.");
return(INIT_SUCCEEDED);
}
voidOnDeinit(constint reason)
{
delete g_pInt;
}
В этих двух случаях код отрабатывал по-разному при переключении таймфрейма:
011:45:04.611 Expert Test_Expert EURUSD,M1: loaded successfully
011:45:05.379 Test_Expert EURUSD,M1: OnInit, создание экземпляра класса.
011:45:05.379 Test_Expert EURUSD,M1: initialized
011:45:12.357 Custom indicator Test EURUSD,M1: loaded successfully
011:45:12.922 Test EURUSD,M1: OnInit, создание экземпляра класса.
011:45:12.922 Test EURUSD,M1: initialized
011:45:17.208 Test_Expert EURUSD,M1: uninit reason 3011:45:17.208 Test EURUSD,M1: uninit reason 3011:45:17.893 Test EURUSD,M5: OnInit, создание экземпляра класса.
011:45:17.893 Test EURUSD,M5: initialized
011:45:18.149 Test_Expert EURUSD,M5: OnInit экземпляр класса уже создан.
011:45:18.149 Test_Expert EURUSD,M5: initialized
Поначалу списал это на delete, но теперь понимаю, что проблема в другом: индикаторы и советники работают с глобальными переменными по-разному (да, уже давно так, но помнить постоянно об этом трудно). Так, эксперт "помнит" значения своих глобальных переменных при переключении ТФ, а индикатор - нет. Отсюда и возник изначальный пост.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
возможно просто не считался текст json из файла..например файл ненашёлся :-)
чтобы избегать таких ошибок и не тратить своё время попусту на их поиск - не доверяйте ничему. Всё что можно проверить, должно быть проверено.
И кстати документацию нелишне читать :-) результат prsr.parse(json) авторы библиотеки в примерах проверяют всегда, можно было просто скопипастить и развить пример, тогда правда этой многодневной ветки форума не возникло.
Чтобы избегать таких ошибок и не тратить своё время попусту на их поиск - не доверяйте ничему. Всё что можно проверить, должно быть проверено.
И кстати документацию нелишне читать :-) результат prsr.parse(json) авторы библиотеки в примерах проверяют всегда, можно было просто скопипастить и развить пример, тогда правда этой многодневной ветки форума не возникло.
Возможно просто не считался текст json из файла..например файл ненашёлся :-)
P.S: Всем огромное спасибо за быструю и эффективную помощь.
Покажите мне, где в C++ указатель автоматически обнуляется после операции delete.
По семантике delete указатель является rvalue, но никак не lvalue
В unique_ptr. Уже так привык к ним, что перенес их функционал и на обычный delete. Сейчас проверил - обычный delete, действительно, не приводит значение указателя в NULL.
Проблема возникла с таким вот условным кодом, который был без изменений вставлен в советник и индикатор:
В этих двух случаях код отрабатывал по-разному при переключении таймфрейма:
Поначалу списал это на delete, но теперь понимаю, что проблема в другом: индикаторы и советники работают с глобальными переменными по-разному (да, уже давно так, но помнить постоянно об этом трудно). Так, эксперт "помнит" значения своих глобальных переменных при переключении ТФ, а индикатор - нет. Отсюда и возник изначальный пост.